// ============ Patterns =============
public Object visit(ASTClassPattern node, Object data) {
ClassInfo classInfo = (ClassInfo) data;
TypePattern typePattern = node.getTypePattern();
if (typePattern.matchType(classInfo)
&& visitAttributes(node, classInfo)
&& visitModifiers(node, classInfo)) {
return Boolean.TRUE;
} else {
return Boolean.FALSE;