public void visitTernaryExpression(TernaryExpression expression) { expression.getBooleanExpression().visit(this); expression.getTrueExpression().visit(this); expression.getFalseExpression().visit(this); }
@Override public void visitTernaryExpression(TernaryExpression expr) { TernaryExpression result = new TernaryExpression( (BooleanExpression)replaceExpr(expr.getBooleanExpression()), replaceExpr(expr.getTrueExpression()), replaceExpr(expr.getFalseExpression())); result.setType(expr.getType()); result.setSourcePosition(expr); replaceVisitedExpressionWith(result); }
@Override public void visitTernaryExpression(TernaryExpression expr) { TernaryExpression conversion = new TernaryExpression( convertCompatibly(expr.getBooleanExpression()), convert(expr.getTrueExpression()), convert(expr.getFalseExpression())); conversion.setSourcePosition(expr); result = record(conversion); }
public static TernaryExpression ternaryX(Expression cond, Expression trueExpr, Expression elseExpr) { return new TernaryExpression( cond instanceof BooleanExpression ? (BooleanExpression) cond : new BooleanExpression(cond), trueExpr, elseExpr); }
); compareIdentity.putNodeMetaData(StaticTypesMarker.INFERRED_RETURN_TYPE, ClassHelper.boolean_TYPE); TernaryExpression result = new TernaryExpression( new BooleanExpression(compareIdentity), // a==b CONSTANT_ZERO, new TernaryExpression( new BooleanExpression(new CompareToNullExpression(left, true)), // a==null CONSTANT_MINUS_ONE, new TernaryExpression( new BooleanExpression(new CompareToNullExpression(right, true)), // b==null CONSTANT_ONE, result.putNodeMetaData(StaticTypesMarker.INFERRED_TYPE, ClassHelper.int_TYPE); TernaryExpression expr = (TernaryExpression) result.getFalseExpression(); expr.putNodeMetaData(StaticTypesMarker.INFERRED_TYPE, ClassHelper.int_TYPE); expr.getFalseExpression().putNodeMetaData(StaticTypesMarker.INFERRED_TYPE, ClassHelper.int_TYPE); return result;
@Override public Expression wrapLoggingMethodCall(Expression logVariable, String methodName, Expression originalExpression) { MethodCallExpression condition = new MethodCallExpression( logVariable, "is" + methodName.substring(0, 1).toUpperCase(Locale.ENGLISH) + methodName.substring(1) + "Enabled", ArgumentListExpression.EMPTY_ARGUMENTS); condition.setImplicitThis(false); return new TernaryExpression( new BooleanExpression(condition), originalExpression, ConstantExpression.NULL); } }
@Override public void visitTernaryExpression(TernaryExpression expr) { result = new ExpressionInfo( TextRegion.of(expr), startOf("?", expr.getTrueExpression()), "?:", convertAll( Arrays.asList( expr.getBooleanExpression(), expr.getTrueExpression(), expr.getFalseExpression())) ).setRelevant(false); }
@Override public void visitTernaryExpression(TernaryExpression expr) { TernaryExpression result = new TernaryExpression( (BooleanExpression) replaceExpr(expr.getBooleanExpression()), replaceExpr(expr.getTrueExpression()), replaceExpr(expr.getFalseExpression())); result.setType(expr.getType()); result.setSourcePosition(expr); replaceVisitedExpressionWith(result); }
@Override public Expression wrapLoggingMethodCall(Expression logVariable, String methodName, Expression originalExpression) { MethodCallExpression condition = new MethodCallExpression( logVariable, "is" + methodName.substring(0, 1).toUpperCase(Locale.ENGLISH) + methodName.substring(1) + "Enabled", ArgumentListExpression.EMPTY_ARGUMENTS); condition.setImplicitThis(false); return new TernaryExpression( new BooleanExpression(condition), originalExpression, ConstantExpression.NULL); } }
public void visitTernaryExpression(final TernaryExpression expression) { assertExpressionAuthorized(expression); expression.getBooleanExpression().visit(this); expression.getTrueExpression().visit(this); expression.getFalseExpression().visit(this); }
@Override public Expression wrapLoggingMethodCall(Expression logVariable, String methodName, Expression originalExpression) { MethodCallExpression condition = new MethodCallExpression( logVariable, "is" + methodName.substring(0, 1).toUpperCase(Locale.ENGLISH) + methodName.substring(1) + "Enabled", ArgumentListExpression.EMPTY_ARGUMENTS); condition.setImplicitThis(false); return new TernaryExpression( new BooleanExpression(condition), originalExpression, ConstantExpression.NULL); } }
TypeChooser typeChooser = controller.getTypeChooser(); Expression boolPart = expression.getBooleanExpression(); Expression truePart = expression.getTrueExpression(); Expression falsePart = expression.getFalseExpression();
public Expression transformExpression(ExpressionTransformer transformer) { Expression ret = new TernaryExpression( (BooleanExpression) transformer.transform(booleanExpression), transformer.transform(trueExpression), transformer.transform(falseExpression)); ret.setSourcePosition(this); ret.copyNodeMetaData(this); return ret; }
expression.getBooleanExpression().visit(this); Expression trueExpression = expression.getTrueExpression(); Expression falseExpression = expression.getFalseExpression(); trueExpression.visit(this);
@Override public Expression wrapLoggingMethodCall(Expression logVariable, String methodName, Expression originalExpression) { final MethodCallExpression condition; if (!"trace".equals(methodName)) { AttributeExpression logLevelExpression = new AttributeExpression( new ClassExpression(classNode(PRIORITY_NAME)), new ConstantExpression(methodName.toUpperCase(Locale.ENGLISH))); ArgumentListExpression args = new ArgumentListExpression(); args.addExpression(logLevelExpression); condition = new MethodCallExpression(logVariable, "isEnabledFor", args); } else { // log4j api is inconsistent, so trace requires special handling condition = new MethodCallExpression( logVariable, "is" + methodName.substring(0, 1).toUpperCase(Locale.ENGLISH) + methodName.substring(1) + "Enabled", ArgumentListExpression.EMPTY_ARGUMENTS); } condition.setImplicitThis(false); return new TernaryExpression( new BooleanExpression(condition), originalExpression, ConstantExpression.NULL); } }
@Override public void visitTernaryExpression(TernaryExpression expression) { children.add(expression.getBooleanExpression()); children.add(expression.getTrueExpression()); children.add(expression.getFalseExpression()); }
@Override public Expression wrapLoggingMethodCall(Expression logVariable, String methodName, Expression originalExpression) { AttributeExpression logLevelExpression = new AttributeExpression( new ClassExpression(LEVEL_CLASSNODE), new ConstantExpression(methodName.toUpperCase(Locale.ENGLISH))); ArgumentListExpression args = new ArgumentListExpression(); args.addExpression(logLevelExpression); MethodCallExpression condition = new MethodCallExpression(logVariable, "isLoggable", args); condition.setImplicitThis(false); return new TernaryExpression( new BooleanExpression(condition), originalExpression, ConstantExpression.NULL); } }
@Override public void run() { visit(exp.getBooleanExpression()); visit(exp.getTrueExpression()); visit(exp.getFalseExpression()); } });
protected Expression ternaryExpression(AST ternaryNode) { AST node = ternaryNode.getFirstChild(); Expression base = expression(node); node = node.getNextSibling(); Expression left = expression(node); node = node.getNextSibling(); Expression ret; if (node == null) { ret = new ElvisOperatorExpression(base, left); } else { Expression right = expression(node); BooleanExpression booleanExpression = new BooleanExpression(base); booleanExpression.setSourcePosition(base); ret = new TernaryExpression(booleanExpression, left, right); } configureAST(ret, ternaryNode); return ret; }
public void visitTernaryExpression(TernaryExpression expression) { expression.getBooleanExpression().visit(this); expression.getTrueExpression().visit(this); expression.getFalseExpression().visit(this); }