@Override public TypeRef addModifiers(Modifier... mds) { return (TypeRef) super.addModifiers(mds); } public static abstract class TaggedTypeRef extends TypeRef {
@Override public Declarator addModifiers(Modifier... mds) { return (Declarator)super.addModifiers(mds); } public abstract MutableByDeclarator mutateType(MutableByDeclarator t);
public ModifiableElement addModifiers(Modifier... mds) { return addModifiers(Arrays.asList(mds)); } public Object getModifierValue(ModifierType t) {
void moveModifiersOfType(ModifierKind kind, ModifiableElement source, ModifiableElement destination) { List<Modifier> mods = null; for (Modifier m : source.getModifiers()) { if (m.isA(kind)) { if (mods == null) { mods = new ArrayList<Modifier>(); } mods.add(m); } } if (mods != null) { Modifier[] modsArray = mods.toArray(new Modifier[mods.size()]); source.removeModifiers(modsArray); destination.addModifiers(modsArray); } } static Modifier longAlias = ModifierType.Long.resolveAlias(), shortAlias = ModifierType.Short.resolveAlias();
void moveModifiersOfType(ModifierKind kind, ModifiableElement source, ModifiableElement destination) { List<Modifier> mods = null; for (Modifier m : source.getModifiers()) { if (m.isA(kind)) { if (mods == null) { mods = new ArrayList<Modifier>(); } mods.add(m); } } if (mods != null) { Modifier[] modsArray = mods.toArray(new Modifier[mods.size()]); source.removeModifiers(modsArray); destination.addModifiers(modsArray); } } static Modifier longAlias = ModifierType.Long.resolveAlias(), shortAlias = ModifierType.Short.resolveAlias();
@Override protected void visitTypeRef(TypeRef tr) { super.visitTypeRef(tr); Element parent = tr.getParentElement(); if (parent instanceof TypeRef) {// || parent instanceof VariablesDeclaration) { List<Modifier> stoMods = getStoMods(tr.getModifiers()); if (stoMods != null) { List<Modifier> newMods = new ArrayList<Modifier>(tr.getModifiers()); newMods.removeAll(stoMods); tr.setModifiers(newMods); ((ModifiableElement) parent).addModifiers(stoMods); } } }
@Override protected void visitTypeRef(TypeRef tr) { super.visitTypeRef(tr); Element parent = tr.getParentElement(); if (parent instanceof TypeRef) {// || parent instanceof VariablesDeclaration) { List<Modifier> stoMods = getStoMods(tr.getModifiers()); if (stoMods != null) { List<Modifier> newMods = new ArrayList<Modifier>(tr.getModifiers()); newMods.removeAll(stoMods); tr.setModifiers(newMods); ((ModifiableElement) parent).addModifiers(stoMods); } } }