@Override protected void refactorNoCheck() { getTarget().map(new VariableReferenceFunction()).forEach(new CtConsumer<CtReference>() { @Override public void accept(CtReference t) { t.setSimpleName(newName); } }); target.setSimpleName(newName); }
/** * Creates a local variable declaration. * * @param <T> * the local variable type * @param type * the reference to the type * @param name * the name of the variable * @param defaultExpression * the assigned default expression * @return a new local variable declaration */ public <T> CtLocalVariable<T> createLocalVariable(CtTypeReference<T> type, String name, CtExpression<T> defaultExpression) { return factory.Core().<T>createLocalVariable().<CtLocalVariable<T>>setSimpleName(name).<CtLocalVariable<T>>setType(type).setDefaultExpression(defaultExpression); }
public <T> void visitCtLocalVariable(spoon.reflect.code.CtLocalVariable<T> e) { ((spoon.reflect.code.CtLocalVariable<T>) (other)).setSimpleName(e.getSimpleName()); ((spoon.reflect.code.CtLocalVariable<T>) (other)).setModifiers(e.getModifiers()); ((spoon.reflect.code.CtLocalVariable<T>) (other)).setInferred(e.isInferred()); super.visitCtLocalVariable(e); }
@Override public boolean visit(LocalDeclaration localDeclaration, BlockScope scope) { CtLocalVariable<Object> v = factory.Core().createLocalVariable(); boolean isVar = localDeclaration.type.isTypeNameVar(scope); if (isVar) { v.setInferred(true); } v.setSimpleName(CharOperation.charToString(localDeclaration.name)); if (localDeclaration.binding != null) { v.setExtendedModifiers(getModifiers(localDeclaration.binding.modifiers, true, false)); } for (CtExtendedModifier extendedModifier : getModifiers(localDeclaration.modifiers, false, false)) { v.addModifier(extendedModifier.getKind()); // avoid to keep implicit AND explicit modifier of the same kind. } context.enter(v, localDeclaration); return true; }
/** * Creates a local variable declaration. * * @param <T> * the local variable type * @param type * the reference to the type * @param name * the name of the variable * @param defaultExpression * the assigned default expression * @return a new local variable declaration */ public <T> CtLocalVariable<T> createLocalVariable(CtTypeReference<T> type, String name, CtExpression<T> defaultExpression) { return factory.Core().<T>createLocalVariable().<CtLocalVariable<T>>setSimpleName(name).<CtLocalVariable<T>>setType(type).setDefaultExpression(defaultExpression); }
public static <T> CtLocalVariable<T> newLocalVariable(Factory factory, Class<T> aClass, String variableName) { CtLocalVariable<T> variable = factory.Core().createLocalVariable(); variable.setType((CtTypeReference<T>) newTypeReference(factory, aClass).unbox()); variable.setSimpleName(variableName); return variable; }
@Override public boolean visit(LocalDeclaration localDeclaration, BlockScope scope) { CtLocalVariable<Object> v = factory.Core().createLocalVariable(); v.setSimpleName(new String(localDeclaration.name)); v.setType(references.getTypeReference(localDeclaration.type.resolvedType)); v.setModifiers(getModifiers(localDeclaration.modifiers)); context.enter(v, localDeclaration); if (localDeclaration.initialization != null) { context.arguments.push(v); localDeclaration.initialization.traverse(this, scope); context.arguments.pop(); } if (localDeclaration.annotations != null) { for (Annotation a : localDeclaration.annotations) { // TODO Sorry for that but there is a bug in JDT : https://bugs.eclipse.org/bugs/show_bug.cgi?id=459528 if (isContainsInTypeAnnotation(localDeclaration.type.resolvedType, a)) { a.traverse(this, scope); } } } return false; }