com.google.common.base.Equivalence.Wrapper#javax.lang.model.type.TypeMirror源码实例Demo

下面列出了com.google.common.base.Equivalence.Wrapper#javax.lang.model.type.TypeMirror 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: alchemy   文件: RelationRule.java
private void processOneToMany(Element field, Element collectionType, TypeMirror relation) {
    if (!mTypeUtils.isAssignable(collectionType.asType(), List.class)) {
        throw new ElementException("Relation type must be subclass of List<E>", field);
    }
    relation.accept(new SimpleTypeVisitor7<Void, Void>() {
        @Override
        public Void visitDeclared(DeclaredType t, Void unused) {
            final Element element = t.asElement();
            if (element.getAnnotation(Entry.class) == null) {
                throw new ElementException("Related type must be annotated with @Entry", element);
            }
            final Element enclosingElement = field.getEnclosingElement();
            final TableSpec lTable = mCompileGraph.findTableSpec(enclosingElement);
            final TableSpec rTable = mCompileGraph.findTableSpec(element);
            final ClassName className = makeClassName(field);
            final RelationSpec relationSpec = new RelationSpec(
                    field, className, lTable, rTable, true);
            mCompileGraph.putRelationSpec(enclosingElement, relationSpec);
            return super.visitDeclared(t, unused);
        }
    }, null);
}
 
源代码2 项目: deptective   文件: DeptectiveTreeVisitor.java
/**
 * Returns the qualified Package Name of the given Tree object or null if the package could not be determined
 */
protected String getQualifiedPackageName(Tree tree) {
    TypeMirror typeMirror = trees.getTypeMirror(getCurrentPath());
    if (typeMirror == null) {
        return null;
    }

    if (typeMirror.getKind() != TypeKind.DECLARED && typeMirror.getKind() != TypeKind.TYPEVAR) {
        return null;
    }

    Element typeMirrorElement = types.asElement(typeMirror);
    if (typeMirrorElement == null) {
        throw new IllegalStateException("Could not get Element for type '" + typeMirror + "'");
    }
    PackageElement pakkage = elements.getPackageOf(typeMirrorElement);
    return pakkage.getQualifiedName().toString();
}
 
源代码3 项目: auto-parcel   文件: AutoParcelProcessor.java
private ImmutableMap<TypeMirror, FieldSpec> getTypeAdapters(ImmutableList<Property> properties) {
    Map<TypeMirror, FieldSpec> typeAdapters = new LinkedHashMap<>();
    NameAllocator nameAllocator = new NameAllocator();
    nameAllocator.newName("CREATOR");
    for (Property property : properties) {
        if (property.typeAdapter != null && !typeAdapters.containsKey(property.typeAdapter)) {
            ClassName typeName = (ClassName) TypeName.get(property.typeAdapter);
            String name = CaseFormat.LOWER_CAMEL.to(CaseFormat.UPPER_UNDERSCORE, typeName.simpleName());
            name = nameAllocator.newName(name, typeName);

            typeAdapters.put(property.typeAdapter, FieldSpec.builder(
                    typeName, NameAllocator.toJavaIdentifier(name), PRIVATE, STATIC, FINAL)
                    .initializer("new $T()", typeName).build());
        }
    }
    return ImmutableMap.copyOf(typeAdapters);
}
 
源代码4 项目: revapi   文件: Util.java
private boolean visitTypeVars(List<? extends TypeMirror> vars, StringBuilderAndState<TypeMirror> state) {
    if (!vars.isEmpty()) {
        Set<Name> names = vars.stream().map(v -> getTypeVariableName.visit(v)).collect(Collectors.toSet());
        state.forwardTypeVarDecls.addAll(names);
        try {
            state.bld.append("<");
            Iterator<? extends TypeMirror> it = vars.iterator();
            it.next().accept(this, state);

            while (it.hasNext()) {
                state.bld.append(", ");
                it.next().accept(this, state);
            }

            state.bld.append(">");
        } finally {
            state.forwardTypeVarDecls.removeAll(names);
        }

        return true;
    }

    return false;
}
 
