List of usage examples for org.antlr.v4.runtime.tree ErrorNode getParent
@Override ParseTree getParent();
From source file:com.twosigma.beaker.groovy.autocomplete.GroovyNodeCompletion.java
License:Apache License
@Override public void visitErrorNode(ErrorNode arg0) { if (arg0.getSymbol().getStartIndex() < cursor && arg0.getSymbol().getStopIndex() + 1 >= cursor) { //System.out.println("ERR: "+arg0.getSymbol().getStartIndex()+" "+arg0.getSymbol().getStopIndex()+" "+arg0.getSymbol().getText()); ParseTree cuc = arg0.getParent(); if (cuc.getChild(0).equals(arg0)) { AutocompleteCandidate c = new AutocompleteCandidate(GroovyCompletionTypes.INITIAL, arg0.getText()); addQuery(c);/* w w w . j ava2 s . co m*/ } else { AutocompleteCandidate c = new AutocompleteCandidate(GroovyCompletionTypes.TOPLEVEL, arg0.getText()); addQuery(c); } if (cuc instanceof StatementContext && ((StatementContext) cuc).getStop().getStopIndex() + 1 == cursor) { if (cuc.getText().contains(".")) { addQuery(classUtils.expandExpression(cuc.getText(), registry, classUtils.DO_ALL)); // complete with standard groovy extension functions AutocompleteCandidate c = new AutocompleteCandidate(GroovyCompletionTypes.STDFUNCS, cuc.getText().substring(cuc.getText().lastIndexOf(".") + 1)); addQuery(c); } else { AutocompleteCandidate c = new AutocompleteCandidate(GroovyCompletionTypes.NAME, cuc.getText()); addQuery(c); c = new AutocompleteCandidate(GroovyCompletionTypes.CUSTOM_TYPE, cuc.getText()); addQuery(c); } } } }
From source file:com.twosigma.beaker.javash.autocomplete.JavaNodeCompletion.java
License:Apache License
@Override public void visitErrorNode(ErrorNode arg0) { if (arg0.getSymbol().getStartIndex() < cursor && arg0.getSymbol().getStopIndex() + 1 >= cursor) { //System.out.println("ERR: "+arg0.getSymbol().getStartIndex()+" "+arg0.getSymbol().getStopIndex()+" "+arg0.getSymbol().getText()); if (arg0.getParent() instanceof CompilationUnitContext) { CompilationUnitContext cuc = (CompilationUnitContext) arg0.getParent(); if (cuc.getChild(0).equals(arg0)) { AutocompleteCandidate c = new AutocompleteCandidate(JavaCompletionTypes.INITIAL, arg0.getText()); addQuery(c);//from ww w . j av a2 s. co m } else { AutocompleteCandidate c = new AutocompleteCandidate(JavaCompletionTypes.TOPLEVEL, arg0.getText()); addQuery(c); } return; } else if (arg0.getParent() instanceof BlockStatementContext) { if (!arg0.getSymbol().getText().equals(".")) { AutocompleteCandidate c = new AutocompleteCandidate(JavaCompletionTypes.BLOCKLEVEL, arg0.getText()); addQuery(c); c = new AutocompleteCandidate(JavaCompletionTypes.TYPE, arg0.getText()); addQuery(c); c = new AutocompleteCandidate(JavaCompletionTypes.CUSTOM_TYPE, arg0.getText()); addQuery(c); c = new AutocompleteCandidate(JavaCompletionTypes.NAME, arg0.getText()); addQuery(c); } else { BlockStatementContext bs = (BlockStatementContext) arg0.getParent(); if (bs.getChildCount() > 1) { addQuery(classUtils.expandExpression(bs.getText(), registry, classUtils.DO_ALL)); } } } else if (arg0.getParent() instanceof ExpressionContext) { // we are the rightmost child of the expression ParseTree chld = arg0.getParent().getChild(arg0.getParent().getChildCount() - 1); if (!chld.equals(arg0)) return; addQuery(classUtils.expandExpression(arg0.getParent().getText(), registry, classUtils.DO_NON_STATIC)); } else if (arg0.getParent() instanceof TypeDeclarationContext && arg0.getParent().getParent() != null && arg0.getParent().getParent() instanceof CompilationUnitContext) { AutocompleteCandidate c = new AutocompleteCandidate(JavaCompletionTypes.TOPLEVEL, arg0.getText()); addQuery(c); } else if (arg0.getParent() instanceof MemberDeclarationContext && arg0.getParent().getParent() != null && arg0.getParent().getParent() instanceof ClassBodyDeclarationContext && arg0.getParent().getParent().getParent() != null && arg0.getParent().getParent().getParent() instanceof ClassBodyContext && arg0.getParent().getParent().getParent().getText().trim().startsWith("<missing '{'>")) { AutocompleteCandidate c = new AutocompleteCandidate(JavaCompletionTypes.CLASSLEVEL, arg0.getText()); addQuery(c); } else if (arg0.getParent() instanceof MemberDeclarationContext && arg0.getParent().getParent() != null && arg0.getParent().getParent() instanceof ClassBodyDeclarationContext && arg0.getParent().getParent().getParent() != null && arg0.getParent().getParent().getParent() instanceof ClassBodyContext) { AutocompleteCandidate c = new AutocompleteCandidate(JavaCompletionTypes.TYPE, arg0.getText()); addQuery(c); c = new AutocompleteCandidate(JavaCompletionTypes.CUSTOM_TYPE, arg0.getText()); addQuery(c); } } }
From source file:com.twosigma.beakerx.javash.autocomplete.JavaNodeCompletion.java
License:Apache License
@Override public void visitErrorNode(ErrorNode arg0) { if (arg0.getText().equals("new")) { CompilationUnitContext cuc = (CompilationUnitContext) arg0.getParent(); List<ParseTree> children = cuc.children; int tokenIndex = arg0.getSymbol().getTokenIndex(); if (tokenIndex - 2 >= 0 && tokenIndex + 1 <= children.size()) { ParseTree variablePT = children.get(tokenIndex - 2); ParseTree typePT = children.get(tokenIndex + 1); String type = typePT.getText(); String variable = variablePT.getText(); AutocompleteCandidate c1 = new AutocompleteCandidate(JavaCompletionTypes.NAME, variable); registry.addCandidate(c1);/*w ww .ja v a2s .co m*/ if (type != null) classUtils.defineVariable(variable, type); return; } } if (arg0.getSymbol().getStartIndex() < cursor && arg0.getSymbol().getStopIndex() + 1 >= cursor) { //System.out.println("ERR: "+arg0.getSymbol().getStartIndex()+" "+arg0.getSymbol().getStopIndex()+" "+arg0.getSymbol().getText()); if (arg0.getParent() instanceof CompilationUnitContext) { CompilationUnitContext cuc = (CompilationUnitContext) arg0.getParent(); AutocompleteCandidate c = new AutocompleteCandidate(JavaCompletionTypes.INITIAL, arg0.getText()); addQuery(c, cursor); AutocompleteCandidate c2 = new AutocompleteCandidate(JavaCompletionTypes.TOPLEVEL, arg0.getText()); addQuery(c2, cursor); completeClassFromPath(cuc, arg0.getText()); return; } else if (arg0.getParent() instanceof BlockStatementContext) { if (!arg0.getSymbol().getText().equals(".")) { AutocompleteCandidate c = new AutocompleteCandidate(JavaCompletionTypes.BLOCKLEVEL, arg0.getText()); addQuery(c, cursor); c = new AutocompleteCandidate(JavaCompletionTypes.TYPE, arg0.getText()); addQuery(c, cursor); c = new AutocompleteCandidate(JavaCompletionTypes.CUSTOM_TYPE, arg0.getText()); addQuery(c, cursor); c = new AutocompleteCandidate(JavaCompletionTypes.NAME, arg0.getText()); addQuery(c, cursor); } else { BlockStatementContext bs = (BlockStatementContext) arg0.getParent(); if (bs.getChildCount() > 1) { addQuery(classUtils.expandExpression(bs.getText(), registry, classUtils.DO_ALL), cursor); } } } else if (arg0.getParent() instanceof ExpressionContext) { // we are the rightmost child of the expression ParseTree chld = arg0.getParent().getChild(arg0.getParent().getChildCount() - 1); if (!chld.equals(arg0)) return; addQuery( classUtils.expandExpression(arg0.getParent().getText(), registry, classUtils.DO_NON_STATIC), cursor); } else if (arg0.getParent() instanceof TypeDeclarationContext && arg0.getParent().getParent() != null && arg0.getParent().getParent() instanceof CompilationUnitContext) { AutocompleteCandidate c = new AutocompleteCandidate(JavaCompletionTypes.TOPLEVEL, arg0.getText()); addQuery(c, cursor); } else if (arg0.getParent() instanceof MemberDeclarationContext && arg0.getParent().getParent() != null && arg0.getParent().getParent() instanceof ClassBodyDeclarationContext && arg0.getParent().getParent().getParent() != null && arg0.getParent().getParent().getParent() instanceof ClassBodyContext && arg0.getParent().getParent().getParent().getText().trim().startsWith("<missing '{'>")) { AutocompleteCandidate c = new AutocompleteCandidate(JavaCompletionTypes.CLASSLEVEL, arg0.getText()); addQuery(c, cursor); } else if (arg0.getParent() instanceof MemberDeclarationContext && arg0.getParent().getParent() != null && arg0.getParent().getParent() instanceof ClassBodyDeclarationContext && arg0.getParent().getParent().getParent() != null && arg0.getParent().getParent().getParent() instanceof ClassBodyContext) { AutocompleteCandidate c = new AutocompleteCandidate(JavaCompletionTypes.TYPE, arg0.getText()); addQuery(c, cursor); c = new AutocompleteCandidate(JavaCompletionTypes.CUSTOM_TYPE, arg0.getText()); addQuery(c, cursor); } } }
From source file:tilda.grammar.TildaSQLTreePrinter.java
License:Apache License
@Override public void visitErrorNode(ErrorNode node) { _Path.get(node.getParent()).add(node.getText()); }