public static Match createNew() { return new Match(new ArrayList<Pair<String, INode>>()); }
@Override public boolean matches(final INode other, final Match match) { if (other instanceof IdentifierExpression) { final IdentifierExpression identifier = (IdentifierExpression) other; if (_pattern.matcher(identifier.getIdentifier()).matches()) { match.add(_groupName, identifier); return true; } } return false; } }
@Override public final boolean matches(final INode other, final Match match) { final int checkpoint = match.getCheckPoint(); for (final INode alternative : _alternatives) { if (alternative.matches(other, match)) { return true; } match.restoreCheckPoint(checkpoint); } return false; } }
public final WhileStatement transformContinueOuter(final WhileStatement loop) { final Match m = CONTINUE_OUTER_PATTERN.match(loop); if (!m.success()) { return loop; } final LabelStatement label = (LabelStatement) m.get("label").iterator().next(); label.remove(); loop.getParent().insertChildBefore(loop, label, BlockStatement.STATEMENT_ROLE); return loop; }
private AssertStatement transformAssert(final IfElseStatement ifElse) { final Match m = ASSERT_PATTERN.match(ifElse); if (!m.success()) { return null; final Expression assertionsDisabledCheck = firstOrDefault(m.<Expression>get("assertionsDisabledCheck")); Expression condition = firstOrDefault(m.<Expression>get("condition")); condition = firstOrDefault(m.<Expression>get("invertedCondition")); if (m.has("message")) { Expression message = firstOrDefault(m.<Expression>get("message"));
final Statement clearCaughtException = p; final Match m = Match.createNew(); _tryPattern.matches(node, m)) { final IdentifierExpression resource = first(m.<IdentifierExpression>get("resource")); final ResolveResult resourceResult = _resolver.apply(resource); final BlockStatement tryContent = first(m.<BlockStatement>get("tryContent")); final Expression resourceInitializer = first(m.<Expression>get("resourceInitializer")); final IdentifierExpression caughtException = first(m.<IdentifierExpression>get("caughtException")); final IdentifierExpression caughtOnClose = first(m.<IdentifierExpression>get("caughtOnClose")); final CatchClause caughtParent = first(caughtException.getAncestors(CatchClause.class)); final CatchClause caughtOnCloseParent = first(caughtOnClose.getAncestors(CatchClause.class));
@Override public final boolean matches(final INode other, final Match match) { final INode node = lastOrDefault(match.get(_referencedGroupName)); return node != null && node.matches(other); } }
@Override public final boolean matchesCollection( final Role role, final INode position, final Match match, final BacktrackingInfo backtrackingInfo) { backtrackingInfo.stack.push(new PossibleMatch(position, match.getCheckPoint())); return _node.matches(position, match); }
@Override public final boolean matches(final INode other) { return matches(other, Match.createNew()); }
public final WhileStatement transformContinueOuter(final WhileStatement loop) { final Match m = CONTINUE_OUTER_PATTERN.match(loop); if (!m.success()) { return loop; } final LabelStatement label = (LabelStatement) m.get("label").iterator().next(); label.remove(); loop.getParent().insertChildBefore(loop, label, BlockStatement.STATEMENT_ROLE); return loop; }
@Override public final boolean matches(final INode other, final Match match) { final int checkpoint = match.getCheckPoint(); for (final INode alternative : _alternatives) { if (alternative.matches(other, match)) { return true; } match.restoreCheckPoint(checkpoint); } return false; } }
private AssertStatement transformAssert(final IfElseStatement ifElse) { final Match m = ASSERT_PATTERN.match(ifElse); if (!m.success()) { return null; final Expression assertionsDisabledCheck = firstOrDefault(m.<Expression>get("assertionsDisabledCheck")); Expression condition = firstOrDefault(m.<Expression>get("condition")); condition = firstOrDefault(m.<Expression>get("invertedCondition")); if (m.has("message")) { Expression message = firstOrDefault(m.<Expression>get("message"));
final Statement clearCaughtException = p; final Match m = Match.createNew(); _tryPattern.matches(node, m)) { final IdentifierExpression resource = first(m.<IdentifierExpression>get("resource")); final ResolveResult resourceResult = _resolver.apply(resource); final BlockStatement tryContent = first(m.<BlockStatement>get("tryContent")); final Expression resourceInitializer = first(m.<Expression>get("resourceInitializer")); final IdentifierExpression caughtException = first(m.<IdentifierExpression>get("caughtException")); final IdentifierExpression caughtOnClose = first(m.<IdentifierExpression>get("caughtOnClose")); final CatchClause caughtParent = first(caughtException.getAncestors(CatchClause.class)); final CatchClause caughtOnCloseParent = first(caughtOnClose.getAncestors(CatchClause.class));
@Override public final boolean matches(final INode other, final Match match) { final INode node = lastOrDefault(match.get(_referencedGroupName)); return node != null && node.matches(other); } }
@Override public final boolean matchesCollection( final Role role, final INode position, final Match match, final BacktrackingInfo backtrackingInfo) { backtrackingInfo.stack.push(new PossibleMatch(position, match.getCheckPoint())); return _node.matches(position, match); }
@Override public final boolean matches(final INode other) { return matches(other, Match.createNew()); }
public final WhileStatement transformContinueOuter(final WhileStatement loop) { final Match m = CONTINUE_OUTER_PATTERN.match(loop); if (!m.success()) { return loop; } final LabelStatement label = (LabelStatement) m.get("label").iterator().next(); label.remove(); loop.getParent().insertChildBefore(loop, label, BlockStatement.STATEMENT_ROLE); return loop; }
@Override public final boolean matches(final INode other, final Match match) { final int checkpoint = match.getCheckPoint(); for (final INode alternative : _alternatives) { if (alternative.matches(other, match)) { return true; } match.restoreCheckPoint(checkpoint); } return false; } }
private AssertStatement transformAssert(final IfElseStatement ifElse) { final Match m = ASSERT_PATTERN.match(ifElse); if (!m.success()) { return null; final Expression assertionsDisabledCheck = firstOrDefault(m.<Expression>get("assertionsDisabledCheck")); Expression condition = firstOrDefault(m.<Expression>get("condition")); condition = firstOrDefault(m.<Expression>get("invertedCondition")); if (m.has("message")) { Expression message = firstOrDefault(m.<Expression>get("message"));