源代码5 项目: Akatsuki   文件: PrimitiveTypeAnalyzer.java
@Override
public DefaultAnalysis createAnalysis(InvocationContext<TypeMirror> context)
		throws UnknownTypeException {
	// boxed primitives have different names (at least for int)
	CharSequence typeName;
	final TypeMirror refinedMirror = context.field.refinedMirror();
	if (refinedMirror instanceof DeclaredType) {
		// we are boxed
		typeName = this.type == Type.UNBOXED
				? toCapitalCase(types().unboxedType(refinedMirror).getKind().name())
				: ((DeclaredType) refinedMirror).asElement().getSimpleName();
	} else {
		// we are unboxed
		typeName = this.type == Type.BOXED
				? types().boxedClass((PrimitiveType) refinedMirror).getSimpleName()
				: toCapitalCase(refinedMirror.getKind().name());
	}
	String methodName = (suffix != null) ? (typeName.toString() + suffix) : typeName.toString();
	return DefaultAnalysis.of(this, methodName, context);
}
 
源代码6 项目: TencentKona-8   文件: WebServiceVisitor.java
protected boolean classImplementsSei(TypeElement classElement, TypeElement interfaceElement) {
    for (TypeMirror interfaceType : classElement.getInterfaces()) {
        if (((DeclaredType) interfaceType).asElement().equals(interfaceElement))
            return true;
    }
    List<ExecutableElement> classMethods = getClassMethods(classElement);
    boolean implementsMethod;
    for (ExecutableElement interfaceMethod : ElementFilter.methodsIn(interfaceElement.getEnclosedElements())) {
        implementsMethod = false;
        for (ExecutableElement classMethod : classMethods) {
            if (sameMethod(interfaceMethod, classMethod)) {
                implementsMethod = true;
                classMethods.remove(classMethod);
                break;
            }
        }
        if (!implementsMethod) {
            builder.processError(WebserviceapMessages.WEBSERVICEAP_METHOD_NOT_IMPLEMENTED(interfaceElement.getSimpleName(), classElement.getSimpleName(), interfaceMethod), interfaceMethod);
            return false;
        }
    }
    return true;
}
 
源代码7 项目: netbeans   文件: AddCast.java
public List<Fix> run(CompilationInfo info, String diagnosticKey, int offset, TreePath treePath, Data<Void> data) {
    List<Fix> result = new ArrayList<Fix>();
    List<TypeMirror> targetType = new ArrayList<TypeMirror>();
    TreePath[] tmTree = new TreePath[1];
    ExpressionTree[] expression = new ExpressionTree[1];
    Tree[] leaf = new Tree[1];
    
    computeType(info, offset, targetType, tmTree, expression, leaf);
    
    if (!targetType.isEmpty()) {
        TreePath expressionPath = TreePath.getPath(info.getCompilationUnit(), expression[0]); //XXX: performance
        for (TypeMirror type : targetType) {
            if (type.getKind() != TypeKind.NULL) {
                result.add(new AddCastFix(info, expressionPath, tmTree[0], type).toEditorFix());
            }
        }
    }
    
    return result;
}
 
private void checkMethodReturnsString(TypeElement annotationElement, ExecutableElement methodElement)
{
    final TypeMirror returnType = methodElement.getReturnType();

    if (!isValidType(returnType))
    {
        processingEnv.getMessager()
                .printMessage(Diagnostic.Kind.ERROR,
                        "@"
                                + annotationElement.getSimpleName()
                                + " can only be applied to methods with primitive, boxed primitive, enum, or String type return type but annotated Method "
                                + methodElement.getSimpleName() + " returns "
                                + returnType.toString(),
                        methodElement
                );
    }
}
 
