public void visitPropertyExpression(PropertyExpression expression) { Expression objectExpression = expression.getObjectExpression(); OperandStack operandStack = controller.getOperandStack(); int mark = operandStack.getStackLength()-1; MethodCallerMultiAdapter adapter; if (controller.getCompileStack().isLHS()) { //operandStack.box(); adapter = setProperty; if (isGroovyObject(objectExpression)) adapter = setGroovyObjectProperty; if (isThisOrSuperInStaticContext(objectExpression)) adapter = setProperty; } else { adapter = getProperty; if (isGroovyObject(objectExpression)) adapter = getGroovyObjectProperty; if (isThisOrSuperInStaticContext(objectExpression)) adapter = getProperty; } visitAttributeOrProperty(expression, adapter); if (controller.getCompileStack().isLHS()) { // remove surplus values operandStack.remove(operandStack.getStackLength()-mark); } else { controller.getAssertionWriter().record(expression.getProperty()); } }
if (controller.getCompileStack().isLHS()) { adapter = setField; if (isGroovyObject(objectExpression)) adapter = setGroovyObjectField; if (usesSuper(expression)) adapter = setFieldOnSuper; } else { adapter = getField; if (isGroovyObject(objectExpression)) adapter = getGroovyObjectField; if (usesSuper(expression)) adapter = getFieldOnSuper;
public void visitAttributeExpression(AttributeExpression expression) { Expression objectExpression = expression.getObjectExpression(); MethodCallerMultiAdapter adapter; if (leftHandExpression) { adapter = setField; if (isGroovyObject(objectExpression)) adapter = setGroovyObjectField; if (usesSuper(expression)) adapter = setFieldOnSuper; } else { adapter = getField; if (isGroovyObject(objectExpression)) adapter = getGroovyObjectField; if (usesSuper(expression)) adapter = getFieldOnSuper; } visitAttributeOrProperty(expression, adapter); }
public void visitAttributeExpression(AttributeExpression expression) { Expression objectExpression = expression.getObjectExpression(); MethodCallerMultiAdapter adapter; if (leftHandExpression) { adapter = setField; if (isGroovyObject(objectExpression)) adapter = setGroovyObjectField; if (usesSuper(expression)) adapter = setFieldOnSuper; } else { adapter = getField; if (isGroovyObject(objectExpression)) adapter = getGroovyObjectField; if (usesSuper(expression)) adapter = getFieldOnSuper; } visitAttributeOrProperty(expression, adapter); }
public void visitAttributeExpression(AttributeExpression expression) { Expression objectExpression = expression.getObjectExpression(); MethodCallerMultiAdapter adapter; if (leftHandExpression) { adapter = setField; if (isGroovyObject(objectExpression)) adapter = setGroovyObjectField; if (usesSuper(expression)) adapter = setFieldOnSuper; } else { adapter = getField; if (isGroovyObject(objectExpression)) adapter = getGroovyObjectField; if (usesSuper(expression)) adapter = getFieldOnSuper; } visitAttributeOrProperty(expression, adapter); }
public void visitPropertyExpression(PropertyExpression expression) { Expression objectExpression = expression.getObjectExpression(); MethodCallerMultiAdapter adapter; if (leftHandExpression) { adapter = setProperty; if (isGroovyObject(objectExpression)) adapter = setGroovyObjectProperty; if (isStaticContext() && isThisOrSuper(objectExpression)) adapter = setProperty; } else { adapter = getProperty; if (isGroovyObject(objectExpression)) adapter = getGroovyObjectProperty; if (isStaticContext() && isThisOrSuper(objectExpression)) adapter = getProperty; } visitAttributeOrProperty(expression, adapter); }
public void visitPropertyExpression(PropertyExpression expression) { Expression objectExpression = expression.getObjectExpression(); MethodCallerMultiAdapter adapter; if (leftHandExpression) { adapter = setProperty; if (isGroovyObject(objectExpression)) adapter = setGroovyObjectProperty; if (isStaticContext() && isThisOrSuper(objectExpression)) adapter = setProperty; } else { adapter = getProperty; if (isGroovyObject(objectExpression)) adapter = getGroovyObjectProperty; if (isStaticContext() && isThisOrSuper(objectExpression)) adapter = getProperty; } visitAttributeOrProperty(expression, adapter); }
public void visitPropertyExpression(PropertyExpression expression) { Expression objectExpression = expression.getObjectExpression(); MethodCallerMultiAdapter adapter; if (leftHandExpression) { adapter = setProperty; if (isGroovyObject(objectExpression)) adapter = setGroovyObjectProperty; if (isStaticContext() && isThisOrSuper(objectExpression)) adapter = setProperty; } else { adapter = getProperty; if (isGroovyObject(objectExpression)) adapter = getGroovyObjectProperty; if (isStaticContext() && isThisOrSuper(objectExpression)) adapter = getProperty; } visitAttributeOrProperty(expression, adapter); }
public void visitAttributeExpression(AttributeExpression expression) { Expression objectExpression = expression.getObjectExpression(); MethodCallerMultiAdapter adapter; if (controller.getCompileStack().isLHS()) { adapter = setField; if (isGroovyObject(objectExpression)) adapter = setGroovyObjectField; if (usesSuper(expression)) adapter = setFieldOnSuper; } else { adapter = getField; if (isGroovyObject(objectExpression)) adapter = getGroovyObjectField; if (usesSuper(expression)) adapter = getFieldOnSuper; } visitAttributeOrProperty(expression, adapter); if (!controller.getCompileStack().isLHS()) { controller.getAssertionWriter().record(expression.getProperty()); } else { controller.getOperandStack().remove(2); } }
public void visitPropertyExpression(PropertyExpression expression) { Expression objectExpression = expression.getObjectExpression(); OperandStack operandStack = controller.getOperandStack(); int mark = operandStack.getStackLength()-1; MethodCallerMultiAdapter adapter; if (controller.getCompileStack().isLHS()) { //operandStack.box(); adapter = setProperty; if (isGroovyObject(objectExpression)) adapter = setGroovyObjectProperty; if (controller.isStaticContext() && isThisOrSuper(objectExpression)) adapter = setProperty; } else { adapter = getProperty; if (isGroovyObject(objectExpression)) adapter = getGroovyObjectProperty; if (controller.isStaticContext() && isThisOrSuper(objectExpression)) adapter = getProperty; } visitAttributeOrProperty(expression, adapter); if (controller.getCompileStack().isLHS()) { // remove surplus values operandStack.remove(operandStack.getStackLength()-mark); } else { controller.getAssertionWriter().record(expression.getProperty()); } }