/** * INTERNAL * Return the right most node of a dot expr, so return 'c' for 'a.b.c'. */ public Node getRightMostNode() { if (right.isDotNode()){ return ((DotNode)right).getRightMostNode(); } return right; }
/** * INTERNAL * Return the right most node of a dot expr, so return 'c' for 'a.b.c'. */ public Node getRightMostNode() { if (right.isDotNode()){ return ((DotNode)right).getRightMostNode(); } return right; }
/** */ public Object newJoinVariableDecl(int line, int column, boolean outerJoin, Object path, String variable, Object downcast) { DotNode dotNode = (DotNode)path; AttributeNode rightNode = (AttributeNode)dotNode.getRight(); rightNode.setOuterJoin(outerJoin); if (downcast != null){ AttributeNode rightMostNode = (AttributeNode)dotNode.getRightMostNode(); rightMostNode.setCastClassName((String)downcast); } JoinDeclNode node = new JoinDeclNode(); node.setPath(dotNode); node.setVariableName(variable); node.setOuterJoin(outerJoin); setPosition(node, line, column); context.registerJoinVariable(node.getCanonicalVariableName(), dotNode, line, column); currentIdentificationVariable = variable; return node; }
/** */ public Object newJoinVariableDecl(int line, int column, boolean outerJoin, Object path, String variable, Object downcast) { DotNode dotNode = (DotNode)path; AttributeNode rightNode = (AttributeNode)dotNode.getRight(); rightNode.setOuterJoin(outerJoin); if (downcast != null){ AttributeNode rightMostNode = (AttributeNode)dotNode.getRightMostNode(); rightMostNode.setCastClassName((String)downcast); } JoinDeclNode node = new JoinDeclNode(); node.setPath(dotNode); node.setVariableName(variable); node.setOuterJoin(outerJoin); setPosition(node, line, column); context.registerJoinVariable(node.getCanonicalVariableName(), dotNode, line, column); currentIdentificationVariable = variable; return node; }