public Expression transform(Expression exp) { if (exp == null) return null; return exp.transformExpression(this); }
public Expression transform(Expression exp) { if (exp == null) return null; if (!currentClass.isInterface() && exp.getClass() == ConstantExpression.class) { setConstField((ConstantExpression) exp); } return exp.transformExpression(this); }
@Override public Expression transformExpression(final ExpressionTransformer transformer) { TemporaryVariableExpression result = new TemporaryVariableExpression(expression.transformExpression(transformer)); result.copyNodeMetaData(this); return result; }
Expression result = exp.transformExpression(this); if (inPropertyExpression) { foundArgs = result; Expression result = exp.transformExpression(this); if (inPropertyExpression) { foundConstant = result; return exp.transformExpression(this);
@Override public Expression transform(Expression exp) { if (exp instanceof ClosureExpression) { ClosureExpression ce = (ClosureExpression) exp; ce.getCode().visit(this); } else if (exp instanceof VariableExpression) { VariableExpression ve = (VariableExpression) exp; if ("args".equals(ve.getName()) && ve.getAccessedVariable() instanceof DynamicVariable) { VariableExpression newVe = varX(param(MAP_TYPE, "args")); newVe.setSourcePosition(ve); return newVe; } } return exp.transformExpression(this); }
private Expression transformMapEntryExpression(MapEntryExpression me, ClassNode constructorCallType) { Expression key = me.getKeyExpression(); Expression value = me.getValueExpression(); ModuleNode module = currentClass.getModule(); if (module != null && key instanceof ConstantExpression) { Map<String, ImportNode> importNodes = module.getStaticImports(); if (importNodes.containsKey(key.getText())) { ImportNode importNode = importNodes.get(key.getText()); if (importNode.getType().equals(constructorCallType)) { String newKey = importNode.getFieldName(); return new MapEntryExpression(new ConstantExpression(newKey), value.transformExpression(this)); } } } return me; }
return expr.transformExpression(this);
@Override public Expression transformExpression(final ExpressionTransformer transformer) { PoppingMethodCallExpression trn = new PoppingMethodCallExpression(receiver.transformExpression(transformer), setter, (TemporaryVariableExpression) tmp.transformExpression(transformer)); trn.copyNodeMetaData(this); trn.setImplicitThis(isImplicitThis()); trn.setSafe(isSafe()); trn.setSpreadSafe(isSpreadSafe()); return trn; }
public Expression transform(Expression exp) { if (exp == null) return null; Expression ret; if (exp instanceof VariableExpression) { ret = transformVariableExpression((VariableExpression) exp); } else if (exp.getClass() == PropertyExpression.class) { ret = transformPropertyExpression((PropertyExpression) exp); } else if (exp instanceof DeclarationExpression) { ret = transformDeclarationExpression((DeclarationExpression) exp); } else if (exp instanceof BinaryExpression) { ret = transformBinaryExpression((BinaryExpression) exp); } else if (exp instanceof MethodCallExpression) { ret = transformMethodCallExpression((MethodCallExpression) exp); } else if (exp instanceof ClosureExpression) { ret = transformClosureExpression((ClosureExpression) exp); } else if (exp instanceof ConstructorCallExpression) { ret = transformConstructorCallExpression((ConstructorCallExpression) exp); } else if (exp instanceof AnnotationConstantExpression) { ret = transformAnnotationConstantExpression((AnnotationConstantExpression) exp); } else { resolveOrFail(exp.getType(), exp); ret = exp.transformExpression(this); } if (ret!=null && ret!=exp) ret.setSourcePosition(exp); return ret; }
private void createDataProviderMethod(Expression dataProviderExpr, int nextDataVariableIndex) { instanceFieldAccessChecker.check(dataProviderExpr); dataProviderExpr = dataProviderExpr.transformExpression(new DataTablePreviousVariableTransformer()); MethodNode method = new MethodNode( InternalIdentifiers.getDataProviderName(whereBlock.getParent().getAst().getName(), dataProviderCount++), Opcodes.ACC_PUBLIC | Opcodes.ACC_SYNTHETIC, ClassHelper.OBJECT_TYPE, getPreviousParameters(nextDataVariableIndex), ClassNode.EMPTY_ARRAY, new BlockStatement( Arrays.<Statement>asList( new ReturnStatement( new ExpressionStatement(dataProviderExpr))), new VariableScope())); method.addAnnotation(createDataProviderAnnotation(dataProviderExpr, nextDataVariableIndex)); whereBlock.getParent().getParent().getAst().addMethod(method); }
return expr.transformExpression(this);
public Expression transform(Expression exp) { if (exp == null) return null; return exp.transformExpression(this); }
public Expression transform(Expression exp) { if (exp==null) return null; return exp.transformExpression(this); }
public Expression transform(Expression exp) { if (exp==null) return null; return exp.transformExpression(this); }
public Expression transform(Expression exp) { if (exp==null) return null; return exp.transformExpression(this); }
public Expression transform(Expression exp) { if (exp == null) return null; if (!currentClass.isInterface() && exp.getClass() == ConstantExpression.class) { setConstField((ConstantExpression)exp); } return exp.transformExpression(this); }
public Expression transform(Expression exp) { if (exp == null) return null; if (!currentClass.isInterface() && exp.getClass() == ConstantExpression.class) { setConstField((ConstantExpression)exp); } return exp.transformExpression(this); }
public Expression transform(Expression exp) { if (exp == null) return null; if (!currentClass.isInterface() && exp.getClass() == ConstantExpression.class) { setConstField((ConstantExpression)exp); } return exp.transformExpression(this); }
public Expression transform(Expression exp) { if(inStatic){ if(exp instanceof VariableExpression){ VariableExpression vexp = (VariableExpression) exp; if(vexp.getName().equals(BINDING)){ MethodCallExpression mexp = new MethodCallExpression(new VariableExpression(GROOVITY_SCRIPT_HELPER_FIELD), "getBinding", new TupleExpression()); return mexp; } } return exp.transformExpression(this); } return exp; }
public Expression transform(Expression exp) { if(inStatic){ if(exp instanceof VariableExpression){ VariableExpression vexp = (VariableExpression) exp; if(vexp.getName().equals(BINDING)){ MethodCallExpression mexp = new MethodCallExpression(new VariableExpression(GROOVITY_SCRIPT_HELPER_FIELD), "getBinding", new TupleExpression()); return mexp; } } return exp.transformExpression(this); } return exp; }