public static Expression getImplicitParameterRef(ClosureExpression expr) { assert hasImplicitParameter(expr); DynamicVariable var = new DynamicVariable("it", false); return new VariableExpression(var); }
public ClassNode getOriginType() { return getType(); }
public void testPrimitiveOriginTypeConstructorDynVariable() { DynamicVariable dynVariable = new DynamicVariable("foo",false); assertEquals(dynVariable.getOriginType().getName(),"java.lang.Object"); }
String dynName = dyn.getName(); if (tryVariableExpressionAsProperty(vexp, dynName)) return;
public void testIsDynamicTyped_DynamicVariable() { VariableExpression intExpression = new VariableExpression(new DynamicVariable("foo",false)); assertTrue(intExpression.isDynamicTyped()); } }
public ClassNode getOriginType() { return getType(); }
private void checkVariableContextAccess(Variable v, Expression expr) { if (v.isInStaticContext() || !currentScope.isInStaticContext()) return; String msg = v.getName() + " is declared in a dynamic context, but you tried to" + " access it from a static context."; addError(msg, expr); // declare a static variable to be able to continue the check DynamicVariable v2 = new DynamicVariable(v.getName(), currentScope.isInStaticContext()); currentScope.putDeclaredVariable(v2); }
public ClassNode getOriginType() { return getType(); }
private Variable findClassMember(ClassNode cn, String name) { if (cn == null) return null; if (cn.isScript()) { return new DynamicVariable(name, false); } for (FieldNode fn : cn.getFields()) { if (fn.getName().equals(name)) return fn; } for (MethodNode mn : cn.getMethods()) { String pName = getPropertyName(mn); if (name.equals(pName)) { PropertyNode property = new PropertyNode(name, mn.getModifiers(), ClassHelper.OBJECT_TYPE, cn, null, null, null); property.getField().setHasNoRealSourcePosition(true); property.getField().setSynthetic(true); property.getField().setDeclaringClass(cn); property.setDeclaringClass(cn); return property; } } for (PropertyNode pn : cn.getProperties()) { if (pn.getName().equals(name)) return pn; } Variable ret = findClassMember(cn.getSuperClass(), name); if (ret != null) return ret; return findClassMember(cn.getOuterClass(), name); }
public ClassNode getOriginType() { return getType(); }
Variable var = new DynamicVariable(name, currentScope.isInStaticContext()); Variable orig = var; var = new DynamicVariable(var.getName(), true);
public ClassNode getOriginType() { return getType(); }
private Variable findClassMember(ClassNode cn, String name) { if (cn == null) return null; if (cn.isScript()) { return new DynamicVariable(name, false); } List l = cn.getFields(); for (Iterator iter = l.iterator(); iter.hasNext();) { FieldNode f = (FieldNode) iter.next(); if (f.getName().equals(name)) return f; } l = cn.getMethods(); for (Iterator iter = l.iterator(); iter.hasNext();) { MethodNode f = (MethodNode) iter.next(); String methodName = f.getName(); String pName = getPropertyName(f); if (pName == null) continue; if (!pName.equals(name)) continue; PropertyNode var = new PropertyNode(pName, f.getModifiers(), getPropertyType(f), cn, null, null, null); return var; } l = cn.getProperties(); for (Iterator iter = l.iterator(); iter.hasNext();) { PropertyNode f = (PropertyNode) iter.next(); if (f.getName().equals(name)) return f; } Variable ret = findClassMember(cn.getSuperClass(), name); if (ret != null) return ret; return findClassMember(cn.getOuterClass(), name); }
private Variable findClassMember(ClassNode cn, String name) { if (cn == null) return null; if (cn.isScript()) { return new DynamicVariable(name, false); } List l = cn.getFields(); for (Iterator iter = l.iterator(); iter.hasNext();) { FieldNode f = (FieldNode) iter.next(); if (f.getName().equals(name)) return f; } l = cn.getMethods(); for (Iterator iter = l.iterator(); iter.hasNext();) { MethodNode f = (MethodNode) iter.next(); String methodName = f.getName(); String pName = getPropertyName(f); if (pName == null) continue; if (!pName.equals(name)) continue; PropertyNode var = new PropertyNode(pName, f.getModifiers(), getPropertyType(f), cn, null, null, null); return var; } l = cn.getProperties(); for (Iterator iter = l.iterator(); iter.hasNext();) { PropertyNode f = (PropertyNode) iter.next(); if (f.getName().equals(name)) return f; } Variable ret = findClassMember(cn.getSuperClass(), name); if (ret != null) return ret; return findClassMember(cn.getOuterClass(), name); }
private Variable findClassMember(ClassNode cn, String name) { if (cn == null) return null; if (cn.isScript()) { return new DynamicVariable(name, false); } List l = cn.getFields(); for (Iterator iter = l.iterator(); iter.hasNext();) { FieldNode f = (FieldNode) iter.next(); if (f.getName().equals(name)) return f; } l = cn.getMethods(); for (Iterator iter = l.iterator(); iter.hasNext();) { MethodNode f = (MethodNode) iter.next(); String methodName = f.getName(); String pName = getPropertyName(f); if (pName == null) continue; if (!pName.equals(name)) continue; PropertyNode var = new PropertyNode(pName, f.getModifiers(), getPropertyType(f), cn, null, null, null); return var; } l = cn.getProperties(); for (Iterator iter = l.iterator(); iter.hasNext();) { PropertyNode f = (PropertyNode) iter.next(); if (f.getName().equals(name)) return f; } Variable ret = findClassMember(cn.getSuperClass(), name); if (ret != null) return ret; return findClassMember(cn.getOuterClass(), name); }
private void checkVariableContextAccess(Variable v, Expression expr) { if (inPropertyExpression || v.isInStaticContext() || !currentScope.isInStaticContext()) return; String msg = v.getName() + " is declared in a dynamic context, but you tried to" + " access it from a static context."; addError(msg, expr); // declare a static variable to be able to continue the check DynamicVariable v2 = new DynamicVariable(v.getName(), currentScope.isInStaticContext()); currentScope.putDeclaredVariable(v2); }
private void checkVariableContextAccess(Variable v, Expression expr) { if (inPropertyExpression || v.isInStaticContext() || !currentScope.isInStaticContext()) return; String msg = v.getName() + " is declared in a dynamic context, but you tried to" + " access it from a static context."; addError(msg, expr); // declare a static variable to be able to continue the check DynamicVariable v2 = new DynamicVariable(v.getName(), currentScope.isInStaticContext()); currentScope.putDeclaredVariable(v2); }
private void checkVariableContextAccess(Variable v, Expression expr) { if (inPropertyExpression || v.isInStaticContext() || !currentScope.isInStaticContext()) return; String msg = v.getName() + " is declared in a dynamic context, but you tried to" + " access it from a static context."; addError(msg, expr); // declare a static variable to be able to continue the check DynamicVariable v2 = new DynamicVariable(v.getName(), currentScope.isInStaticContext()); currentScope.putDeclaredVariable(v2); }
private void checkVariableContextAccess(Variable v, Expression expr) { if (inPropertyExpression || v.isInStaticContext() || !currentScope.isInStaticContext()) return; String msg = v.getName() + " is declared in a dynamic context, but you tried to" + " access it from a static context."; addError(msg, expr); // declare a static variable to be able to continue the check DynamicVariable v2 = new DynamicVariable(v.getName(), currentScope.isInStaticContext()); currentScope.putDeclaredVariable(v2); }
private Variable findClassMember(ClassNode cn, String name) { if (cn == null) return null; if (cn.isScript()) { return new DynamicVariable(name, false); } for (FieldNode fn : cn.getFields()) { if (fn.getName().equals(name)) return fn; } for (MethodNode mn : cn.getMethods()) { String pName = getPropertyName(mn); if (pName != null && pName.equals(name)) return new PropertyNode(pName, mn.getModifiers(), getPropertyType(mn), cn, null, null, null); } for (PropertyNode pn : cn.getProperties()) { if (pn.getName().equals(name)) return pn; } Variable ret = findClassMember(cn.getSuperClass(), name); if (ret != null) return ret; return findClassMember(cn.getOuterClass(), name); }