源代码9 项目: netbeans   文件: CreateElementUtilities.java
private static List<? extends TypeMirror> computeConditionalExpression(Set<ElementKind> types, CompilationInfo info, TreePath parent, Tree error, int offset) {
    ConditionalExpressionTree cet = (ConditionalExpressionTree) parent.getLeaf();
    
    if (cet.getCondition() == error) {
        types.add(ElementKind.PARAMETER);
        types.add(ElementKind.LOCAL_VARIABLE);
        types.add(ElementKind.FIELD);
        
        return Collections.singletonList(info.getTypes().getPrimitiveType(TypeKind.BOOLEAN));
    }
    
    if (cet.getTrueExpression() == error || cet.getFalseExpression() == error) {
        types.add(ElementKind.PARAMETER);
        types.add(ElementKind.LOCAL_VARIABLE);
        types.add(ElementKind.FIELD);
        
        return resolveType(types, info, parent.getParentPath(), cet, offset, null, null);
    }
    
    return null;
}
 
private void writeMember(JDefinedClass cls, TypeMirror paramType,
                         String paramName) {

    if (cls == null)
        return;

    String accessorName =BindingHelper.mangleNameToPropertyName(paramName);
    String getterPrefix = paramType.toString().equals("boolean")? "is" : "get";
    JType propType = getType(paramType);
    JMethod m = cls.method(JMod.PUBLIC, propType, getterPrefix+ accessorName);
    JDocComment methodDoc = m.javadoc();
    JCommentPart ret = methodDoc.addReturn();
    ret.add("returns "+propType.name());
    JBlock body = m.body();
    body._return( JExpr._this().ref(paramName) );

    m = cls.method(JMod.PUBLIC, cm.VOID, "set"+accessorName);
    JVar param = m.param(propType, paramName);
    methodDoc = m.javadoc();
    JCommentPart part = methodDoc.addParam(paramName);
    part.add("the value for the "+ paramName+" property");
    body = m.body();
    body.assign( JExpr._this().ref(paramName), param );
}
 
源代码11 项目: doma   文件: EntityMetaFactory.java
void validateNonGenericEntityListener(
    TypeElement classElement, EntityMeta entityMeta, TypeMirror listenerType) {
  EntityAnnot entityAnnot = entityMeta.getEntityAnnot();
  TypeMirror argumentType = getListenerArgumentType(listenerType);
  if (argumentType == null) {
    throw new AptException(
        Message.DOMA4202,
        classElement,
        entityAnnot.getAnnotationMirror(),
        entityAnnot.getListener(),
        new Object[] {});
  }
  if (!ctx.getMoreTypes().isAssignableWithErasure(classElement.asType(), argumentType)) {
    throw new AptException(
        Message.DOMA4038,
        classElement,
        entityAnnot.getAnnotationMirror(),
        entityAnnot.getListener(),
        new Object[] {listenerType, argumentType, classElement.getQualifiedName()});
  }
}
 
源代码12 项目: RetroFacebook   文件: TypeSimplifierTest.java
public void testImportsForArrayTypes() {
  TypeElement list = typeElementOf("java.util.List");
  TypeElement set = typeElementOf("java.util.Set");
  Set<TypeMirror> types = typeMirrorSet(
      typeUtil.getArrayType(typeUtil.getPrimitiveType(TypeKind.INT)),
      typeUtil.getArrayType(typeMirrorOf("java.util.regex.Pattern")),
      typeUtil.getArrayType(          // Set<Matcher[]>[]
          typeUtil.getDeclaredType(set,
              typeUtil.getArrayType(typeMirrorOf("java.util.regex.Matcher")))),
      typeUtil.getDeclaredType(list,  // List<Timer[]>
          typeUtil.getArrayType(typeMirrorOf("java.util.Timer"))));
  // Timer is referenced twice but should obviously only be imported once.
  List<String> expectedImports = ImmutableList.of(
      "java.util.List",
      "java.util.Set",
      "java.util.Timer",
      "java.util.regex.Matcher",
      "java.util.regex.Pattern"
  );
  TypeSimplifier typeSimplifier =
      new TypeSimplifier(typeUtil, "foo.bar", types, baseWithoutContainedTypes());
  assertEquals(expectedImports, ImmutableList.copyOf(typeSimplifier.typesToImport()));
}
 
