Ejemplo n.º 1
0
 public Type getDefaultSuperClass() throws LookupException {
   TypeReference typeRef = createTypeReferenceInDefaultNamespace(getDefaultSuperClassFQN());
   Type result = typeRef.getType();
   if (result == null) {
     throw new LookupException("Default super class " + getDefaultSuperClassFQN() + " not found.");
   }
   return result;
 }
 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());
   }
 }
Ejemplo n.º 3
0
 public void setTypeReference(TypeReference reference) {
   if (reference != null) {
     _typeReference.connectTo(reference.parentLink());
   } else {
     _typeReference.connectTo(null);
   }
 }
Ejemplo n.º 4
0
  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());
    }
  }
Ejemplo n.º 5
0
 public TypeReference createTypeReferenceInDefaultNamespace(String fqn) {
   TypeReference typeRef = createTypeReference(fqn);
   typeRef.setUniParent(defaultNamespace());
   return typeRef;
 }
Ejemplo n.º 6
0
 public TypeReference createNonLocalTypeReference(TypeReference tref) {
   return createNonLocalTypeReference(tref, tref.parent());
 }
Ejemplo n.º 7
0
 public Type findType(String fqn) throws LookupException {
   TypeReference ref = createTypeReferenceInDefaultNamespace(fqn);
   return ref.getType();
 }