Java 类javax.lang.model.type.PrimitiveType 实例源码

项目:incubator-netbeans    文件:ControllerGenerator.java   
/**
 * Defines a new method as event handler, and marks it with @FXML annotation.
 * 
 * @param h handler definition
 */
private void defineNewHandler(CharSequence handlerName, TypeElement eventType) {
    TreeMaker mk = wcopy.getTreeMaker();

    // @FXML private void {handlerName}({eventType} event);
    MethodTree handler = mk.Method(
            mk.Modifiers(Collections.singleton(Modifier.PRIVATE), 
                Collections.singletonList(fxmlAnnotationTree)
            ),
            handlerName, 
            mk.PrimitiveType(TypeKind.VOID),
            Collections.<TypeParameterTree>emptyList(),
            Collections.singletonList(
                mk.Variable(
                    mk.Modifiers(Collections.<Modifier>emptySet()), 
                    "event", mk.Type(eventType.asType()), null)
            ), 
            Collections.<ExpressionTree>emptyList(),
            mk.Block(Collections.<StatementTree>emptyList(), false), 
            null);

    // add to class
    controllerClass = genUtils().insertClassMember(controllerClass, handler);
    addMethod(handlerName.toString(), eventType.asType());
}
项目:incubator-netbeans    文件:PreconditionsChecker.java   
@Override
public Tree visitIdentifier(IdentifierTree that, Trees trees) {

    TypeMirror type = trees.getTypeMirror(this.getCurrentPath());
    if (type == null /* will work even with error types || type.getKind() == TypeKind.ERROR */) {
        return super.visitIdentifier(that, trees);
    }
    if (type.getKind().isPrimitive()) {
        this.varToType.put(that.getName(), workingCopy.getTypes().boxedClass((PrimitiveType) type).toString());
    } else {
        this.varToType.put(that.getName(), type.toString());
    }
    TreePath currentTreePath = this.getCurrentPath();
    Element el = trees.getElement(currentTreePath);
    if (el != null && isExternalNEF(el, that)) {
        checkIfRefactorableMutation(currentTreePath, that);
    }
    return super.visitIdentifier(that, trees);
}
项目:incubator-netbeans    文件:ReplaceBufferByString.java   
/**
 * Turns the argPath leaf expression to Wrapper.toString(arg) for primitives, or to String.valueOf(arg) for
 * object types. String.valueOf is null-safe.
 */
private ExpressionTree makeToString(TreePath argPath) {
    ExpressionTree arg = (ExpressionTree)argPath.getLeaf();
    TypeMirror tm = wc.getTrees().getTypeMirror(argPath);
    if (isPrimitiveType(tm)) {
        // call WrapperType.toString(arg)
        arg = mk.MethodInvocation(
            Collections.<ExpressionTree>emptyList(),
            mk.MemberSelect(
                mk.QualIdent(wc.getTypes().boxedClass((PrimitiveType)tm)), 
                "toString" // NOI18N
            ), Collections.singletonList(arg));
    } else {
        arg = mk.MethodInvocation(
            Collections.<ExpressionTree>emptyList(),
            mk.MemberSelect(
                mk.QualIdent(stringType.asElement()),
                "valueOf" // NOI18N
            ), Collections.singletonList(arg)
        );
    }

    return arg;
}
项目:incubator-netbeans    文件:ExpectedTypeResolver.java   
@Override
public List<? extends TypeMirror> visitEnhancedForLoop(EnhancedForLoopTree node, Object p) {
    TypeMirror varType = info.getTrees().getTypeMirror(new TreePath(getCurrentPath(), node.getVariable()));
    if (!Utilities.isValidType(varType)) {
        return null;
    } else {
        TypeMirror arrayType = info.getTypes().getArrayType(varType);
        TypeElement iterableEl = info.getElements().getTypeElement("java.lang.Iterable"); // NOI18N
        if (iterableEl == null || iterableEl.getKind() != ElementKind.INTERFACE) {
            return null;
        }
        TypeMirror iterableForVar = isPrimitiveType(varType.getKind()) ?
                info.getTypes().getDeclaredType(iterableEl, 
                    info.getTypes().getWildcardType(
                        info.getTypes().boxedClass((PrimitiveType)varType).asType(), null))
                :
                info.getTypes().getDeclaredType(iterableEl, 
                    info.getTypes().getWildcardType(varType, null)
                );
        List<TypeMirror> result = new ArrayList<TypeMirror>(2);
        result.add(arrayType);
        result.add(iterableForVar);
        return result;
    }
}
项目:Witch-Android    文件:TypeUtils.java   
public TypeName getValueType(Element value) {

        TypeMirror type = getType(value);

        // Box if primitive
        if(type.getKind() != null && type.getKind().isPrimitive()) {
            type = types.boxedClass((PrimitiveType) type).asType();
        }

        // Get generic type if value container
        if(isValueContainer(type)) {
            DeclaredType declaredType = (DeclaredType) type;
            TypeMirror genericParameter = declaredType.getTypeArguments().get(0);
            return TypeName.get(genericParameter);
        }

        return TypeName.get(type);
    }