源代码13 项目: GoldenGate   文件: Util.java
/**
 * Returns the {@link TypeMirror} for a given {@link Class}.
 *
 * Adapter from https://github.com/typetools/checker-framework/
 */
public static TypeMirror typeFromClass(Types types, Elements elements, Class<?> clazz) {
    if (clazz == void.class) {
        return types.getNoType(TypeKind.VOID);
    } else if (clazz.isPrimitive()) {
        String primitiveName = clazz.getName().toUpperCase();
        TypeKind primitiveKind = TypeKind.valueOf(primitiveName);
        return types.getPrimitiveType(primitiveKind);
    } else if (clazz.isArray()) {
        TypeMirror componentType = typeFromClass(types, elements, clazz.getComponentType());
        return types.getArrayType(componentType);
    } else {
        TypeElement element = elements.getTypeElement(clazz.getCanonicalName());
        if (element == null) {
            throw new IllegalArgumentException("Unrecognized class: " + clazz);
        }
        return element.asType();
    }
}
 
源代码14 项目: jdk8u60   文件: LLNI.java
protected final String jniMethodName(ExecutableElement method, String cname,
                                     boolean longName)
            throws TypeSignature.SignatureException {
    String res = "Java_" + cname + "_" + method.getSimpleName();

    if (longName) {
        TypeMirror mType =  types.erasure(method.getReturnType());
        List<? extends VariableElement> params = method.getParameters();
        List<TypeMirror> argTypes = new ArrayList<TypeMirror>();
        for (VariableElement param: params) {
            argTypes.add(types.erasure(param.asType()));
        }

        res = res + "__";
        for (TypeMirror t: argTypes) {
            String tname = t.toString();
            TypeSignature newTypeSig = new TypeSignature(elems);
            String sig = newTypeSig.getTypeSignature(tname);
            res = res + nameToIdentifier(sig);
        }
    }
    return res;
}
 
源代码15 项目: litho   文件: SpecModelUtils.java
/**
 * There are a few cases of classes with typeArgs (e.g. {@literal MyClass<SomeClass, ..>}) where
 *
 * <p>TypeName.get() throws an error like: "com.sun.tools.javac.code.Symbol$CompletionFailure:
 * class file for SomeClass not found". Therefore we manually get the qualified name and create
 * the TypeName from the path String.
 */
private static TypeName safelyGetTypeName(TypeMirror t) {
  TypeName typeName;
  try {
    typeName = TypeName.get(t);
  } catch (Exception e) {
    final String qualifiedName;
    if (t instanceof DeclaredType) {
      qualifiedName =
          ((TypeElement) ((DeclaredType) t).asElement()).getQualifiedName().toString();
    } else {
      String tmp = t.toString();
      qualifiedName = tmp.substring(0, tmp.indexOf('<'));
    }

    typeName = ClassName.bestGuess(qualifiedName);
  }

  return typeName;
}
 
源代码16 项目: doma   文件: MoreTypesTest.java
@Test
void getTypeName() {
  addProcessor(
      new TestProcessor() {
        @Override
        protected void run() {
          TypeMirror intType = ctx.getMoreTypes().getPrimitiveType(TypeKind.INT);
          assertEquals("int", ctx.getMoreTypes().getTypeName(intType));
          TypeMirror listType = ctx.getMoreElements().getTypeElement(List.class).asType();
          assertEquals("java.util.List<E>", ctx.getMoreTypes().getTypeName(listType));
        }
      },
      new TestProcessor() {
        @Override
        protected void run() {
          TypeElement typeElement = ctx.getMoreElements().getTypeElement(NumberList.class);
          TypeParameterElement typeParameterElement =
              typeElement.getTypeParameters().iterator().next();
          assertEquals("E", ctx.getMoreTypes().getTypeName(typeParameterElement.asType()));
        }
      });
}
 
