public ArrayList<Symbol> parseVariable(VariableImpl variable) { ArrayList<Symbol> symbols = new ArrayList<>(); AbstractParseTreeVisitor parseTreeVisitor = new ObjectiveCParserBaseVisitor() { @Override public Object visitSpecifierQualifierList(ObjectiveCParser.SpecifierQualifierListContext ctx) { ClassImpl type = new ClassImpl(ctx.getText(), variable); variable.setType(type); return super.visitSpecifierQualifierList(ctx); } }; parseTreeVisitor.visit(variable.getRuleContext()); return symbols; }
@Override public ArrayList<Symbol> parseVariable(VariableImpl variable) { ArrayList<Symbol> symbols = new ArrayList<>(); AbstractParseTreeVisitor parseTreeVisitor = new Java8BaseVisitor() { /** * variable name */ @Override public Object visitVariableDeclaratorId(Java8Parser.VariableDeclaratorIdContext ctx) { return super.visitVariableDeclaratorId(ctx); } }; parseTreeVisitor.visit(variable.getRuleContext()); return symbols; }
@Override public ArrayList<Symbol> parseEnumerator(EnumeratorImpl enumerator) { ArrayList<Symbol> symbols = new ArrayList<>(); AbstractParseTreeVisitor parseTreeVisitor = new Java8BaseVisitor() { /** * enums */ @Override public Object visitEnumConstant(Java8Parser.EnumConstantContext ctx) { return super.visitEnumConstant(ctx); } }; parseTreeVisitor.visit(enumerator.getRuleContext()); return symbols; }
@Override public ArrayList<Symbol> parseEnumerator(EnumeratorImpl enumerator) { ArrayList<Symbol> symbols = new ArrayList<>(); AbstractParseTreeVisitor parseTreeVisitor = new ObjectiveCParserBaseVisitor() { @Override public Object visitEnumerator(ObjectiveCParser.EnumeratorContext ctx) { String itemName = ctx.enumeratorIdentifier().getText(); VariableImpl variable = new VariableImpl(itemName, enumerator); enumerator.getValues().add(variable); return super.visitEnumerator(ctx); } }; parseTreeVisitor.visit(enumerator.getRuleContext()); return symbols; }
public ArrayList<Symbol> parseInterface(InterfaceImpl anInterface) { ArrayList<Symbol> symbols = new ArrayList<>(); AbstractParseTreeVisitor parseTreeVisitor = new ObjectiveCParserBaseVisitor() { /** * super class */ @Override public Object visitProtocolName(ObjectiveCParser.ProtocolNameContext ctx) { String protocol = ctx.getText(); InterfaceImpl i = new InterfaceImpl(protocol, anInterface); anInterface.getExtendInterfaces().add(i); return super.visitProtocolName(ctx); } /** * methods */ @Override public Object visitMethodDeclaration(ObjectiveCParser.MethodDeclarationContext ctx) { String methodName = ctx.methodSelector().getText(); FunctionImpl f = new FunctionImpl(methodName, anInterface); anInterface.getiFunctions().add(f); return super.visitMethodDeclaration(ctx); } }; parseTreeVisitor.visit(anInterface.getRuleContext()); return symbols; }
parseTreeVisitor.visit(anInterface.getRuleContext());
parseTreeVisitor.visit(clazz.getRuleContext()); symbols.addAll(functions); symbols.addAll(variables);
parseTreeVisitor.visit(clazz.getRuleContext()); symbols.addAll(functions); symbols.addAll(variables);
@Override public String visitFileNode(FileNode node) { String path = node.getPath(); if (language.fileExtensions.contains(node.getExtension())) { ParseTree parseTree = ObjcG4Util.getParseTree(path); assert parseTree != null; fileVisitor.visit(parseTree); } return super.visitFileNode(node); }
parseTreeVisitor.visit(parseTree);
parseTreeVisitor.visit(parseTree);
private void visit(String simpleClass) { ParseTree tree = getParseTree(simpleClass); AbstractParseTreeVisitor visitor = new TestJava8BaseVisitor(); visitor.visit(tree); }