项目:openjdk-jdk10    文件:TypeMonikerFactory.java   
public static TypeMoniker getTypeMoniker(TypeMirror typeMirror) {
    if (typeMirror == null)
        throw new NullPointerException();

    if (typeMirror.getKind().isPrimitive())
        return new PrimitiveTypeMoniker((PrimitiveType) typeMirror);
    else if (typeMirror.getKind().equals(TypeKind.ARRAY))
        return new ArrayTypeMoniker((ArrayType) typeMirror);
    else if (typeMirror.getKind().equals(TypeKind.DECLARED))
        return new DeclaredTypeMoniker((DeclaredType) typeMirror);
    return getTypeMoniker(typeMirror.toString());
}
项目:boomerang    文件:BoomerangContext.java   
public boolean isValidQuery(AccessGraph ap, Unit stmt) {
  SootMethod m = bwicfg.getMethodOf(stmt);
  if (!ap.isStatic() && !m.getActiveBody().getLocals().contains(ap.getBase())) {
    return false;
  }

  if (ap.getBase() instanceof PrimitiveType) {
    return false;
  }
  if (!ap.isStatic() && !m.isStatic()) {
    Local thisLocal = m.getActiveBody().getThisLocal();
    if (ap.baseMatches(thisLocal)) {
      if (!ForwardFlowFunctions.hasCompatibleTypesForCall(ap, m.getDeclaringClass())) {
        return false;
      }
    }
  }
  return true;
}
项目:boomerang    文件:BoomerangContext.java   
public void validateInput(AccessGraph ap, Unit stmt) {
  SootMethod m = bwicfg.getMethodOf(stmt);
  if (!ap.isStatic() && !m.getActiveBody().getLocals().contains(ap.getBase())) {
    throw new IllegalArgumentException("Base value of access path " + ap
        + " is not a local of the Method at which the Query was asked!");
  }
  if (stmt == null)
    throw new IllegalArgumentException("Statment must not be null");

  if (ap.getBase() instanceof PrimitiveType) {
    throw new IllegalArgumentException("The queried variable is not of pointer type");
  }
  if (!ap.isStatic() && !m.isStatic()) {
    Local thisLocal = m.getActiveBody().getThisLocal();
    if (ap.baseMatches(thisLocal)) {
      if (!ForwardFlowFunctions.hasCompatibleTypesForCall(ap, m.getDeclaringClass())) {
        throw new IllegalArgumentException("The type is incompatible");
      }
    }
  }
}
项目:aidl2    文件:Writer.java   
private Strategy getWrapperTypeStrategy(DeclaredType type) {
    final CharSequence name = Util.getQualifiedName(type);
    if (name != null) {
        switch (name.toString()) {
            case "java.lang.Boolean":
            case "java.lang.Byte":
            case "java.lang.Short":
            case "java.lang.Integer":
            case "java.lang.Long":
            case "java.lang.Character":
            case "java.lang.Float":
            case "java.lang.Double":
                // Handle Integer, Long, Character etc. before falling back to Serializable path
                final PrimitiveType primitiveVariety = types.unboxedType(type);

                if (primitiveVariety != null) {
                    return Strategy.create((b, n, t) -> writePrimitive(b, n, primitiveVariety), type);
                }
                break;
            case "java.lang.Void":
                return VOID_STRATEGY;
        }
    }

    return null;
}
项目:aidl2    文件:Writer.java   
private Strategy getArrayStrategy(ArrayType arrayType) throws CodegenException {
    final TypeMirror component = arrayType.getComponentType();
    final TypeKind componentKind = component.getKind();

    switch (componentKind) {
        case BOOLEAN:
        case INT:
        case SHORT:
        case BYTE:
        case CHAR:
        case LONG:
        case DOUBLE:
        case FLOAT:
            return getPrimitiveArrayStrategy((PrimitiveType) component);
        default:
            final Strategy strategy = getStrategy(component);

            if (strategy != null) {
                return isSerialStrategy(strategy) ? getSerializableStrategy() : getSpecialArrayStrategy(strategy, component);
            }
    }

    throw new CodegenException("Unsupported array component type: " + component + ".\n" + getHelpText());
}
项目:aidl2    文件:Writer.java   
private void writePrimitive(CodeBlock.Builder builder, Object name, PrimitiveType type) {
    switch (type.getKind()) {
        case LONG:
            builder.addStatement("$N.writeLong($L)", parcelName, name);
            break;
        case DOUBLE:
            builder.addStatement("$L.writeDouble($L)", parcelName, name);
            break;
        case FLOAT:
            builder.addStatement("$L.writeFloat($L)", parcelName, name);
            break;
        case BOOLEAN:
            builder.addStatement("$L.writeInt($L ? 1 : 0)", parcelName, name);
            break;
        default:
            builder.addStatement("$L.writeInt($L)", parcelName, name);
            break;
    }
}
项目:aidl2    文件:Reader.java   
private Strategy getWrapperTypeStrategy(DeclaredType type) {
    final CharSequence name = getQualifiedName(type);
    if (name != null) {
        switch (name.toString()) {
            case "java.lang.Boolean":
            case "java.lang.Byte":
            case "java.lang.Short":
            case "java.lang.Integer":
            case "java.lang.Long":
            case "java.lang.Character":
            case "java.lang.Float":
            case "java.lang.Double":
                // Handle Integer, Long, Character etc. before falling back to Serializable path
                final PrimitiveType primitiveVariety = types.unboxedType(type);

                if (primitiveVariety != null) {
                    return newStrategy($ -> readPrimitive(primitiveVariety), primitiveVariety);
                }
                break;
            case "java.lang.Void":
                return VOID_STRATEGY;
        }
    }

    return null;
}
项目:aidl2    文件:Reader.java   
private Strategy getArrayStrategy(ArrayType arrayType) throws CodegenException {
    final TypeMirror component = arrayType.getComponentType();
    final TypeKind componentKind = component.getKind();

    switch (componentKind) {
        case BOOLEAN:
        case INT:
        case SHORT:
        case BYTE:
        case CHAR:
        case LONG:
        case DOUBLE:
        case FLOAT:
            return getPrimitiveArrayStrategy((PrimitiveType) component);
        default:
            final Strategy strategy = getStrategy(component);

            if (strategy != null) {
                return isSerialStrategy(strategy)
                        ? getSerializableStrategy(types.getArrayType(component))
                        : getSpecialArrayStrategy(strategy, component);
            }
    }

    throw new CodegenException("Unsupported array component type: " + component + ".\n" + getHelpText());
}
项目:aidl2    文件:Reader.java   
private CodeBlock readPrimitive(PrimitiveType type) {
    switch (type.getKind()) {
        case LONG:
            return literal("$N.readLong()", parcelName);
        case DOUBLE:
            return literal("$N.readDouble()", parcelName);
        case FLOAT:
            return literal("$N.readFloat()", parcelName);
        case BOOLEAN:
            return literal("$N.readInt() == 1", parcelName);
        case INT:
            return literal("$N.readInt()", parcelName);
        default:
            return literal("($T) $N.readInt()", type, parcelName);
    }
}
项目: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);
}
项目:FreeBuilder    文件:Analyser.java   
/**
 * Introspects {@code method}, as found on {@code valueType}.
 */