源代码17 项目: openjdk-jdk9   文件: NodeIntrinsicVerifier.java
private ExecutableElement findConstructor(TypeElement nodeClass, TypeMirror[] signature, ExecutableElement intrinsicMethod, AnnotationMirror intrinsicAnnotation) {
    List<ExecutableElement> constructors = ElementFilter.constructorsIn(nodeClass.getEnclosedElements());
    List<String> failureReasons = new ArrayList<>();

    for (ExecutableElement constructor : constructors) {
        String failureReason = matchSignature(0, constructor, signature);
        if (failureReason == null) {
            // found
            return constructor;
        }

        failureReasons.add(failureReason);
    }

    // not found
    if (failureReasons.isEmpty()) {
        env.getMessager().printMessage(Kind.ERROR, "Could not find matching constructor for node intrinsic.", intrinsicMethod, intrinsicAnnotation);
    } else {
        for (String reason : failureReasons) {
            env.getMessager().printMessage(Kind.ERROR, reason, intrinsicMethod, intrinsicAnnotation);
        }
    }

    return null;
}
 
源代码18 项目: netbeans   文件: ElementOverlay.java
private void addElement(ASTService ast, Elements elements, TypeMirror tm, List<Element> result) {
    if (tm == null || tm.getKind() != TypeKind.DECLARED) {
        return;
    }
    
    String fqn = ((TypeElement) ((DeclaredType) tm).asElement()).getQualifiedName().toString();
    Element resolved = resolve(ast, elements, fqn, moduleOf(elements, ((DeclaredType)tm).asElement()));
    
    if (resolved != null) {
        result.add(resolved);
    } else {
        Logger.getLogger(ElementOverlay.class.getName()).log(Level.FINE, "cannot resolve {0}", fqn);
    }
}
 
源代码19 项目: DataLoader   文件: DataLoaderProcessor.java
private boolean isFromInterface(TypeElement typeElement, String interfaceName) {
    for (TypeMirror anInterface : typeElement.getInterfaces()) {
        if (anInterface.toString().equals(interfaceName)) {
            return true;
        } else {
            boolean isInterface = isFromInterface((TypeElement) asElement(anInterface), interfaceName);
            if (isInterface) {
                return true;
            }
        }
    }
    return false;
}
 
源代码20 项目: j2cl   文件: MoreApt.java
public static ImmutableList<TypeElement> getHierarchyImpl(
    TypeElement typeElement, boolean includeInterfaces) {
  ImmutableList.Builder<TypeElement> classHierarchyBuilder = new ImmutableList.Builder<>();
  for (TypeElement t = typeElement; t != null; t = asTypeElement(t.getSuperclass())) {
    classHierarchyBuilder.add(t);
    if (includeInterfaces) {
      for (TypeMirror i : t.getInterfaces()) {
        classHierarchyBuilder.addAll(getHierarchyImpl(asTypeElement(i), includeInterfaces));
      }
    }
  }
  return classHierarchyBuilder.build();
}
 
源代码21 项目: jlibs   文件: ModelUtil.java
public static String signature(ExecutableElement method, boolean useParamNames){
    StringBuilder buff = new StringBuilder();

    Set<Modifier> modifiers = method.getModifiers();
    Modifier modifier = getModifier(modifiers, Modifier.PUBLIC, Modifier.PROTECTED, Modifier.PRIVATE);
    if(modifier!=null)
        buff.append(modifier).append(' ');

    buff.append(toString(method.getReturnType(), false));
    buff.append(' ');
    buff.append(method.getSimpleName());
    buff.append('(');
    int i = 0;
    for(VariableElement param : method.getParameters()){
        if(i>0)
            buff.append(", ");
        buff.append(toString(param.asType(), false));
        if(useParamNames)
            buff.append(' ').append(param.getSimpleName());
        i++;
    }
    buff.append(')');

    List<? extends TypeMirror> throwTypes = method.getThrownTypes();
    if(throwTypes.size()>0){
        buff.append(" throws ");
        i = 0;
        for(TypeMirror throwType: throwTypes){
            if(i>0)
                buff.append(", ");
            buff.append(throwType);
            i++;
        }
    }

    return buff.toString();
}
 
