List of usage examples for javax.lang.model.type TypeKind DECLARED
TypeKind DECLARED
To view the source code for javax.lang.model.type TypeKind DECLARED.
Click Source Link
From source file:cop.raml.utils.ImportScanner.java
@Override public Void visitExecutable(ExecutableElement element, DirectoryStream.Filter<String> filter) { if (element.getReturnType().getKind() == TypeKind.DECLARED) addAcceptedType(element.getReturnType().toString(), filter); return super.visitExecutable(element, filter); }
From source file:cop.raml.utils.ImportScanner.java
@Override public Void visitTypeParameter(TypeParameterElement element, DirectoryStream.Filter<String> filter) { if (element.asType().getKind() == TypeKind.DECLARED) addAcceptedType(element.asType().toString(), filter); return super.visitTypeParameter(element, filter); }
From source file:android.databinding.tool.store.SetterStore.java
private static boolean hasTypeVar(TypeMirror typeMirror) { TypeKind kind = typeMirror.getKind(); if (kind == TypeKind.TYPEVAR) { return true; } else if (kind == TypeKind.ARRAY) { return hasTypeVar(((ArrayType) typeMirror).getComponentType()); } else if (kind == TypeKind.DECLARED) { DeclaredType declaredType = (DeclaredType) typeMirror; List<? extends TypeMirror> typeArguments = declaredType.getTypeArguments(); if (typeArguments == null || typeArguments.isEmpty()) { return false; }// ww w .ja v a 2 s.c o m for (TypeMirror arg : typeArguments) { if (hasTypeVar(arg)) { return true; } } return false; } else { return false; } }
From source file:cop.raml.utils.ImportScanner.java
@Override public Void visitVariable(VariableElement element, DirectoryStream.Filter<String> filter) { if (element.asType().getKind() == TypeKind.DECLARED) addAcceptedType(element.asType().toString(), filter); return super.visitVariable(element, filter); }
From source file:com.spotify.docgenerator.JacksonJerseyAnnotationProcessor.java
/** * Make a {@link TypeDescriptor} by examining the {@link TypeMirror} and recursively looking * at the generic arguments to the type (if they exist). */// www.java 2 s. c om private TypeDescriptor makeTypeDescriptor(final TypeMirror type) { if (type.getKind() != TypeKind.DECLARED) { return new TypeDescriptor(type.toString(), ImmutableList.<TypeDescriptor>of()); } final DeclaredType dt = (DeclaredType) type; final String plainType = processingEnv.getTypeUtils().erasure(type).toString(); final List<TypeDescriptor> typeArgumentsList = Lists.newArrayList(); final List<? extends TypeMirror> typeArguments = dt.getTypeArguments(); for (final TypeMirror arg : typeArguments) { typeArgumentsList.add(makeTypeDescriptor(arg)); } return new TypeDescriptor(plainType, typeArgumentsList); }
From source file:org.versly.rest.wsdoc.AnnotationProcessor.java
private TypeMirror unwrapReturnType(TypeMirror originalReturnType) { if (originalReturnType.getKind() != TypeKind.DECLARED) { return originalReturnType; }/* ww w .j a va 2 s. co m*/ DeclaredType declaredType = (DeclaredType) originalReturnType; if (declaredType.getTypeArguments().size() == 0) { return originalReturnType; } TypeElement element = (TypeElement) declaredType.asElement(); // For Spring's Async Support if ("org.springframework.web.context.request.async.DeferredResult" .equalsIgnoreCase(element.getQualifiedName().toString())) { return declaredType.getTypeArguments().get(0); } // For Spring's Async Support if ("java.util.concurrent.Callable".equalsIgnoreCase(element.getQualifiedName().toString())) { return declaredType.getTypeArguments().get(0); } return originalReturnType; }
From source file:io.soabase.halva.processor.caseclass.Templates.java
private void addClassTupleMethods(CaseClassSpec spec, TypeSpec.Builder builder, ClassName className, Optional<List<TypeVariableName>> typeVariableNames) { Optional<Class<? extends Tuple>> optionalTupleClass = Tuple.getTupleClass(spec.getItems().size()); if (!optionalTupleClass.isPresent()) { return;// w w w.jav a2 s . c o m } ClassName anyClassName = ClassName.get(Any.class); ClassName matchClassName = ClassName.get(AnyVal.class); ClassName anyClassTupleName = ClassName.get(AnyClassTuple.class); TypeName localCaseClassName = getLocalCaseClassName(className, typeVariableNames); TypeName classTupleClassName = ParameterizedTypeName.get(anyClassTupleName, localCaseClassName); CodeBlock.Builder returnCode = CodeBlock.builder().add("return new $T($T.Tu(", classTupleClassName, Tuple.class); IntStream.range(0, spec.getItems().size()).forEach(i -> { CaseClassItem item = spec.getItems().get(i); if (i > 0) { returnCode.add(", "); } returnCode.add("$T.loose($L)", anyClassName, item.getName()); }); spec.getItems().forEach(item -> { }); returnCode.addStatement(")){}"); MethodSpec.Builder tupleMethod = MethodSpec.methodBuilder(getClassTupleMethodName(className)) .returns(classTupleClassName).addCode(returnCode.build()) .addModifiers(Modifier.PUBLIC, Modifier.STATIC); spec.getItems().forEach(item -> { TypeName mainType = null; if (item.getType().getKind() == TypeKind.DECLARED) { DeclaredType declaredType = (DeclaredType) item.getType(); List<? extends TypeMirror> typeArguments = declaredType.getTypeArguments(); if (typeArguments.size() > 0) { TypeName[] typeNames = new TypeName[typeArguments.size()]; for (int i = 0; i < typeArguments.size(); ++i) { typeNames[i] = WildcardTypeName.subtypeOf(TypeName.get(typeArguments.get(i)).box()); } mainType = ParameterizedTypeName.get(ClassName.get((TypeElement) declaredType.asElement()), typeNames); } } if (mainType == null) { mainType = TypeName.get(item.getType()).box(); } TypeName wildcareType = WildcardTypeName.subtypeOf(mainType); ParameterizedTypeName type = ParameterizedTypeName.get(matchClassName, wildcareType); tupleMethod.addParameter(type, item.getName()); }); if (typeVariableNames.isPresent()) { tupleMethod.addTypeVariables(typeVariableNames.get()); } builder.addMethod(tupleMethod.build()); }
From source file:org.versly.rest.wsdoc.AnnotationProcessor.java
private JsonType jsonTypeFromTypeMirror(TypeMirror typeMirror, Collection<String> typeRecursionGuard) { JsonType type;/*w w w . j a va 2s . c om*/ if (_memoizedTypeMirrors.containsKey(typeMirror)) { return _memoizedTypeMirrors.get(typeMirror); } if (isJsonPrimitive(typeMirror)) { type = new JsonPrimitive(typeMirror.toString()); } else if (typeMirror.getKind() == TypeKind.DECLARED) { // some sort of object... walk it DeclaredType declaredType = (DeclaredType) typeMirror; type = jsonTypeForDeclaredType(declaredType, declaredType.getTypeArguments(), typeRecursionGuard); } else if (typeMirror.getKind() == TypeKind.VOID) { type = null; } else if (typeMirror.getKind() == TypeKind.ARRAY) { TypeMirror componentType = ((ArrayType) typeMirror).getComponentType(); type = jsonTypeFromTypeMirror(componentType, typeRecursionGuard); } else if (typeMirror.getKind() == TypeKind.ERROR) { type = new JsonPrimitive("(unresolvable type)"); } else { throw new UnsupportedOperationException(typeMirror.toString()); } _memoizedTypeMirrors.put(typeMirror, type); return type; }
From source file:com.googlecode.androidannotations.helper.ValidatorHelper.java
public void returnTypeNotGenericUnlessResponseEntity(ExecutableElement element, IsValid valid) { TypeMirror returnType = element.getReturnType(); TypeKind returnKind = returnType.getKind(); if (returnKind == TypeKind.DECLARED) { DeclaredType declaredReturnType = (DeclaredType) returnType; if (!declaredReturnType.toString().startsWith("org.springframework.http.ResponseEntity<") && declaredReturnType.getTypeArguments().size() > 0) { valid.invalidate();/*from ww w . j a v a 2 s.c o m*/ annotationHelper.printAnnotationError(element, "%s annotated methods cannot return parameterized types, except for ResponseEntity"); } } }