Package com.sun.mirror.type

Examples of com.sun.mirror.type.DeclaredType


    }

    public TypeDeclaration asDecl(TypeMirror m) {
        m = env.getTypeUtils().getErasure(m);
        if (m instanceof DeclaredType) {
            DeclaredType d = (DeclaredType) m;
            return d.getDeclaration();
        } else
            return null;
    }
View Full Code Here


    public <T> TypeMirror erasure(TypeMirror t) {
        Types tu = env.getTypeUtils();
        t = tu.getErasure(t);
        if(t instanceof DeclaredType) {
            DeclaredType dt = (DeclaredType)t;
            if(!dt.getActualTypeArguments().isEmpty())
            return tu.getDeclaredType(dt.getDeclaration());
        }
        return t;
    }
View Full Code Here

        throw new IllegalArgumentException();
    }

    public TypeMirror getTypeArgument(TypeMirror typeMirror, int i) {
        if (typeMirror instanceof DeclaredType){
            DeclaredType d = (DeclaredType)typeMirror;
            TypeMirror[] args = d.getActualTypeArguments().toArray(new TypeMirror[0]);
            return args[i];
        } else throw  new IllegalArgumentException();
    }
View Full Code Here

        } else throw  new IllegalArgumentException();
    }

    public boolean isParameterizedType(TypeMirror t) {
        if (t instanceof DeclaredType) {
            DeclaredType d = (DeclaredType) t;
            return !d.getActualTypeArguments().isEmpty();
        }
        return false;
    }
View Full Code Here

      DecoratedTypeMirror decoratedPropertyType = (DecoratedTypeMirror) TypeMirrorDecorator.decorate(getPropertyType());
      isList = decoratedPropertyType.isCollection() || decoratedPropertyType.isArray();

      if (decoratedPropertyType.isCollection() && getPropertyType() instanceof DeclaredType) {
        final DeclaredType declaredType = (DeclaredType) getPropertyType();
        final Collection<TypeMirror> actualTypeArguments = declaredType.getActualTypeArguments();
        if(actualTypeArguments != null && actualTypeArguments.size() == 1) {
          targetType = TypeMirrorDecorator.decorate(actualTypeArguments.iterator().next());
        } else {
          targetType = getPropertyType();
        }
View Full Code Here

    }
    else if (typeMirror instanceof MapType) {
      return (MapType) typeMirror;
    }

    DeclaredType declaredType = (DeclaredType) typeMirror;
    TypeDeclaration declaration = declaredType.getDeclaration();
    if (declaration == null) {
      return null;
    }
    else if ("java.util.Map".equals(declaration.getQualifiedName())) {
      TypeMirror keyType = null;
      TypeMirror valueType = null;

      Collection<TypeMirror> typeArgs = declaredType.getActualTypeArguments();
      if ((typeArgs != null) && (typeArgs.size() == 2)) {
        Iterator<TypeMirror> argIt = typeArgs.iterator();
        keyType = argIt.next();
        valueType = argIt.next();
      }

      if ((keyType == null) || (valueType == null)) {
        AnnotationProcessorEnvironment env = Context.getCurrentEnvironment();
        TypeMirror objectType = env.getTypeUtils().getDeclaredType(env.getTypeDeclaration(Object.class.getName()));
        keyType = objectType;
        valueType = objectType;
      }

      return new MapType((InterfaceType) declaredType, keyType, valueType);
    }
    else if (TYPE_STACK.get().contains(declaration.getQualifiedName())) {
      return null;
    }
    else {
      TYPE_STACK.get().push(declaration.getQualifiedName());
      try {
        AdapterType adapterType = AdapterUtil.findAdapterType(declaration);
        if (adapterType != null) {
          return findMapType(adapterType.getAdaptingType());
        }
        else {
          MapType mapType = null;
          Collection<InterfaceType> superInterfaces = declaredType.getSuperinterfaces();
          for (InterfaceType superInterface : superInterfaces) {
            mapType = findMapType(superInterface);
            if (mapType != null) {
              break;
            }
View Full Code Here

   * @return Whether the class declaration is an instance of the declared type of the given fully-qualified name.
   */
  protected boolean isInstanceOf(ClassDeclaration classDeclaration, String fqn) {
    AnnotationProcessorEnvironment env = Context.getCurrentEnvironment();
    Types utils = env.getTypeUtils();
    DeclaredType declaredType = utils.getDeclaredType(env.getTypeDeclaration(classDeclaration.getQualifiedName()));
    DecoratedTypeMirror decorated = (DecoratedTypeMirror) TypeMirrorDecorator.decorate(declaredType);
    return decorated.isInstanceOf(fqn);
  }
View Full Code Here

      }
    }
    else if (typeMirror instanceof DeclaredType) {
      DecoratedTypeMirror decoratedTypeMirror = (DecoratedTypeMirror) TypeMirrorDecorator.decorate(typeMirror);
      if (decoratedTypeMirror.isCollection()) {
        DeclaredType declaredType = (DeclaredType) typeMirror;
        Iterator<TypeMirror> actualTypeArguments = declaredType.getActualTypeArguments().iterator();
        if (actualTypeArguments.hasNext()) {
          return super.convert(actualTypeArguments.next());
        }
        else {
          return Object.class.getName();
View Full Code Here

  }

  @Override
  public String convert(TypeMirror typeMirror) throws TemplateModelException {
    if (typeMirror instanceof DeclaredType) {
      DeclaredType declaredType = ((DeclaredType) typeMirror);
      String fqn = declaredType.getDeclaration().getQualifiedName();
      if (classConversions.containsKey(fqn)) {
        return classConversions.get(fqn);
      }
    }
View Full Code Here

        MapType mapType = ((MapType) type);
        imports.add(classnameFor.convert(mapType.getKeyType()));
        imports.add(classnameFor.convert(mapType.getValueType()));
      }
      else if (((DecoratedTypeMirror) type).isCollection()) {
        DeclaredType declaredType = (DeclaredType) type;
        Iterator<TypeMirror> actualTypeArguments = declaredType.getActualTypeArguments().iterator();
        if (actualTypeArguments.hasNext()) {
          imports.add(classnameFor.convert(actualTypeArguments.next()));
        }
      }
      else if (((DecoratedTypeMirror) type).isArray()) {
View Full Code Here

TOP

Related Classes of com.sun.mirror.type.DeclaredType

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.