@SuppressWarnings("unchecked") @Override public void apply() { olderNameOfVariable.clear(); for (String placeholder : palceholdersToVariables.keySet()) { List<CtVariableAccess> variables = palceholdersToVariables.get(placeholder); for (CtVariableAccess variableUnderAnalysis : variables) { this.olderNameOfVariable.put(variableUnderAnalysis, variableUnderAnalysis.getVariable().getSimpleName()); variableUnderAnalysis.getVariable().setSimpleName(placeholder); // workaround: Problems with var Shadowing variableUnderAnalysis.getFactory().getEnvironment().setNoClasspath(true); if (variableUnderAnalysis instanceof CtFieldAccess) { CtFieldAccess fieldAccess = (CtFieldAccess) variableUnderAnalysis; fieldAccess.getVariable().setDeclaringType(null); } } } }
var.getFactory().getEnvironment().setNoClasspath(true); if (var instanceof CtFieldAccess) { CtFieldAccess fieldAccess = (CtFieldAccess) var;
@Override public void apply() { // previousVariable.replace(newLiteral); previousname = affectedVariable.getVariable().getSimpleName(); affectedVariable.getVariable().setSimpleName(placeholder_name); //Workarround affectedVariable.getFactory().getEnvironment().setNoClasspath(true); if (affectedVariable instanceof CtFieldAccess) { CtFieldAccess fieldAccess = (CtFieldAccess) affectedVariable; fieldAccess.getVariable().setDeclaringType(null); } }
@Override public <T> void visitCtVariableAccess(CtVariableAccess<T> variableAccess) { CtVariable<?> v = variableAccess.getVariable().getDeclaration(); if (v != null && v.hasModifier(ModifierKind.FINAL) && v.getDefaultExpression() != null) { setResult(evaluate(v, v.getDefaultExpression())); } else { setResult(variableAccess.getFactory().Core().clone(variableAccess)); } }