&& label.equals(((LabeledStatementTree) leaf).getLabel())) { return MatchResult.NO_MATCH;
@Override public ULabeledStatement visitLabeledStatement(LabeledStatementTree tree, Void v) { return ULabeledStatement.create(tree.getLabel(), template(tree.getStatement())); }
@Override public Choice<Unifier> visitLabeledStatement(LabeledStatementTree node, Unifier unifier) { unifier.putBinding(key(), node.getLabel()); return getStatement().unify(node.getStatement(), unifier); } }
@Override public Choice<State<JCLabeledStatement>> visitLabeledStatement( final LabeledStatementTree node, State<?> state) { return chooseSubtrees( state, s -> unifyStatement(node.getStatement(), s), stmt -> maker().Labelled((Name) node.getLabel(), stmt)); }
@Override public String visitLabeledStatement(LabeledStatementTree reference, Void v) { return (reference != null) ? detailedKindString(reference, reference.getLabel()) : ""; }
@Override public String visitLabeledStatement(LabeledStatementTree reference, Void v) { return (reference != null) ? detailedKindString(reference, reference.getLabel()) : ""; }
/**Find span of the {@link LabeledStatementTree#getLabel()} identifier in the source. * Returns starting and ending offset of the name in the source code that was parsed * (ie. {@link CompilationInfo.getText()}, which may differ from the positions in the source * document if it has been already altered. * * @param lst labeled statement which name should be searched for * @return the span of the name, or null if cannot be found * @since 0.131 */ public int[] findNameSpan(LabeledStatementTree lst) { return findNameSpan(lst.getLabel().toString(), lst); }
@Override public String visitLabeledStatement(LabeledStatementTree reference, Void v) { return (reference != null) ? detailedKindString(reference, reference.getLabel()) : ""; }
@Override public Void visitLabeledStatement(LabeledStatementTree expected, Tree actual) { Optional<LabeledStatementTree> other = checkTypeAndCast(expected, actual); if (!other.isPresent()) { addTypeMismatch(expected, actual); return null; } checkForDiff(expected.getLabel().contentEquals(other.get().getLabel()), "Expected statement label to be <%s> but was <%s>.", expected.getLabel(), other.get().getLabel()); scan(expected.getStatement(), other.get().getStatement()); return null; }
@Override public String visitLabeledStatement(LabeledStatementTree node, Void v) { StringBuilder out = new StringBuilder(); StatementTree stmt = node.getStatement(); String label = node.getLabel().toString() + ":\n"; appendAsInlineComment(out, "FIX ME: labeled statements not allowed in Gosu"); out.append(label); appendIndent(out); out.append(stmt.accept(this, v)); return out.toString(); }
@Override public Optional<TreePath> visitLabeledStatement(@Nullable LabeledStatementTree node, Void v) { if (node == null) { return Optional.absent(); } else if (isMatch(node, node.getLabel())) { return currentPathPlus(node); } return super.visitLabeledStatement(node, v); }
@Override public Optional<TreePath> visitLabeledStatement(@Nullable LabeledStatementTree node, Void v) { if (node == null) { return Optional.absent(); } else if (isMatch(node, node.getLabel())) { return currentPathPlus(node); } return super.visitLabeledStatement(node, v); }
@Override public Optional<TreePath> visitLabeledStatement(@Nullable LabeledStatementTree node, Void v) { if (node == null) { return Optional.absent(); } else if (isMatch(node, node.getLabel())) { return currentPathPlus(node); } return super.visitLabeledStatement(node, v); }
@Override public Choice<State<JCLabeledStatement>> visitLabeledStatement( final LabeledStatementTree node, State<?> state) { return chooseSubtrees( state, s -> unifyStatement(node.getStatement(), s), stmt -> maker().Labelled((Name) node.getLabel(), stmt)); }
/** * Returns the label {@link Name} of the leaf in the argument path, or null if the leaf is * not a labeled statement. */ protected @Nullable Name getLabel(TreePath path) { if (path.getParentPath() != null) { Tree parent = path.getParentPath().getLeaf(); if (parent.getKind() == Tree.Kind.LABELED_STATEMENT) { return ((LabeledStatementTree) parent).getLabel(); } } return null; }
@Override public Tree visitLabeledStatement(LabeledStatementTree tree, Void p) { LabeledStatementTree n = make.LabeledStatement(tree.getLabel(), tree.getStatement()); model.setType(n, model.getType(tree)); comments.copyComments(tree, n); model.setPos(n, model.getPos(tree)); return n; }
private void insideBreakOrContinue(Env env) throws IOException { TreePath path = env.getPath(); TokenSequence<JavaTokenId> ts = findLastNonWhitespaceToken(env, path.getLeaf(), env.getOffset()); if (ts != null && (ts.token().id() == JavaTokenId.BREAK || ts.token().id() == JavaTokenId.CONTINUE)) { while (path != null) { if (path.getLeaf().getKind() == Tree.Kind.LABELED_STATEMENT) { results.add(itemFactory.createVariableItem(env.getController(), ((LabeledStatementTree) path.getLeaf()).getLabel().toString(), anchorOffset, false, false)); } path = path.getParentPath(); } } }
protected final LabeledStatementTree rewriteChildren(LabeledStatementTree tree) { StatementTree body = (StatementTree)translate(tree.getStatement()); if (body!=tree.getStatement()) { LabeledStatementTree n = make.LabeledStatement(tree.getLabel(), body); model.setType(n, model.getType(tree)); copyCommentTo(tree,n); copyPosTo(tree,n); tree = n; } return tree; }