private void addPropertyData(
    Property.Builder propertyBuilder,
    TypeElement valueType,
    ExecutableElement method,
    Optional<JacksonSupport> jacksonSupport) {
  TypeMirror propertyType = getReturnType(valueType, method, types);
  propertyBuilder
      .setAllCapsName(camelCaseToAllCaps(propertyBuilder.getName()))
      .setType(propertyType)
      .setFullyCheckedCast(CAST_IS_FULLY_CHECKED.visit(propertyType));
  if (jacksonSupport.isPresent()) {
    jacksonSupport.get().addJacksonAnnotations(propertyBuilder, method);
  }
  if (propertyType.getKind().isPrimitive()) {
    PrimitiveType unboxedType = types.getPrimitiveType(propertyType.getKind());
    TypeMirror boxedType = types.erasure(types.boxedClass(unboxedType).asType());
    propertyBuilder.setBoxedType(boxedType);
  }
}
项目:bsoneer    文件:TypeResolver.java   
@Override
public String visitPrimitive(PrimitiveType t, Void p) {
    switch (t.getKind()) {
    case BOOLEAN:
        return Boolean.class.getName();
    case BYTE:
        return Byte.class.getName();
    case CHAR:
        return Character.class.getName();
    case DOUBLE:
        return Double.class.getName();
    case FLOAT:
        return Float.class.getName();
    case INT:
        return Integer.class.getName();
    case LONG:
        return Long.class.getName();
    case SHORT:
        return Short.class.getName();
    default:
        throw new IllegalStateException();
    }
}
项目:java-types    文件:AbstractTypesContract.java   
private PrimitiveType primitiveType(Class<?> clazz) {
    assert clazz.isPrimitive();

    if (clazz.equals(double.class)) {
        return types.getPrimitiveType(TypeKind.DOUBLE);
    } else if (clazz.equals(float.class)) {
        return types.getPrimitiveType(TypeKind.FLOAT);
    } else if (clazz.equals(long.class)) {
        return types.getPrimitiveType(TypeKind.LONG);
    } else if (clazz.equals(int.class)) {
        return types.getPrimitiveType(TypeKind.INT);
    } else if (clazz.equals(short.class)) {
        return types.getPrimitiveType(TypeKind.SHORT);
    } else if (clazz.equals(byte.class)) {
        return types.getPrimitiveType(TypeKind.BYTE);
    } else if (clazz.equals(boolean.class)) {
        return types.getPrimitiveType(TypeKind.BOOLEAN);
    } else if (clazz.equals(char.class)) {
        return types.getPrimitiveType(TypeKind.CHAR);
    } else {
        throw new IllegalArgumentException(String.format("Unexpected primitive type: %s", clazz));
    }
}
项目:java-types    文件:AbstractTypesContract.java   
/**
 * Verifies {@link AbstractTypes#capture(TypeMirror)}.
 */
