Java Code Examples for javax.lang.model.element.ExecutableElement#getThrownTypes()
The following examples show how to use
javax.lang.model.element.ExecutableElement#getThrownTypes() .
These examples are extracted from open source projects.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source Project: jdk8u60 File: WebServiceWrapperGenerator.java License: GNU General Public License v2.0 | 8 votes |
private boolean generateExceptionBeans(ExecutableElement method) { String beanPackage = packageName + PD_JAXWS_PACKAGE_PD.getValue(); if (packageName.length() == 0) beanPackage = JAXWS_PACKAGE_PD.getValue(); boolean beanGenerated = false; for (TypeMirror thrownType : method.getThrownTypes()) { TypeElement typeDecl = (TypeElement) ((DeclaredType) thrownType).asElement(); if (typeDecl == null) { builder.processError(WebserviceapMessages.WEBSERVICEAP_COULD_NOT_FIND_TYPEDECL( thrownType.toString(), context.getRound())); return false; } boolean tmp = generateExceptionBean(typeDecl, beanPackage); beanGenerated = beanGenerated || tmp; } return beanGenerated; }
Example 2
Source Project: TencentKona-8 File: PubapiVisitor.java License: GNU General Public License v2.0 | 6 votes |
/** * Creates a String representation of a method element with everything * necessary to track all public aspects of it in an API. * @param e Element to create String for. * @return String representation of element. */ protected String makeMethodString(ExecutableElement e) { StringBuilder result = new StringBuilder(); for (Modifier modifier : e.getModifiers()) { result.append(modifier.toString()); result.append(" "); } result.append(e.getReturnType().toString()); result.append(" "); result.append(e.toString()); List<? extends TypeMirror> thrownTypes = e.getThrownTypes(); if (!thrownTypes.isEmpty()) { result.append(" throws "); for (Iterator<? extends TypeMirror> iterator = thrownTypes .iterator(); iterator.hasNext();) { TypeMirror typeMirror = iterator.next(); result.append(typeMirror.toString()); if (iterator.hasNext()) { result.append(", "); } } } return result.toString(); }
Example 3
Source Project: openjdk-jdk9 File: WebServiceWrapperGenerator.java License: GNU General Public License v2.0 | 6 votes |
private boolean generateExceptionBeans(ExecutableElement method) { String beanPackage = packageName + PD_JAXWS_PACKAGE_PD.getValue(); if (packageName.length() == 0) beanPackage = JAXWS_PACKAGE_PD.getValue(); boolean beanGenerated = false; for (TypeMirror thrownType : method.getThrownTypes()) { TypeElement typeDecl = (TypeElement) ((DeclaredType) thrownType).asElement(); if (typeDecl == null) { builder.processError(WebserviceapMessages.WEBSERVICEAP_COULD_NOT_FIND_TYPEDECL( thrownType.toString(), context.getRound())); return false; } boolean tmp = generateExceptionBean(typeDecl, beanPackage); beanGenerated = beanGenerated || tmp; } return beanGenerated; }
Example 4
Source Project: Intimate File: IntimateProcesser.java License: Apache License 2.0 | 6 votes |
private void processMethod(RoundEnvironment roundEnv) { for (Element element : roundEnv.getElementsAnnotatedWith(Method.class)) { RefTargetModel targetModel = getTargetModel(element); if (targetModel == null) { continue; } ExecutableElement executableElement = (ExecutableElement) element; Method method = executableElement.getAnnotation(Method.class); List<CName> parameterTypes = getParameterTypes(executableElement); String name = method.value(); if ("".equals(name)) { name = executableElement.getSimpleName().toString(); } RefMethodModel methodModel = new RefMethodModel(name, executableElement.getReturnType(), parameterTypes, executableElement.getThrownTypes()); targetModel.addMethod(methodModel); } }
Example 5
Source Project: Intimate File: IntimateProcesser.java License: Apache License 2.0 | 6 votes |
private void processGetField(RoundEnvironment roundEnv) { for (Element element : roundEnv.getElementsAnnotatedWith(GetField.class)) { RefTargetModel targetModel = getTargetModel(element); if (targetModel == null) { continue; } ExecutableElement executableElement = (ExecutableElement) element; GetField field = executableElement.getAnnotation(GetField.class); List<CName> parameterTypes = getParameterTypes(executableElement); if (parameterTypes.size() > 0) { Throw.error("@GetField Don't need parameter. method:" + executableElement.getSimpleName().toString()); } RefFieldModel fieldModel = new RefFieldModel(field.value(), executableElement.getSimpleName().toString(), new CName(executableElement.getReturnType()), false, executableElement.getReturnType(), executableElement.getThrownTypes()); targetModel.addField(fieldModel); } }
Example 6
Source Project: openjdk-8-source File: PubapiVisitor.java License: GNU General Public License v2.0 | 6 votes |
/** * Creates a String representation of a method element with everything * necessary to track all public aspects of it in an API. * @param e Element to create String for. * @return String representation of element. */ protected String makeMethodString(ExecutableElement e) { StringBuilder result = new StringBuilder(); for (Modifier modifier : e.getModifiers()) { result.append(modifier.toString()); result.append(" "); } result.append(e.getReturnType().toString()); result.append(" "); result.append(e.toString()); List<? extends TypeMirror> thrownTypes = e.getThrownTypes(); if (!thrownTypes.isEmpty()) { result.append(" throws "); for (Iterator<? extends TypeMirror> iterator = thrownTypes .iterator(); iterator.hasNext();) { TypeMirror typeMirror = iterator.next(); result.append(typeMirror.toString()); if (iterator.hasNext()) { result.append(", "); } } } return result.toString(); }
Example 7
Source Project: openjdk-jdk8u-backup File: WebServiceWrapperGenerator.java License: GNU General Public License v2.0 | 6 votes |
private boolean generateExceptionBeans(ExecutableElement method) { String beanPackage = packageName + PD_JAXWS_PACKAGE_PD.getValue(); if (packageName.length() == 0) beanPackage = JAXWS_PACKAGE_PD.getValue(); boolean beanGenerated = false; for (TypeMirror thrownType : method.getThrownTypes()) { TypeElement typeDecl = (TypeElement) ((DeclaredType) thrownType).asElement(); if (typeDecl == null) { builder.processError(WebserviceapMessages.WEBSERVICEAP_COULD_NOT_FIND_TYPEDECL( thrownType.toString(), context.getRound())); return false; } boolean tmp = generateExceptionBean(typeDecl, beanPackage); beanGenerated = beanGenerated || tmp; } return beanGenerated; }
Example 8
Source Project: openjdk-jdk8u File: WebServiceWrapperGenerator.java License: GNU General Public License v2.0 | 6 votes |
private boolean generateExceptionBeans(ExecutableElement method) { String beanPackage = packageName + PD_JAXWS_PACKAGE_PD.getValue(); if (packageName.length() == 0) beanPackage = JAXWS_PACKAGE_PD.getValue(); boolean beanGenerated = false; for (TypeMirror thrownType : method.getThrownTypes()) { TypeElement typeDecl = (TypeElement) ((DeclaredType) thrownType).asElement(); if (typeDecl == null) { builder.processError(WebserviceapMessages.WEBSERVICEAP_COULD_NOT_FIND_TYPEDECL( thrownType.toString(), context.getRound())); return false; } boolean tmp = generateExceptionBean(typeDecl, beanPackage); beanGenerated = beanGenerated || tmp; } return beanGenerated; }
Example 9
Source Project: hottub File: PubapiVisitor.java License: GNU General Public License v2.0 | 6 votes |
/** * Creates a String representation of a method element with everything * necessary to track all public aspects of it in an API. * @param e Element to create String for. * @return String representation of element. */ protected String makeMethodString(ExecutableElement e) { StringBuilder result = new StringBuilder(); for (Modifier modifier : e.getModifiers()) { result.append(modifier.toString()); result.append(" "); } result.append(e.getReturnType().toString()); result.append(" "); result.append(e.toString()); List<? extends TypeMirror> thrownTypes = e.getThrownTypes(); if (!thrownTypes.isEmpty()) { result.append(" throws "); for (Iterator<? extends TypeMirror> iterator = thrownTypes .iterator(); iterator.hasNext();) { TypeMirror typeMirror = iterator.next(); result.append(typeMirror.toString()); if (iterator.hasNext()) { result.append(", "); } } } return result.toString(); }
Example 10
Source Project: j2objc File: SignatureGenerator.java License: Apache License 2.0 | 6 votes |
/** * MethodTypeSignature ::= [FormalTypeParameters] * "(" {TypeSignature} ")" ReturnType {ThrowsSignature}. */ private void genMethodTypeSignature(ExecutableElement method, StringBuilder sb) { genOptFormalTypeParameters(method.getTypeParameters(), sb); sb.append('('); for (VariableElement param : method.getParameters()) { genTypeSignature(param.asType(), sb); } sb.append(')'); genTypeSignature(method.getReturnType(), sb); List<? extends TypeMirror> thrownTypes = method.getThrownTypes(); if (hasGenericSignature(thrownTypes)) { for (TypeMirror thrownType : thrownTypes) { sb.append('^'); genTypeSignature(thrownType, sb); } } }
Example 11
Source Project: jeddict File: JavaSourceParserUtil.java License: Apache License 2.0 | 5 votes |
public static List<String> getExceptionsThrown(WorkingCopy workingCopy, String fqClass, String methodName, List<String> formalParamFqTypes) { if (formalParamFqTypes == null) { formalParamFqTypes = Collections.<String>emptyList(); } ExecutableElement desiredMethodElement = null; TypeElement suppliedTypeElement = workingCopy.getElements().getTypeElement(fqClass); TypeElement typeElement = suppliedTypeElement; whileloop: while (typeElement != null) { for (ExecutableElement methodElement : ElementFilter.methodsIn(typeElement.getEnclosedElements())) { if (methodElement.getSimpleName().contentEquals(methodName)) { List<? extends VariableElement> formalParamElements = methodElement.getParameters(); //for now, just check sizes if (formalParamElements.size() == formalParamFqTypes.size()) { desiredMethodElement = methodElement; break whileloop; } } } typeElement = getSuperclassTypeElement(typeElement); } if (desiredMethodElement == null) { throw new IllegalArgumentException("Could not find " + methodName + " in " + fqClass); } List<String> result = new ArrayList<>(); List<? extends TypeMirror> thrownTypes = desiredMethodElement.getThrownTypes(); for (TypeMirror thrownType : thrownTypes) { if (thrownType.getKind() == TypeKind.DECLARED) { DeclaredType thrownDeclaredType = (DeclaredType) thrownType; TypeElement thrownElement = (TypeElement) thrownDeclaredType.asElement(); String thrownFqClass = thrownElement.getQualifiedName().toString(); result.add(thrownFqClass); } else { result.add(null); } } return result; }
Example 12
Source Project: openjdk-jdk8u-backup File: WebServiceVisitor.java License: GNU General Public License v2.0 | 5 votes |
protected boolean isValidOneWayMethod(ExecutableElement method, TypeElement typeElement) { boolean valid = true; if (!(method.getReturnType().accept(NO_TYPE_VISITOR, null))) { // this is an error, cannot be OneWay and have a return type builder.processError(WebserviceapMessages.WEBSERVICEAP_ONEWAY_OPERATION_CANNOT_HAVE_RETURN_TYPE(typeElement.getQualifiedName(), method.toString()), method); valid = false; } VariableElement outParam = getOutParameter(method); if (outParam != null) { builder.processError(WebserviceapMessages.WEBSERVICEAP_ONEWAY_AND_OUT(typeElement.getQualifiedName(), method.toString()), outParam); valid = false; } if (!isDocLitWrapped() && soapStyle.equals(SOAPStyle.DOCUMENT)) { int inCnt = getModeParameterCount(method, WebParam.Mode.IN); if (inCnt != 1) { builder.processError(WebserviceapMessages.WEBSERVICEAP_ONEWAY_AND_NOT_ONE_IN(typeElement.getQualifiedName(), method.toString()), method); valid = false; } } for (TypeMirror thrownType : method.getThrownTypes()) { TypeElement thrownElement = (TypeElement) ((DeclaredType) thrownType).asElement(); if (builder.isServiceException(thrownType)) { builder.processError(WebserviceapMessages.WEBSERVICEAP_ONEWAY_OPERATION_CANNOT_DECLARE_EXCEPTIONS( typeElement.getQualifiedName(), method.toString(), thrownElement.getQualifiedName()), method); valid = false; } } return valid; }
Example 13
Source Project: jdk8u60 File: WebServiceVisitor.java License: GNU General Public License v2.0 | 5 votes |
protected boolean isValidOneWayMethod(ExecutableElement method, TypeElement typeElement) { boolean valid = true; if (!(method.getReturnType().accept(NO_TYPE_VISITOR, null))) { // this is an error, cannot be OneWay and have a return type builder.processError(WebserviceapMessages.WEBSERVICEAP_ONEWAY_OPERATION_CANNOT_HAVE_RETURN_TYPE(typeElement.getQualifiedName(), method.toString()), method); valid = false; } VariableElement outParam = getOutParameter(method); if (outParam != null) { builder.processError(WebserviceapMessages.WEBSERVICEAP_ONEWAY_AND_OUT(typeElement.getQualifiedName(), method.toString()), outParam); valid = false; } if (!isDocLitWrapped() && soapStyle.equals(SOAPStyle.DOCUMENT)) { int inCnt = getModeParameterCount(method, WebParam.Mode.IN); if (inCnt != 1) { builder.processError(WebserviceapMessages.WEBSERVICEAP_ONEWAY_AND_NOT_ONE_IN(typeElement.getQualifiedName(), method.toString()), method); valid = false; } } for (TypeMirror thrownType : method.getThrownTypes()) { TypeElement thrownElement = (TypeElement) ((DeclaredType) thrownType).asElement(); if (builder.isServiceException(thrownType)) { builder.processError(WebserviceapMessages.WEBSERVICEAP_ONEWAY_OPERATION_CANNOT_DECLARE_EXCEPTIONS( typeElement.getQualifiedName(), method.toString(), thrownElement.getQualifiedName()), method); valid = false; } } return valid; }
Example 14
Source Project: sundrio File: ElementTo.java License: Apache License 2.0 | 5 votes |
public Method apply(ExecutableElement executableElement) { Map<AttributeKey, Object> attributes = new HashMap<>(); if (executableElement.getDefaultValue() != null) { attributes.put(Attributeable.DEFAULT_VALUE, executableElement.getDefaultValue().getValue()); } MethodBuilder methodBuilder = new MethodBuilder() .withModifiers(TypeUtils.modifiersToInt(executableElement.getModifiers())) .withName(executableElement.getSimpleName().toString()) .withReturnType(MIRROR_TO_TYPEREF.apply(executableElement.getReturnType())) .withAttributes(attributes); //Populate constructor parameters for (VariableElement variableElement : executableElement.getParameters()) { methodBuilder = methodBuilder.addToArguments(PROPERTY.apply(variableElement)); List<ClassRef> exceptionRefs = new ArrayList<ClassRef>(); for (TypeMirror thrownType : executableElement.getThrownTypes()) { if (thrownType instanceof ClassRef) { exceptionRefs.add((ClassRef) thrownType); } } methodBuilder = methodBuilder.withExceptions(exceptionRefs); } List<ClassRef> annotationRefs = new ArrayList<ClassRef>(); for (AnnotationMirror annotationMirror : executableElement.getAnnotationMirrors()) { methodBuilder.withAnnotations(ANNOTATION_REF.apply(annotationMirror)); } return methodBuilder.build(); }
Example 15
Source Project: OkDeepLink File: MethodGenerator.java License: Apache License 2.0 | 5 votes |
void addExceptions(ExecutableElement annotatedMtd, MethodSpec.Builder builder) { List<? extends TypeMirror> exceptions = annotatedMtd.getThrownTypes(); if (exceptions != null){ for (TypeMirror exc : exceptions) { builder.addException(ClassName.get(exc)); } } }
Example 16
Source Project: JReFrameworker File: MethodSpec.java License: MIT License | 5 votes |
/** * Returns a new method spec builder that overrides {@code method}. * * <p>This will copy its visibility modifiers, type parameters, return type, name, parameters, and * throws declarations. An {@link Override} annotation will be added. * * <p>Note that in JavaPoet 1.2 through 1.7 this method retained annotations from the method and * parameters of the overridden method. Since JavaPoet 1.8 annotations must be added separately. */ public static Builder overriding(ExecutableElement method) { checkNotNull(method, "method == null"); Set<Modifier> modifiers = method.getModifiers(); if (modifiers.contains(Modifier.PRIVATE) || modifiers.contains(Modifier.FINAL) || modifiers.contains(Modifier.STATIC)) { throw new IllegalArgumentException("cannot override method with modifiers: " + modifiers); } String methodName = method.getSimpleName().toString(); MethodSpec.Builder methodBuilder = MethodSpec.methodBuilder(methodName); methodBuilder.addAnnotation(Override.class); modifiers = new LinkedHashSet<>(modifiers); modifiers.remove(Modifier.ABSTRACT); modifiers.remove(Util.DEFAULT); // LinkedHashSet permits null as element for Java 7 methodBuilder.addModifiers(modifiers); for (TypeParameterElement typeParameterElement : method.getTypeParameters()) { TypeVariable var = (TypeVariable) typeParameterElement.asType(); methodBuilder.addTypeVariable(TypeVariableName.get(var)); } methodBuilder.returns(TypeName.get(method.getReturnType())); methodBuilder.addParameters(ParameterSpec.parametersOf(method)); methodBuilder.varargs(method.isVarArgs()); for (TypeMirror thrownType : method.getThrownTypes()) { methodBuilder.addException(TypeName.get(thrownType)); } return methodBuilder; }
Example 17
Source Project: j2objc File: DebugASTPrinter.java License: Apache License 2.0 | 5 votes |
@Override public boolean visit(MethodDeclaration node) { sb.printIndent(); printAnnotations(node.getAnnotations()); printModifiers(node.getModifiers()); ExecutableElement meth = node.getExecutableElement(); printTypeParameters(meth.getTypeParameters()); if (!node.isConstructor()) { sb.print(node.getReturnTypeMirror().toString()); sb.print(' '); } sb.print(ElementUtil.getName(meth)); sb.print("("); for (Iterator<SingleVariableDeclaration> it = node.getParameters().iterator(); it.hasNext(); ) { it.next().accept(this); if (it.hasNext()) { sb.print(','); } } sb.print(")"); List<? extends TypeMirror> exceptions = meth.getThrownTypes(); if (exceptions.size() > 0) { sb.print(" throws "); for (int i = 0; i < exceptions.size(); ) { sb.print(exceptions.get(i).toString()); if (++i < exceptions.size()){ sb.print(','); } } sb.print(' '); } printMethodBody(node); return false; }
Example 18
Source Project: toothpick File: ToothpickProcessor.java License: Apache License 2.0 | 5 votes |
protected List<TypeElement> getExceptionTypes(ExecutableElement methodElement) { List<TypeElement> exceptionClassNames = new ArrayList<>(); for (TypeMirror thrownTypeMirror : methodElement.getThrownTypes()) { DeclaredType thrownDeclaredType = (DeclaredType) thrownTypeMirror; TypeElement thrownType = (TypeElement) thrownDeclaredType.asElement(); exceptionClassNames.add(thrownType); } return exceptionClassNames; }
Example 19
Source Project: netbeans File: DependencyCollector.java License: Apache License 2.0 | 5 votes |
/** * Method adds dependencies on its return type, and parameter types */ @Override public Object visitMethod(MethodTree node, Object p) { ExecutableElement e = (ExecutableElement) info.getTrees().getElement(getCurrentPath()); addDependency(e.getReturnType()); // parameters will be captured by visit(VariableTree). for (TypeMirror tm : e.getThrownTypes()) { addDependency(tm); } return super.visitMethod(node, p); }
Example 20
Source Project: javapoet File: MethodSpec.java License: Apache License 2.0 | 4 votes |
/** * Returns a new method spec builder that overrides {@code method}. * * <p>This will copy its visibility modifiers, type parameters, return type, name, parameters, and * throws declarations. An {@link Override} annotation will be added. * * <p>Note that in JavaPoet 1.2 through 1.7 this method retained annotations from the method and * parameters of the overridden method. Since JavaPoet 1.8 annotations must be added separately. */ public static Builder overriding(ExecutableElement method) { checkNotNull(method, "method == null"); Element enclosingClass = method.getEnclosingElement(); if (enclosingClass.getModifiers().contains(Modifier.FINAL)) { throw new IllegalArgumentException("Cannot override method on final class " + enclosingClass); } Set<Modifier> modifiers = method.getModifiers(); if (modifiers.contains(Modifier.PRIVATE) || modifiers.contains(Modifier.FINAL) || modifiers.contains(Modifier.STATIC)) { throw new IllegalArgumentException("cannot override method with modifiers: " + modifiers); } String methodName = method.getSimpleName().toString(); MethodSpec.Builder methodBuilder = MethodSpec.methodBuilder(methodName); methodBuilder.addAnnotation(Override.class); modifiers = new LinkedHashSet<>(modifiers); modifiers.remove(Modifier.ABSTRACT); modifiers.remove(Modifier.DEFAULT); methodBuilder.addModifiers(modifiers); for (TypeParameterElement typeParameterElement : method.getTypeParameters()) { TypeVariable var = (TypeVariable) typeParameterElement.asType(); methodBuilder.addTypeVariable(TypeVariableName.get(var)); } methodBuilder.returns(TypeName.get(method.getReturnType())); methodBuilder.addParameters(ParameterSpec.parametersOf(method)); methodBuilder.varargs(method.isVarArgs()); for (TypeMirror thrownType : method.getThrownTypes()) { methodBuilder.addException(TypeName.get(thrownType)); } return methodBuilder; }