public Node createLeftAssociativeBinaryExpression( org.parboiled.Node<Node> head, List<org.parboiled.Node<Node>> operatorsNodes, List<String> operators, List<org.parboiled.Node<Node>> tail) { Node currentLeft = head.getValue(); for (int i = 0; i < operators.size(); i++) { currentLeft = new BinaryExpression() .rawLeft(currentLeft) .rawRight(tail.get(i).getValue()).rawOperator(operators.get(i)); source.registerStructure(currentLeft, operatorsNodes.get(i)); positionSpan(currentLeft, head, tail.get(i)); } return currentLeft; }
public Node createLeftAssociativeBinaryExpression( org.parboiled.Node<Node> head, List<org.parboiled.Node<Node>> operatorsNodes, List<String> operators, List<org.parboiled.Node<Node>> tail) { Node currentLeft = head.getValue(); for (int i = 0; i < operators.size(); i++) { currentLeft = new BinaryExpression() .rawLeft(currentLeft) .rawRight(tail.get(i).getValue()).rawOperator(operators.get(i)); source.registerStructure(currentLeft, operatorsNodes.get(i)); positionSpan(currentLeft, head, tail.get(i)); } return currentLeft; }
public Node createLeftAssociativeBinaryExpression( org.parboiled.Node<Node> head, List<org.parboiled.Node<Node>> operatorsNodes, List<String> operators, List<org.parboiled.Node<Node>> tail) { Node currentLeft = head.getValue(); for (int i = 0; i < operators.size(); i++) { currentLeft = new BinaryExpression() .rawLeft(currentLeft) .rawRight(tail.get(i).getValue()).rawOperator(operators.get(i)); source.registerStructure(currentLeft, operatorsNodes.get(i)); positionSpan(currentLeft, head, tail.get(i)); } return currentLeft; }
@Override public void visitBinary(JCBinary node) { BinaryExpression expr = new BinaryExpression(); expr.rawLeft(toTree(node.getLeftOperand())); expr.rawRight(toTree(node.getRightOperand())); expr.astOperator(JcTreeBuilder.BINARY_OPERATORS.inverse().get(getTag(node))); set(node, expr); }
@Override public void visitAssignop(JCAssignOp node) { BinaryExpression expr = new BinaryExpression(); expr.rawRight(toTree(node.getExpression())); expr.rawLeft(toTree(node.getVariable())); expr.astOperator(JcTreeBuilder.BINARY_OPERATORS.inverse().get(getTag(node))); set(node, expr); }
@Override public void visitBinary(JCBinary node) { BinaryExpression expr = new BinaryExpression(); expr.rawLeft(toTree(node.getLeftOperand())); expr.rawRight(toTree(node.getRightOperand())); expr.astOperator(JcTreeBuilder.BINARY_OPERATORS.inverse().get(getTag(node))); set(node, expr); }
@Override public void visitAssignop(JCAssignOp node) { BinaryExpression expr = new BinaryExpression(); expr.rawRight(toTree(node.getExpression())); expr.rawLeft(toTree(node.getVariable())); expr.astOperator(JcTreeBuilder.BINARY_OPERATORS.inverse().get(getTag(node))); set(node, expr); }
public Node createAssignmentExpression(Node lhs, String operator, Node rhs) { if (rhs == null && operator == null) return lhs; return posify(new BinaryExpression().rawLeft(lhs).rawRight(rhs).rawOperator(operator)); }
public Node createAssignmentExpression(Node lhs, String operator, Node rhs) { if (rhs == null && operator == null) return lhs; return posify(new BinaryExpression().rawLeft(lhs).rawRight(rhs).rawOperator(operator)); }
public Node createAssignmentExpression(Node lhs, String operator, Node rhs) { if (rhs == null && operator == null) return lhs; return posify(new BinaryExpression().rawLeft(lhs).rawRight(rhs).rawOperator(operator)); }
@Override public void visitAssign(JCAssign node) { BinaryExpression expr = new BinaryExpression(); expr.rawRight(toTree(node.getExpression())); expr.rawLeft(toTree(node.getVariable())); expr.astOperator(BinaryOperator.ASSIGN); set(node, expr); }
@Override public void visitAssign(JCAssign node) { BinaryExpression expr = new BinaryExpression(); expr.rawRight(toTree(node.getExpression())); expr.rawLeft(toTree(node.getVariable())); expr.astOperator(BinaryOperator.ASSIGN); set(node, expr); }
@Override public void visitAssign(JCAssign node) { BinaryExpression expr = new BinaryExpression(); expr.rawRight(toTree(node.getExpression())); expr.rawLeft(toTree(node.getVariable())); expr.astOperator(BinaryOperator.ASSIGN); set(node, expr); }
@Override public void visitAssignop(JCAssignOp node) { BinaryExpression expr = new BinaryExpression(); expr.rawRight(toTree(node.getExpression())); expr.rawLeft(toTree(node.getVariable())); expr.astOperator(JcTreeBuilder.BINARY_OPERATORS.inverse().get(getTag(node))); set(node, expr); }
@Override public void visitBinary(JCBinary node) { BinaryExpression expr = new BinaryExpression(); expr.rawLeft(toTree(node.getLeftOperand())); expr.rawRight(toTree(node.getRightOperand())); expr.astOperator(JcTreeBuilder.BINARY_OPERATORS.inverse().get(getTag(node))); set(node, expr); }
@Override public void visitStringLiteralConcatenation(StringLiteralConcatenation node) { Node lombokAggregator = null; if (node.literals != null) { for (int i = 0; i < node.counter; i++) { Node lombokElemNode = toTree(node.literals[i]); if (lombokAggregator != null) { Position newPos = lombokElemNode.getPosition().withoutGeneratedBy(); lombokAggregator = new lombok.ast.BinaryExpression().astOperator(BinaryOperator.PLUS) .rawLeft(lombokAggregator).rawRight(lombokElemNode); lombokAggregator.setPosition(newPos); } else { lombokAggregator = lombokElemNode; } } } set(node, setPosition(node, lombokAggregator)); }
@Override public void visitStringLiteralConcatenation(StringLiteralConcatenation node) { Node lombokAggregator = null; if (node.literals != null) { for (int i = 0; i < node.counter; i++) { Node lombokElemNode = toTree(node.literals[i]); if (lombokAggregator != null) { Position newPos = lombokElemNode.getPosition().withoutGeneratedBy(); lombokAggregator = new lombok.ast.BinaryExpression().astOperator(BinaryOperator.PLUS) .rawLeft(lombokAggregator).rawRight(lombokElemNode); lombokAggregator.setPosition(newPos); } else { lombokAggregator = lombokElemNode; } } } set(node, setPosition(node, lombokAggregator)); }
@Override public void visitStringLiteralConcatenation(StringLiteralConcatenation node) { Node lombokAggregator = null; if (node.literals != null) { for (int i = 0; i < node.counter; i++) { Node lombokElemNode = toTree(node.literals[i]); if (lombokAggregator != null) { Position newPos = lombokElemNode.getPosition().withoutGeneratedBy(); lombokAggregator = new lombok.ast.BinaryExpression().astOperator(BinaryOperator.PLUS) .rawLeft(lombokAggregator).rawRight(lombokElemNode); lombokAggregator.setPosition(newPos); } else { lombokAggregator = lombokElemNode; } } } set(node, setPosition(node, lombokAggregator)); }
@Override public boolean visitBinaryExpression(BinaryExpression node) { parensOpen(node); String symbol; try { symbol = node.astOperator().getSymbol(); } catch (Exception e) { symbol = node.rawOperator(); } formatter.buildInline(node); formatter.property("operator", symbol); formatter.nameNextElement("left"); visit(node.rawLeft()); formatter.space(); formatter.operator(symbol); formatter.space(); formatter.nameNextElement("right"); visit(node.rawRight()); formatter.closeInline(); parensClose(node); return true; }
@Override public boolean visitBinaryExpression(BinaryExpression node) { parensOpen(node); String symbol; try { symbol = node.astOperator().getSymbol(); } catch (Exception e) { symbol = node.rawOperator(); } formatter.buildInline(node); formatter.property("operator", symbol); formatter.nameNextElement("left"); visit(node.rawLeft()); formatter.space(); formatter.operator(symbol); formatter.space(); formatter.nameNextElement("right"); visit(node.rawRight()); formatter.closeInline(); parensClose(node); return true; }