@Test
public void capture() {
    assertEquals(types.capture(type(Integer.class)), type(Integer.class));

    DeclaredType outerClassType = types.getDeclaredType(element(OuterClass.class), type(Integer.class));
    DeclaredType arrayListOfIntegersType = types.getDeclaredType(element(ArrayList.class), type(Integer.class));
    // innerClassType: OuterClass<Integer>.InnerClass<? extends ArrayList<Integer>>
    DeclaredType innerClassType = types.getDeclaredType(
        outerClassType,
        element(OuterClass.InnerClass.class),
        types.getWildcardType(arrayListOfIntegersType, null)
    );

    DeclaredType capturedType = (DeclaredType) types.capture(innerClassType);
    TypeVariable actualTypeArgument = (TypeVariable) capturedType.getTypeArguments().get(0);

    // intersectionType = glb(ArrayList<Integer>, List<?>, Serializable)
    IntersectionType intersectionType = (IntersectionType) actualTypeArgument.getUpperBound();
    assertTrue(isSubtypeOfOneOf(arrayListOfIntegersType, intersectionType.getBounds()));

    PrimitiveType intType = types.getPrimitiveType(TypeKind.INT);
    assertTrue(types.isSameType(types.capture(intType), intType));
}
项目:doma    文件:WrapperCtType.java   
@Override
public Class<?> visitPrimitive(PrimitiveType t, Void p) {
    switch (t.getKind()) {
    case BOOLEAN:
        return BooleanWrapper.class;
    case BYTE:
        return ByteWrapper.class;
    case SHORT:
        return ShortWrapper.class;
    case INT:
        return IntegerWrapper.class;
    case LONG:
        return LongWrapper.class;
    case FLOAT:
        return FloatWrapper.class;
    case DOUBLE:
        return DoubleWrapper.class;
    case CHAR:
        return null;
    default:
        return assertUnreachable();
    }
}
项目:Glowplug    文件:Util.java   
private static Class<?> box(PrimitiveType primitiveType) {
  switch (primitiveType.getKind()) {
    case BYTE:
      return Byte.class;
    case SHORT:
      return Short.class;
    case INT:
      return Integer.class;
    case LONG:
      return Long.class;
    case FLOAT:
      return Float.class;
    case DOUBLE:
      return Double.class;
    case BOOLEAN:
      return Boolean.class;
    case CHAR:
      return Character.class;
    case VOID:
      return Void.class;
    default:
      throw new AssertionError();
  }
}
项目:incubator-netbeans    文件:BeanModelBuilder.java   
private void addConstant(VariableElement v) {
    Set<Modifier> mods = v.getModifiers();
    if (!(mods.contains(Modifier.FINAL) && mods.contains(Modifier.STATIC))) {
        return;
    }

    boolean ok = false;

    // check that the return type is the same as this class' type
    if (!compilationInfo.getTypes().isSameType(
            v.asType(), classElement.asType())) {
        // the constant may be primitive & our type the wrapper
        TypeMirror t = v.asType();
        if (t instanceof PrimitiveType) {
            PrimitiveType p = (PrimitiveType)t;
            if (compilationInfo.getTypes().isSameType(
                    compilationInfo.getTypes().boxedClass(p).asType(),
                    classElement.asType())) {
                ok = true;
            }
        } 
        if (!ok) {
            return;
        }
    }

    addConstant(v.getSimpleName().toString());
}
项目:incubator-netbeans    文件:MethodModelSupportTest.java   
public void testGetTypeName() throws Exception {
    TestUtilities.copyStringToFileObject(testFO,
            "package foo;" +
            "public class TestClass {" +
            "}");
    runUserActionTask(testFO, new Task<CompilationController>() {
        public void run(CompilationController controller) throws IOException {
            controller.toPhase(JavaSource.Phase.ELEMENTS_RESOLVED);
            Elements elements = controller.getElements();
            Types types = controller.getTypes();

            String typeName = String.class.getName();
            String resolvedTypeName = MethodModelSupport.getTypeName(elements.getTypeElement(typeName).asType());
            assertEquals(typeName, resolvedTypeName);

            typeName = InputStream.class.getName();
            resolvedTypeName = MethodModelSupport.getTypeName(elements.getTypeElement(typeName).asType());
            assertEquals(typeName, resolvedTypeName);

            resolvedTypeName = MethodModelSupport.getTypeName(types.getPrimitiveType(TypeKind.INT));
            assertEquals("int", resolvedTypeName);

            typeName = String.class.getName();
            resolvedTypeName = MethodModelSupport.getTypeName(types.getArrayType(elements.getTypeElement(typeName).asType()));
            assertEquals("java.lang.String[]", resolvedTypeName);

            PrimitiveType primitiveType = types.getPrimitiveType(TypeKind.BYTE);
            ArrayType arrayType = types.getArrayType(primitiveType);
            resolvedTypeName = MethodModelSupport.getTypeName(arrayType);
            assertEquals("byte[]", resolvedTypeName);
        }
    });
}
项目:ActivityBuilder    文件:ParameterWriter.java   
/**
 * @return 返回原生类型或者装箱类型的默认值,其他类型返回 null
 */