源代码22 项目: dsl-json   文件: Analysis.java
private boolean isCompatibileCollection(TypeMirror left, TypeMirror rawCollection) {
	final String leftStr = left.toString();
	final String rightStr = rawCollection.toString();
	if (leftStr.equals(rightStr)) return true;
	if (left.getKind() != rawCollection.getKind()) return false;
	TypeMirror leftRaw = types.erasure(left);
	return types.isAssignable(rawCollection, leftRaw);
}
 
源代码23 项目: openjdk-8   文件: AnnotationProxyMaker.java
public void visitArray(Attribute.Array a) {
    Name elemName = ((ArrayType) a.type).elemtype.tsym.getQualifiedName();

    if (elemName.equals(elemName.table.names.java_lang_Class)) {   // Class[]
        // Construct a proxy for a MirroredTypesException
        ListBuffer<TypeMirror> elems = new ListBuffer<TypeMirror>();
        for (Attribute value : a.values) {
            Type elem = ((Attribute.Class) value).classType;
            elems.append(elem);
        }
        value = new MirroredTypesExceptionProxy(elems.toList());

    } else {
        int len = a.values.length;
        Class<?> returnClassSaved = returnClass;
        returnClass = returnClass.getComponentType();
        try {
            Object res = Array.newInstance(returnClass, len);
            for (int i = 0; i < len; i++) {
                a.values[i].accept(this);
                if (value == null || value instanceof ExceptionProxy) {
                    return;
                }
                try {
                    Array.set(res, i, value);
                } catch (IllegalArgumentException e) {
                    value = null;       // indicates a type mismatch
                    return;
                }
            }
            value = res;
        } finally {
            returnClass = returnClassSaved;
        }
    }
}
 
源代码24 项目: revapi   文件: Util.java
@Override
public Void visitWildcard(WildcardType t, StringBuilderAndState<TypeMirror> state) {
    TypeMirror extendsBound = IgnoreCompletionFailures.in(t::getExtendsBound);

    if (state.visitingMethod) {
        if (extendsBound != null) {
            extendsBound.accept(this, state);
        } else {
            //super bound or unbound wildcard
            state.bld.append("java.lang.Object");
        }

        return null;
    }

    TypeMirror superBound = IgnoreCompletionFailures.in(t::getSuperBound);

    if (superBound != null) {
        superBound.accept(this, state);
        state.bld.append("-");
    }

    if (extendsBound != null) {
        extendsBound.accept(this, state);
        state.bld.append("+");
    }

    return null;
}
 
private List<TypeMirror> getTypesFromElements(List<? extends VariableElement> elements) {
    List<TypeMirror> elementTypes = new ArrayList<TypeMirror>();
    for (Element e : elements) {
        elementTypes.add(e.asType());
    }
    return elementTypes;
}
 
源代码26 项目: kripton   文件: TypeUtility.java
/**
 * Convert.
 *
 * @param input
 *            the input
 * @return the list
 */
private static List<TypeName> convert(List<? extends TypeMirror> input) {
	List<TypeName> result = new ArrayList<TypeName>();

	for (TypeMirror item : input) {
		result.add(TypeUtility.typeName(item));
	}

	return result;
}
 
源代码27 项目: gama   文件: VarsProcessor.java
@Override
public void createElement(final StringBuilder sb, final ProcessorContext context, final Element e,
		final vars vars) {
	final TypeMirror typeClass = e.asType();
	final boolean isField = !context.getTypeUtils().isAssignable(typeClass, context.getISkill())
			&& !context.getTypeUtils().isAssignable(typeClass, context.getIAgent());

	for (final variable node : vars.value()) {
		verifyDoc(context, e, "attribute " + node.name(), node);
		final String clazz = rawNameOf(context, e.asType());
		final String clazzObject = toClassObject(clazz);

		sb.append(in).append(isField ? "_field(" : "_var(").append(clazzObject);
		// if (!isField) {
		// sb.append(",").append(toJavaString(escapeDoubleQuotes(d)));
		// }
		sb.append(",");
		if (isField) {
			sb.append("_proto(").append(toJavaString(node.name())).append(',');
			writeHelpers(sb, context, node, clazz, e, isField, true);
			sb.append(',').append(node.type()).append(',').append(clazzObject).append(',').append(node.type())
					.append(",").append(node.of()).append(',').append(node.index()).append(')');
		} else {
			sb.append("desc(").append(node.type()).append(',');
			writeFacets(sb, node);
			sb.append("),");
			writeHelpers(sb, context, node, clazz, e, isField, false);
		}
		sb.append(");");
	}

}
 
