private static boolean isExprentIndependent(Exprent exprent, MethodWrapper method) { List<Exprent> lst = exprent.getAllExprents(true); lst.add(exprent); for (Exprent expr : lst) { switch (expr.type) { case Exprent.EXPRENT_VAR: VarVersionPair varPair = new VarVersionPair((VarExprent)expr); if (!method.varproc.getExternalVars().contains(varPair)) { String varName = method.varproc.getVarName(varPair); if (!varName.equals("this") && !varName.endsWith(".this")) { // FIXME: remove direct comparison with strings return false; } } break; case Exprent.EXPRENT_FIELD: return false; } } return true; } }
if (mapParamsToNewVars.containsKey(varIndex)) { VarVersionPair newVar = mapParamsToNewVars.get(varIndex); method.varproc.getExternalVars().add(newVar); return new VarExprent(newVar.var, method.varproc.getVarType(newVar), method.varproc); method.varproc.getExternalVars().add(newVar); return new VarExprent(newVar.var, method.varproc.getVarType(newVar), method.varproc);
private static boolean isExprentIndependent(Exprent exprent, MethodWrapper method) { List<Exprent> lst = exprent.getAllExprents(true); lst.add(exprent); for (Exprent expr : lst) { switch (expr.type) { case Exprent.EXPRENT_VAR: VarVersionPair varPair = new VarVersionPair((VarExprent)expr); if (!method.varproc.getExternalVars().contains(varPair)) { String varName = method.varproc.getVarName(varPair); if (!varName.equals("this") && !varName.endsWith(".this")) { // FIXME: remove direct comparison with strings return false; } } break; case Exprent.EXPRENT_FIELD: return false; } } return true; } }
if (mapParamsToNewVars.containsKey(varIndex)) { VarVersionPair newVar = mapParamsToNewVars.get(varIndex); method.varproc.getExternalVars().add(newVar); return new VarExprent(newVar.var, method.varproc.getVarType(newVar), method.varproc); method.varproc.getExternalVars().add(newVar); return new VarExprent(newVar.var, method.varproc.getVarType(newVar), method.varproc);