@Override public void caseAFieldDeclIR(AFieldDeclIR node) throws AnalysisException { if (node.getInitial() != null) { if (node.getInitial().getType() instanceof AUnionTypeIR) { correctTypes(node.getInitial(), node.getType()); } node.getInitial().apply(this); } }
private List<AFieldDeclIR> findDependencies(String className, AFieldDeclIR f, Map<String, AFieldDeclIR> fieldMap) throws AnalysisException { List<SVarExpIR> varExps = VarExpFinder.findOccurences(className, f.getInitial()); List<AFieldDeclIR> dependencies = new LinkedList<>(); for(SVarExpIR v : varExps) { AFieldDeclIR field = fieldMap.get(v.getName()); if(field != null) { dependencies.add(field); } } return dependencies; } }
/** * Called by the {@link AFieldDeclIR} node from {@link AFieldDeclIR#apply(IIsaAnalysis)}. * @param node the calling {@link AFieldDeclIR} node */ public void caseAFieldDeclIR(AFieldDeclIR node) throws AnalysisException { _visitedNodes.add(node); inAFieldDeclIR(node); if(node.getType() != null && !_visitedNodes.contains(node.getType())) { node.getType().apply(this); } if(node.getInitial() != null && !_visitedNodes.contains(node.getInitial())) { node.getInitial().apply(this); } outAFieldDeclIR(node); }
/** * Called by the {@link AFieldDeclIR} node from {@link AFieldDeclIR#apply(IAnalysis)}. * @param node the calling {@link AFieldDeclIR} node */ public void caseAFieldDeclIR(AFieldDeclIR node) throws AnalysisException { _visitedNodes.add(node); inAFieldDeclIR(node); if(node.getType() != null && !_visitedNodes.contains(node.getType())) { node.getType().apply(this); } if(node.getInitial() != null && !_visitedNodes.contains(node.getInitial())) { node.getInitial().apply(this); } outAFieldDeclIR(node); }
/** * Called by the {@link AFieldDeclIR} node from {@link AFieldDeclIR#apply(IAnalysis)}. * @param node the calling {@link AFieldDeclIR} node */ public void caseAFieldDeclIR(AFieldDeclIR node, Q question) throws AnalysisException { _visitedNodes.add(node); inAFieldDeclIR(node, question); if(node.getType() != null && !_visitedNodes.contains(node.getType())) { node.getType().apply(this, question); } if(node.getInitial() != null && !_visitedNodes.contains(node.getInitial())) { node.getInitial().apply(this, question); } outAFieldDeclIR(node, question); }
@Override public void inAFieldDeclIR(AFieldDeclIR node) throws AnalysisException { STypeIR nodeType = node.getType(); SExpIR initial = node.getInitial(); handleVarExp(nodeType, initial); if (initial == null) { return; } handleExp(initial, nodeType); }
/** * Called by the {@link AFieldDeclIR} node from {@link AFieldDeclIR#apply(IAnalysis)}. * @param node the calling {@link AFieldDeclIR} node */ public A caseAFieldDeclIR(AFieldDeclIR node, Q question) throws AnalysisException { _visitedNodes.add(node); A retVal = createNewReturnValue(node, question); mergeReturns(retVal,inAFieldDeclIR(node, question)); if(node.getType() != null && !_visitedNodes.contains(node.getType())) { mergeReturns(retVal,node.getType().apply(this, question)); } if(node.getInitial() != null && !_visitedNodes.contains(node.getInitial())) { mergeReturns(retVal,node.getInitial().apply(this, question)); } mergeReturns(retVal,outAFieldDeclIR(node, question)); return retVal; }
/** * Called by the {@link AFieldDeclIR} node from {@link AFieldDeclIR#apply(IAnalysis)}. * @param node the calling {@link AFieldDeclIR} node */ public A caseAFieldDeclIR(AFieldDeclIR node) throws AnalysisException { _visitedNodes.add(node); A retVal = createNewReturnValue(node); mergeReturns(retVal,inAFieldDeclIR(node)); if(node.getType() != null && !_visitedNodes.contains(node.getType())) { mergeReturns(retVal,node.getType().apply(this)); } if(node.getInitial() != null && !_visitedNodes.contains(node.getInitial())) { mergeReturns(retVal,node.getInitial().apply(this)); } mergeReturns(retVal,outAFieldDeclIR(node)); return retVal; }
if (f.getInitial() != null && f.getFinal()) if (!f.getInitial().apply(isVal))