static String getDefaultValue(TypeMirror typeMirror) {
  switch (typeMirror.getKind()) {
    case BOOLEAN:
      return "false";
    case BYTE:
      return "(byte)0";
    case SHORT:
      return "(short)0";
    case CHAR:
      return "(char)0";
    case INT:
    case LONG:
      return "0";
    case FLOAT:
      return ".0f";
    case DOUBLE:
      return ".0";
    default:
      try {
        PrimitiveType primitiveType = getTypes().unboxedType(typeMirror);
        return getDefaultValue(primitiveType);
      } catch (IllegalArgumentException e) {
        return null;
      }
  }
}
项目:ActivityBuilder    文件:ParameterModel.java   
/**
 * 如果是原生类型则返回装箱类型
 */
public TypeMirror getObjectType() {
  if (isPrimitive()) {
    return getTypes().boxedClass((PrimitiveType) getType()).asType();
  } else {
    return type;
  }
}
项目:ActivityBuilder    文件:ParameterModel.java   
public boolean isBoxed() {
  try {
    PrimitiveType primitiveType = getTypes().unboxedType(getType());
    if (primitiveType != null) {
      return true;
    }
  } catch (IllegalArgumentException e) {
    // ignore;
  }
  return false;
}
项目:Router    文件:InjectParamProcessor.java   
private boolean supportDefaultValue(TypeMirror typeMirror) {
    if (typeMirror instanceof PrimitiveType) {
        return true;
    }
    if (isSubtype(typeMirror, "java.lang.String") || isSubtype(typeMirror, "java.lang.CharSequence")) {
        return true;
    }
    return false;
}
项目:OpenJSharp    文件:TypeMonikerFactory.java   
public static TypeMoniker getTypeMoniker(TypeMirror typeMirror) {
    if (typeMirror == null)
        throw new NullPointerException();

    if (typeMirror.getKind().isPrimitive())
        return new PrimitiveTypeMoniker((PrimitiveType) typeMirror);
    else if (typeMirror.getKind().equals(TypeKind.ARRAY))
        return new ArrayTypeMoniker((ArrayType) typeMirror);
    else if (typeMirror.getKind().equals(TypeKind.DECLARED))
        return new DeclaredTypeMoniker((DeclaredType) typeMirror);
    return getTypeMoniker(typeMirror.toString());
}
项目:qualifier    文件:AutoQualifierProcessorProvider.java   
@Override public void processAnnotated(Element element, Metaqualifier metaqualifier) {
    if (!metaqualifier.value(autoMethods).isPresent()) {
        metaqualifier.put(autoMethods).value(new ArrayList<>());
    }
    if (!metaqualifier.value(autoAnnotations).isPresent()) {
        metaqualifier.put(autoAnnotations).value(new HashSet<>());
    }
    for (AnnotationMirror aMirror : getAnnotatedAnnotations(element, Qualify.Auto.class)) {
        String packageName = elements().getPackageOf(aMirror.getAnnotationType().asElement()).toString();
        String aUCName = aMirror.getAnnotationType().asElement().getSimpleName().toString();
        String aLCName = UPPER_CAMEL.converterTo(LOWER_CAMEL).convert(aUCName);
        Map<? extends ExecutableElement, ? extends AnnotationValue> values = aMirror.getElementValues();
        for (ExecutableElement e : values.keySet()) {
            metaqualifier.value(autoMethods).ifPresent(am -> {
                String pLCName = e.getSimpleName().toString();
                String pUCName = LOWER_CAMEL.converterTo(UPPER_CAMEL).convert(pLCName);
                TypeMirror pRetType = e.getReturnType();
                if (pRetType.getKind().isPrimitive()) {
                    pRetType = types().boxedClass((PrimitiveType) pRetType).asType();
                }
                boolean isLink = e.getAnnotation(Link.class) != null && isTypeOf(Class.class, pRetType);

                String key = aLCName + "." + pLCName;

                if (!isLink) {
                    metaqualifier.literal(key, annotationFieldAsCodeBlock(getProcessingEnv(), e, values.get(e)));
                } else {
                    String valType = getFlatName((TypeElement) types().asElement((DeclaredType) values.get(e).getValue()));
                    metaqualifier.literal(key, "$T.self", ClassName.bestGuess(getQualifierName(valType)));
                }
            });
            metaqualifier.value(autoAnnotations).ifPresent(aq ->
                    aq.add(ClassName.bestGuess(packageName + "." + aUCName + "Qualifier")));
        }
    }
}
项目:qualifier    文件:StaticQualifierMetamodelProcessor.java   
/** The property type. Primitive types are returned as boxed. */
@Override public TypeMirror propertyType() {
    if (name.equals(SELF)) return beanElement().asType();
    TypeMirror typeMirror = type;
    if (typeMirror.getKind().isPrimitive()) {
        typeMirror = types().boxedClass((PrimitiveType) typeMirror).asType();
    }
    return typeMirror;
}
项目:easybundler    文件:Bundler.java   
/**
 * Returns {@code true} if the type of an {@link VariableElement} representing an array
 * is a primitive array where the members are a particular {@link TypeKind}.
 */
