public Variable getVariable(String variableName ) { return getVariable(variableName,true); }
public Variable getVariable(String variableName ) { return getVariable(variableName,true); }
public Variable getVariable(String variableName ) { return getVariable(variableName,true); }
protected boolean isHolderVariable(Expression expression) { if (expression instanceof FieldExpression) { FieldExpression fieldExp = (FieldExpression) expression; return fieldExp.getField().isHolder(); } if (expression instanceof VariableExpression) { VariableExpression varExp = (VariableExpression) expression; Variable variable = compileStack.getVariable(varExp.getName(), false); if (variable != null) { return variable.isHolder(); } FieldNode field = classNode.getDeclaredField(varExp.getName()); if (field != null) { return field.isHolder(); } } return false; }
visitFieldExpression(new FieldExpression(classNode.getDeclaredField(name))); } else { Variable v = compileStack.getVariable(name, classNode.getSuperClass() != ClassHelper.CLOSURE_TYPE); if (v == null) {
visitFieldExpression(new FieldExpression(classNode.getDeclaredField(name))); } else { Variable v = compileStack.getVariable(name, classNode.getSuperClass() != ClassHelper.CLOSURE_TYPE); if (v == null) {
Variable variable = compileStack.getVariable(variableName, false);
Variable variable = compileStack.getVariable(variableName, false);
Variable variable = compileStack.getVariable(variableName, false);
/** * @return if the type of the expression can be determined at compile time * then this method returns the type - otherwise null */ protected ClassNode getExpressionType(Expression expression) { if (isComparisonExpression(expression)) { return ClassHelper.boolean_TYPE; } if (expression instanceof VariableExpression) { if (expression == VariableExpression.THIS_EXPRESSION) { return classNode; } else if (expression == VariableExpression.SUPER_EXPRESSION) { return classNode.getSuperClass(); } VariableExpression varExpr = (VariableExpression) expression; Variable variable = compileStack.getVariable(varExpr.getName(), false); if (variable != null && !variable.isHolder()) { ClassNode type = variable.getType(); if (!variable.isDynamicTyped()) return type; } if (variable == null) { org.codehaus.groovy.ast.Variable var = (org.codehaus.groovy.ast.Variable) compileStack.getScope().getReferencedClassVariable(varExpr.getName()); if (var != null && !var.isDynamicTyped()) return var.getType(); } } return expression.getType(); }
/** * @return if the type of the expression can be determined at compile time * then this method returns the type - otherwise null */ protected ClassNode getExpressionType(Expression expression) { if (isComparisonExpression(expression)) { return ClassHelper.boolean_TYPE; } if (expression instanceof VariableExpression) { VariableExpression varExpr = (VariableExpression)expression; if (varExpr.isThisExpression()) { return classNode; } else if (varExpr.isSuperExpression()) { return classNode.getSuperClass(); } Variable variable = compileStack.getVariable(varExpr.getName(), false); if (variable != null && !variable.isHolder()) { ClassNode type = variable.getType(); if (!variable.isDynamicTyped()) return type; } if (variable == null) { org.codehaus.groovy.ast.Variable var = (org.codehaus.groovy.ast.Variable) compileStack.getScope().getReferencedClassVariable(varExpr.getName()); if (var != null && !var.isDynamicTyped()) return var.getType(); } } return expression.getType(); }
/** * @return if the type of the expression can be determined at compile time * then this method returns the type - otherwise null */ protected ClassNode getExpressionType(Expression expression) { if (isComparisonExpression(expression)) { return ClassHelper.boolean_TYPE; } if (expression instanceof VariableExpression) { VariableExpression varExpr = (VariableExpression)expression; if (varExpr.isThisExpression()) { return classNode; } else if (varExpr.isSuperExpression()) { return classNode.getSuperClass(); } Variable variable = compileStack.getVariable(varExpr.getName(), false); if (variable != null && !variable.isHolder()) { ClassNode type = variable.getType(); if (!variable.isDynamicTyped()) return type; } if (variable == null) { org.codehaus.groovy.ast.Variable var = (org.codehaus.groovy.ast.Variable) compileStack.getScope().getReferencedClassVariable(varExpr.getName()); if (var != null && !var.isDynamicTyped()) return var.getType(); } } return expression.getType(); }
Variable variable = compileStack.getVariable(variableName, false); if (variable != null) { if (variable.isHolder()) {
Variable variable = compileStack.getVariable(variableName, false); if (variable != null) { if (variable.isHolder()) {
Variable variable = compileStack.getVariable(variableName, false); if (variable != null) { if (variable.isHolder()) {
visitFieldExpression(new FieldExpression(classNode.getDeclaredField(name))); } else { Variable v = compileStack.getVariable(name, classNode.getSuperClass() != ClassHelper.CLOSURE_TYPE); if (v == null) {