public void setTypeReference(TypeReference reference) { if (reference != null) { _typeReference.connectTo(reference.parentLink()); } else { _typeReference.connectTo(null); } }
public void setInitialization(Expression expression) { if (expression != null) { _expression.connectTo(expression.parentLink()); } else { _expression.connectTo(null); } }
public void replace(TypeReference replacement, final Declaration declarator, TypeReference<?> in) throws LookupException { UnsafePredicate<TypeReference, LookupException> predicate = new UnsafePredicate<TypeReference, LookupException>() { @Override public boolean eval(TypeReference object) throws LookupException { return object.getDeclarator().sameAs(declarator); } }; List<TypeReference> crefs = in.descendants(TypeReference.class, predicate); if (predicate.eval(in)) { crefs.add(in); } for (TypeReference cref : crefs) { TypeReference clonedReplacement = replacement.clone(); TypeReference substitute = createNonLocalTypeReference(clonedReplacement, replacement.parent()); // TypeReference substitute; // if(replacement.isDerived()) { // Element oldParent = replacement.parent(); // replacement.setUniParent(null); // substitute = createNonLocalTypeReference(replacement,oldParent); // } else { // substitute = createNonLocalTypeReference(replacement); // } SingleAssociation crefParentLink = cref.parentLink(); crefParentLink.getOtherRelation().replace(crefParentLink, substitute.parentLink()); } }
public void apply() { for (CrossReference cref : _targets) { SingleAssociation parentLink = cref.parentLink(); Association childLink = parentLink.getOtherRelation(); TypeReference namedTargetExpression = parameter().argument().substitutionReference().clone(); childLink.replace(parentLink, namedTargetExpression.parentLink()); } }
public TypeReference typeReference() { return (TypeReference) _typeReference.getOtherEnd(); }
public Expression initialization() { return _expression.getOtherEnd(); }