import Type /** Classes to deal with the most common types of generated files. */ /** antlr-generated scanner or parser class */ class AntlrGenerated extends Class { AntlrGenerated() { exists(RefType t | this.getASupertype+() = t and (t.hasQualifiedName("antlr","TreeParser") or t.hasQualifiedName("antlr","CharScanner") or t.hasQualifiedName("antlr","LLkParser"))) } } /** any generated class */ class GeneratedClass extends Class { GeneratedClass() { this instanceof AntlrGenerated } } /** a generated callable */ class GeneratedCallable extends Callable { GeneratedCallable() { this.getDeclaringType() instanceof GeneratedClass } }