public ConditionalExpressionTreeImpl newTernaryExpression(InternalSyntaxToken queryToken, ExpressionTree trueExpression, InternalSyntaxToken colonToken, ExpressionTree falseExpression) { return new ConditionalExpressionTreeImpl(queryToken, trueExpression, colonToken, falseExpression); }
public ConditionalExpressionTreeImpl(InternalSyntaxToken queryToken, ExpressionTree trueExpression, InternalSyntaxToken colonToken, ExpressionTree falseExpression) { super(Kind.CONDITIONAL_EXPRESSION); this.queryToken = queryToken; this.trueExpression = Preconditions.checkNotNull(trueExpression); this.colonToken = colonToken; this.falseExpression = Preconditions.checkNotNull(falseExpression); addChild(queryToken); addChild((AstNode) trueExpression); addChild(colonToken); addChild((AstNode) falseExpression); }
public ConditionalExpressionTreeImpl complete(ExpressionTree condition) { Preconditions.checkState(this.condition == null); this.condition = condition; prependChildren((AstNode) condition); return this; }
public ExpressionTree completeTernaryExpression(ExpressionTree expression, Optional<ConditionalExpressionTreeImpl> partial) { return partial.isPresent() ? partial.get().complete(expression) : expression; }
@Override public void visitConditionalExpression(ConditionalExpressionTree tree) { if(((ConditionalExpressionTreeImpl) tree).isTypeSet()) { JavaType trueType = getType(tree.trueExpression()); if(trueType.isTagged(JavaType.DEFERRED)) { setInferedType(tree.symbolType(), (DeferredType) trueType); } JavaType falseType = getType(tree.falseExpression()); if(falseType.isTagged(JavaType.DEFERRED)) { setInferedType(tree.symbolType(), (DeferredType) falseType); } } else { resolveAs(tree.condition(), JavaSymbol.VAR); resolveAs(tree.trueExpression(), JavaSymbol.VAR); resolveAs(tree.falseExpression(), JavaSymbol.VAR); registerType(tree, resolve.conditionalExpressionType(tree, (JavaType) tree.trueExpression().symbolType(),(JavaType) tree.falseExpression().symbolType())); } }
public ExpressionTree completeTernaryExpression(ExpressionTree expression, Optional<ConditionalExpressionTreeImpl> partial) { return partial.isPresent() ? partial.get().complete(expression) : expression; }
@Override public void visitConditionalExpression(ConditionalExpressionTree tree) { if(((ConditionalExpressionTreeImpl) tree).isTypeSet()) { JavaType trueType = getType(tree.trueExpression()); if(trueType.isTagged(JavaType.DEFERRED)) { setInferedType(tree.symbolType(), (DeferredType) trueType); } JavaType falseType = getType(tree.falseExpression()); if(falseType.isTagged(JavaType.DEFERRED)) { setInferedType(tree.symbolType(), (DeferredType) falseType); } } else { resolveAs(tree.condition(), JavaSymbol.VAR); resolveAs(tree.trueExpression(), JavaSymbol.VAR); resolveAs(tree.falseExpression(), JavaSymbol.VAR); registerType(tree, resolve.conditionalExpressionType(tree, (JavaType) tree.trueExpression().symbolType(),(JavaType) tree.falseExpression().symbolType())); } }
public ExpressionTree completeTernaryExpression(ExpressionTree expression, Optional<ConditionalExpressionTreeImpl> partial) { return partial.isPresent() ? partial.get().complete(expression) : expression; }
public ConditionalExpressionTreeImpl newTernaryExpression(InternalSyntaxToken queryToken, ExpressionTree trueExpression, InternalSyntaxToken colonToken, ExpressionTree falseExpression) { return new ConditionalExpressionTreeImpl(queryToken, trueExpression, colonToken, falseExpression); }
public ExpressionTree completeTernaryExpression(ExpressionTree expression, Optional<ConditionalExpressionTreeImpl> partial) { return partial.isPresent() ? partial.get().complete(expression) : expression; }
public ConditionalExpressionTreeImpl newTernaryExpression(InternalSyntaxToken queryToken, ExpressionTree trueExpression, InternalSyntaxToken colonToken, ExpressionTree falseExpression) { return new ConditionalExpressionTreeImpl(queryToken, trueExpression, colonToken, falseExpression); }
public ConditionalExpressionTreeImpl newTernaryExpression(AstNode queryTokenAstNode, ExpressionTree trueExpression, AstNode colonTokenAstNode, ExpressionTree falseExpression) { InternalSyntaxToken queryToken = InternalSyntaxToken.create(queryTokenAstNode); InternalSyntaxToken colonToken = InternalSyntaxToken.create(colonTokenAstNode); return new ConditionalExpressionTreeImpl(queryToken, trueExpression, colonToken, falseExpression); }