@Override public PType defaultPObjectDesignator(PObjectDesignator node, TypeCheckInfo question) throws AnalysisException { return node.apply(tcOthers, question); }
@Override public ILexLocation defaultPObjectDesignator(PObjectDesignator node) throws AnalysisException { return node.getLocation(); }
/** * Sets the {@code _object} child of this {@link AApplyObjectDesignator} node. * @param value the new {@code _object} child of this {@link AApplyObjectDesignator} node */ public void setObject(PObjectDesignator value) { if (this._object != null) { this._object.parent(null); } if (value != null) { if (value.parent() != null) { value.parent().removeChild(value); } value.parent(this); } this._object = value; }
/** * Called by the {@link AApplyObjectDesignator} node from {@link AApplyObjectDesignator#apply(IPOFAnalysis)}. * @param node the calling {@link AApplyObjectDesignator} node */ public void caseAApplyObjectDesignator(AApplyObjectDesignator node) throws AnalysisException { _visitedNodes.add(node); inAApplyObjectDesignator(node); if(node.getObject() != null && !_visitedNodes.contains(node.getObject())) { node.getObject().apply(this); } { List<PExp> copy = new ArrayList<PExp>(node.getArgs()); for( PExp e : copy) { if(!_visitedNodes.contains(e)) { e.apply(this); } } } outAApplyObjectDesignator(node); }
public static AApplyObjectDesignator newAApplyObjectDesignator( PObjectDesignator object, List<PExp> args) { AApplyObjectDesignator result = new AApplyObjectDesignator(); result.setLocation(object.getLocation()); result.setObject(object); result.setArgs(args); return result; }
/** * Sets the {@code _designator} child of this {@link ACallObjectStm} node. * @param value the new {@code _designator} child of this {@link ACallObjectStm} node */ public void setDesignator(PObjectDesignator value) { if (this._designator != null) { this._designator.parent(null); } if (value != null) { if (value.parent() != null) { value.parent().removeChild(value); } value.parent(this); } this._designator = value; }
/** * Called by the {@link AApplyObjectDesignator} node from {@link AApplyObjectDesignator#apply(IAnalysis)}. * @param node the calling {@link AApplyObjectDesignator} node */ public void caseAApplyObjectDesignator(AApplyObjectDesignator node, Q question) throws AnalysisException { _visitedNodes.add(node); inAApplyObjectDesignator(node, question); if(node.getObject() != null && !_visitedNodes.contains(node.getObject())) { node.getObject().apply(this, question); } { List<PExp> copy = new ArrayList<PExp>(node.getArgs()); for( PExp e : copy) { if(!_visitedNodes.contains(e)) { e.apply(this, question); } } } outAApplyObjectDesignator(node, question); }
public static AFieldObjectDesignator newAFieldObjectDesignator( PObjectDesignator object, ILexIdentifierToken fieldname) { AFieldObjectDesignator result = new AFieldObjectDesignator(); result.setLocation(object.getLocation()); result.setObject(object); result.setClassName(null); result.setFieldName(fieldname); return result; }
/** * Sets the {@code _object} child of this {@link AFieldObjectDesignator} node. * @param value the new {@code _object} child of this {@link AFieldObjectDesignator} node */ public void setObject(PObjectDesignator value) { if (this._object != null) { this._object.parent(null); } if (value != null) { if (value.parent() != null) { value.parent().removeChild(value); } value.parent(this); } this._object = value; }
/** * Called by the {@link AApplyObjectDesignator} node from {@link AApplyObjectDesignator#apply(IAnalysis)}. * @param node the calling {@link AApplyObjectDesignator} node */ public void caseAApplyObjectDesignator(AApplyObjectDesignator node) throws AnalysisException { _visitedNodes.add(node); inAApplyObjectDesignator(node); if(node.getObject() != null && !_visitedNodes.contains(node.getObject())) { node.getObject().apply(this); } { List<PExp> copy = new ArrayList<PExp>(node.getArgs()); for( PExp e : copy) { if(!_visitedNodes.contains(e)) { e.apply(this); } } } outAApplyObjectDesignator(node); }
public static PObjectDesignator newAFieldObjectDesignator( PObjectDesignator object, ILexNameToken classname) { AFieldObjectDesignator result = new AFieldObjectDesignator(); result.setLocation(object.getLocation()); result.setObject(object); result.setClassName(classname); result.setFieldName(null); return result; }
/** * Called by the {@link AApplyObjectDesignator} node from {@link AApplyObjectDesignator#apply(IAnalysis)}. * @param node the calling {@link AApplyObjectDesignator} node */ public A caseAApplyObjectDesignator(AApplyObjectDesignator node, Q question) throws AnalysisException { _visitedNodes.add(node); A retVal = createNewReturnValue(node, question); mergeReturns(retVal,inAApplyObjectDesignator(node, question)); if(node.getObject() != null && !_visitedNodes.contains(node.getObject())) { mergeReturns(retVal,node.getObject().apply(this, question)); } { List<PExp> copy = new ArrayList<PExp>(node.getArgs()); for( PExp e : copy) { if(!_visitedNodes.contains(e)) { mergeReturns(retVal,e.apply(this, question)); } } } mergeReturns(retVal,outAApplyObjectDesignator(node, question)); return retVal; }
public static ACallObjectStm newACallObjectStm( PObjectDesignator designator, ILexIdentifierToken fieldname, List<PExp> args) { ACallObjectStm result = new ACallObjectStm(); initStatement(result, designator.getLocation()); result.setDesignator(designator); result.setClassname(null); result.setFieldname(fieldname); result.setArgs(args); result.setExplicit(false); return result; }
/** * Called by the {@link AApplyObjectDesignator} node from {@link AApplyObjectDesignator#apply(IAnalysis)}. * @param node the calling {@link AApplyObjectDesignator} node */ public A caseAApplyObjectDesignator(AApplyObjectDesignator node) throws AnalysisException { _visitedNodes.add(node); A retVal = createNewReturnValue(node); mergeReturns(retVal,inAApplyObjectDesignator(node)); if(node.getObject() != null && !_visitedNodes.contains(node.getObject())) { mergeReturns(retVal,node.getObject().apply(this)); } { List<PExp> copy = new ArrayList<PExp>(node.getArgs()); for( PExp e : copy) { if(!_visitedNodes.contains(e)) { mergeReturns(retVal,e.apply(this)); } } } mergeReturns(retVal,outAApplyObjectDesignator(node)); return retVal; }
public static ACallObjectStm newACallObjectStm( PObjectDesignator designator, ILexNameToken classname, List<PExp> args) { ACallObjectStm result = new ACallObjectStm(); initStatement(result, designator.getLocation()); result.setDesignator(designator); result.setClassname(classname); result.setFieldname(null); result.setArgs(args); result.setExplicit(classname.getExplicit()); return result; }
@Override public SObjectDesignatorIR caseAApplyObjectDesignator( AApplyObjectDesignator node, IRInfo question) throws AnalysisException { PObjectDesignator obj = node.getObject(); SObjectDesignatorIR objCg = obj.apply(question.getObjectDesignatorVisitor(), question); AApplyObjectDesignatorIR applyObjDesignator = new AApplyObjectDesignatorIR(); applyObjDesignator.setObject(objCg); LinkedList<SExpIR> newExpArgs = applyObjDesignator.getArgs(); for (PExp arg : node.getArgs()) { SExpIR argCg = arg.apply(question.getExpVisitor(), question); if (argCg != null) { newExpArgs.add(argCg); } else { return null; } } return applyObjDesignator; }
/** * Called by the {@link AFieldObjectDesignator} node from {@link AFieldObjectDesignator#apply(IPOFAnalysis)}. * @param node the calling {@link AFieldObjectDesignator} node */ public void caseAFieldObjectDesignator(AFieldObjectDesignator node) throws AnalysisException { _visitedNodes.add(node); inAFieldObjectDesignator(node); if(node.getObject() != null && !_visitedNodes.contains(node.getObject())) { node.getObject().apply(this); } if(node.getClassName() != null ) { node.getClassName().apply(this); } if(node.getFieldName() != null ) { node.getFieldName().apply(this); } if(node.getField() != null ) { node.getField().apply(this); } outAFieldObjectDesignator(node); }
node.getDesignator().apply(this);
node.getDesignator().apply(this);