private boolean matchesPrimitiveArrayClass(VariableElement field, TypeKind kind) {
    PrimitiveType primitiveType = environment.getTypeUtils().getPrimitiveType(kind);
    ArrayType arrayType = environment.getTypeUtils().getArrayType(primitiveType);

    return typesMatch(field.asType(), arrayType, MatchPolicy.EXACT);

}
项目:android-auto-mapper    文件:MoreTypes.java   
/**
 * Returns a {@link PrimitiveType} if the {@link TypeMirror} represents a primitive type
 * or throws an {@link IllegalArgumentException}.
 */
public static PrimitiveType asPrimitiveType(TypeMirror maybePrimitiveType) {
    return maybePrimitiveType.accept(new CastingTypeVisitor<PrimitiveType>() {
        @Override
        public PrimitiveType visitPrimitive(PrimitiveType type, String p) {
            return type;
        }
    }, "primitive type");
}
项目:auto-value-step-builder    文件:Generator.java   
public Property(Types typeUtils, ExecutableElement element, String name) {
    this.element = element;
    this.name = name;
    this.type = element.getReturnType().toString();
    if (element.getReturnType().getKind().isPrimitive()) {
        PrimitiveType primitiveType = (PrimitiveType) element.getReturnType();
        this.nonPrimitiveType = typeUtils.boxedClass(primitiveType).toString();
        this.primitive = true;
    } else {
        this.nonPrimitiveType = element.getReturnType().toString();
    }
}
项目:openjdk9    文件:TypeMonikerFactory.java   
public static TypeMoniker getTypeMoniker(TypeMirror typeMirror) {
    if (typeMirror == null)
        throw new NullPointerException();

    if (typeMirror.getKind().isPrimitive())
        return new PrimitiveTypeMoniker((PrimitiveType) typeMirror);
    else if (typeMirror.getKind().equals(TypeKind.ARRAY))
        return new ArrayTypeMoniker((ArrayType) typeMirror);
    else if (typeMirror.getKind().equals(TypeKind.DECLARED))
        return new DeclaredTypeMoniker((DeclaredType) typeMirror);
    return getTypeMoniker(typeMirror.toString());
}
项目:alchemy    文件:TypeUtils.java   
private PrimitiveType unbox(TypeMirror typeMirror) {
    try {
        return mEnv.getTypeUtils().unboxedType(typeMirror);
    } catch (IllegalArgumentException e) {
        throw new IllegalArgumentException("Not a boxed primitive type", e);
    }
}
项目:neo4j-sproc-compiler    文件:TypeMirrorUtils.java   
public final Collection<TypeMirror> procedureAllowedTypes()
{
    PrimitiveType bool = primitive( TypeKind.BOOLEAN );
    PrimitiveType longType = primitive( TypeKind.LONG );
    PrimitiveType doubleType = primitive( TypeKind.DOUBLE );
    return asList( bool, boxed( bool ), longType, boxed( longType ), doubleType, boxed( doubleType ),
            typeMirror( String.class ), typeMirror( Number.class ), typeMirror( Object.class ),
            typeMirror( Map.class ), typeMirror( List.class ), typeMirror( Node.class ),
            typeMirror( Relationship.class ), typeMirror( Path.class ) );
}
项目:Glacier    文件:GlacierVisitor.java   
private boolean typeIsImmutable(AnnotatedTypeMirror type) {
    TypeMirror underlyingType = type.getUnderlyingType();

    boolean fieldIsImmutable = type.hasAnnotation(Immutable.class);
    if (!fieldIsImmutable) {
        // Check for permitted special cases: primitives and type parameters.
        boolean typeIsPrimitive = underlyingType instanceof PrimitiveType;
        boolean typeIsImmutableClassTypeParameter = false;
        if (underlyingType.getKind() == TypeKind.TYPEVAR) {
            // Type variables can be assumed to be immutable if they are on an immutable class. Otherwise they are unsafe.
            TypeVariable typeVariable = (TypeVariable) underlyingType;
            TypeParameterElement typeVariableElement = (TypeParameterElement) (typeVariable.asElement());
            Element elementEnclosingTypeVariable = typeVariableElement.getGenericElement();
            if (elementEnclosingTypeVariable.getKind() == ElementKind.CLASS || elementEnclosingTypeVariable.getKind() == ElementKind.ENUM) {
                // Check to see if this class is immutable.
                TypeElement classElement = (TypeElement) elementEnclosingTypeVariable;
                AnnotatedTypeMirror classTypeMirror = atypeFactory.getAnnotatedType(classElement);
                if (classTypeMirror.hasAnnotation(Immutable.class)) {
                    typeIsImmutableClassTypeParameter = true;
                }
            }
        }

        if (!typeIsPrimitive && !typeIsImmutableClassTypeParameter) {
            return false;
        }
    }

    if (underlyingType.getKind() == TypeKind.ARRAY) {
        // Arrays must be immutable arrays of immmutable objects.
        AnnotatedArrayType arrayType = (AnnotatedArrayType) type;
        AnnotatedTypeMirror componentType = arrayType.getComponentType();
        return typeIsImmutable(componentType);
    }

    return true;
}
项目:deltaforce    文件:FieldModelBuilderFactory.java   
public static TypeMirror autobox(ProcessingEnvironment pe, TypeMirror typeMirror) {

        TypeMirror res;

        if (typeMirror.getKind().isPrimitive()) {
            res = pe.getTypeUtils().boxedClass((PrimitiveType) typeMirror).asType();

        } else if(typeMirror.getKind() == TypeKind.ARRAY){
            res = pe.getTypeUtils().capture(typeMirror);
        }else {
            res = typeMirror;
        }

        return res;
    }
项目:listing    文件:JavaMirrorsTest.java   
@Test
void unknownTypeFails() {
  AssertionError e =
      expectThrows(
          AssertionError.class,
          () -> JavaMirrors.of(Tests.proxy(PrimitiveType.class, (p, m, a) -> TypeKind.ERROR)));
  assertTrue(e.toString().contains("Unsupported primitive type"));
  e =
      expectThrows(
          AssertionError.class,
          () -> JavaMirrors.of(Tests.proxy(NoType.class, (p, m, a) -> TypeKind.ERROR)));
  assertTrue(e.toString().contains("Unsupported no type"));
}
项目:cloudkeeper    文件:CloudKeeperTypeReflection.java   
@Override
public TypeElement boxedClass(PrimitiveType primitiveType) {
    assert completed;
    Objects.requireNonNull(primitiveType);
    requireValidType(primitiveType);

    return boxedTypes.get(primitiveType.getKind());
}