package org.checkerframework.checker.compilermsgs;
import org.checkerframework.checker.compilermsgs.qual.CompilerMessageKey;
import org.checkerframework.checker.propkey.PropertyKeyAnnotatedTypeFactory;
import org.checkerframework.common.basetype.BaseTypeChecker;
import org.checkerframework.framework.type.treeannotator.ListTreeAnnotator;
import org.checkerframework.framework.type.treeannotator.TreeAnnotator;
/**
* A PropertyKeyATF that uses CompilerMessageKey to annotate the keys.
*
* @author wmdietl
*/
public class CompilerMessagesAnnotatedTypeFactory extends PropertyKeyAnnotatedTypeFactory {
public CompilerMessagesAnnotatedTypeFactory(BaseTypeChecker checker) {
super(checker);
}
@Override
public TreeAnnotator createTreeAnnotator() {
return new ListTreeAnnotator(
super.createBasicTreeAnnotator(),
new KeyLookupTreeAnnotator(this, CompilerMessageKey.class));
}
}