private CtRole getRoleInCompilationUnit(CtElement element) { CtRole role = element.getRoleInParent(); if (role == CtRole.CONTAINED_TYPE) { role = CtRole.DECLARED_TYPE; } return role; }
@Override public void addConstructor(CtConstructor<?> ctConstructor) { ctClass.addConstructor(ctConstructor); } @Override
protected void searchForPackageProtectedField(CtField<?> field, CtConsumer<Object> outputConsumer) { //package protected fields are visible in scope of the package of the top level type of the `field` field.getTopLevelType().getPackage() //visit all children of package, where top level type of the field is declared .filterChildren(null) .forEach(outputConsumer); } }
@Override public void enter(CtElement e) { e.setPosition(position); } });
@SuppressWarnings("unchecked") protected <T> T cloneIfNeeded(T value) { if (value instanceof CtElement) { return (T) ((CtElement) value).clone(); } return value; } }
@java.lang.Override public void set(spoon.reflect.reference.CtTypeReference replace) { this.element.setType(replace); } }
@java.lang.Override public void set(java.util.List replace) { this.element.setParameters(replace); } }
@java.lang.Override public void set(java.util.Set replace) { this.element.setThrownTypes(replace); } }
@java.lang.Override public void set(spoon.reflect.reference.CtReference replace) { this.element.setReference(replace); } }
@java.lang.Override public void set(java.util.Collection replace) { this.element.setImports(replace); } }
@java.lang.Override public void set(spoon.reflect.reference.CtModuleReference replace) { this.element.setDeclaredModuleReference(replace); } }
@Override public void addEnumValue(CtEnumValue<?> ctEnumValue) { ctEnum.addEnumValue(ctEnumValue); } });
@java.lang.Override public void set(java.util.List replace) { this.element.setAnnotations(replace); } }
@java.lang.Override public void set(java.util.List replace) { this.element.setFormalCtTypeParameters(replace); } }
@java.lang.Override public void set(java.util.List replace) { this.element.setEnumValues(replace); } }
@java.lang.Override public void set(java.util.Set replace) { this.element.setTypes(replace); } }
@java.lang.Override public void set(spoon.reflect.declaration.CtPackage replace) { this.element.setRootPackage(replace); } }
@java.lang.Override public void set(spoon.reflect.reference.CtPackageReference replace) { this.element.setReference(replace); } }