源代码28 项目: openjdk-jdk9   文件: LoadProc.java
String desc(TypeMirror tm) {
    switch (tm.getKind()) {
        case BOOLEAN:
            return "Z";
        case BYTE:
            return "B";
        case SHORT:
            return "S";
        case CHAR:
            return "C";
        case INT:
            return "I";
        case LONG:
            return "J";
        case FLOAT:
            return "F";
        case DOUBLE:
            return "D";
        case VOID:
            return "V";
        case DECLARED:
            String s =
                ((TypeElement)((DeclaredType)tm).asElement()).getQualifiedName().toString();
            s = s.replace('.', '/');
            return "L" + s + ";";
        case ARRAY:
            return "[" + desc(((ArrayType)tm).getComponentType());
        default:
            return tm.getKind().toString();
    }
}
 
源代码29 项目: SimpleWeibo   文件: TypeSimplifierTest.java
public void testSimplifyComplicatedTypes() {
  TypeElement list = typeElementOf("java.util.List");
  TypeElement map = typeElementOf("java.util.Map");
  TypeMirror string = typeMirrorOf("java.lang.String");
  TypeMirror integer = typeMirrorOf("java.lang.Integer");
  TypeMirror pattern = typeMirrorOf("java.util.regex.Pattern");
  TypeMirror timer = typeMirrorOf("java.util.Timer");
  TypeMirror bigInteger = typeMirrorOf("java.math.BigInteger");
  Set<TypeMirror> types = typeMirrorSet(
      typeUtil.getPrimitiveType(TypeKind.INT),
      typeUtil.getArrayType(typeUtil.getPrimitiveType(TypeKind.BYTE)),
      pattern,
      typeUtil.getArrayType(pattern),
      typeUtil.getArrayType(typeUtil.getArrayType(pattern)),
      typeUtil.getDeclaredType(list, typeUtil.getWildcardType(null, null)),
      typeUtil.getDeclaredType(list, timer),
      typeUtil.getDeclaredType(map, string, integer),
      typeUtil.getDeclaredType(map,
          typeUtil.getWildcardType(timer, null), typeUtil.getWildcardType(null, bigInteger)));
  Set<String> expectedSimplifications = ImmutableSet.of(
      "int",
      "byte[]",
      "Pattern",
      "Pattern[]",
      "Pattern[][]",
      "List<?>",
      "List<Timer>",
      "Map<String, Integer>",
      "Map<? extends Timer, ? super BigInteger>"
  );
  TypeSimplifier typeSimplifier =
      new TypeSimplifier(typeUtil, "foo.bar", types, baseWithoutContainedTypes());
  Set<String> actualSimplifications = new HashSet<String>();
  for (TypeMirror type : types) {
    actualSimplifications.add(typeSimplifier.simplify(type));
  }
  assertEquals(expectedSimplifications, actualSimplifications);
}
 
源代码30 项目: netbeans   文件: AnnotationPostContruct.java
private static boolean throwsCheckedException(CompilationInfo info, List<? extends TypeMirror> thrownTypes) {
    for (TypeMirror typeMirror : thrownTypes) {
        boolean runtimeException = false;
        TypeElement element = info.getElements().getTypeElement(typeMirror.toString());
        if (element != null) { //NOI18N
            if (JavaUtils.isTypeOf(info, element, "java.lang.RuntimeException")) { //NOI18N
                runtimeException = true;
            }
        }
        if (!runtimeException) {
            return true;
        }
    }
    return false;
}