List of usage examples for javax.lang.model.element TypeElement getEnclosedElements
@Override
List<? extends Element> getEnclosedElements();
From source file:org.netbeans.jcode.core.util.JavaSourceHelper.java
public static MethodTree getMethodByName(CompilationController controller, String methodName) { TypeElement classElement = getTopLevelClassElement(controller); if (classElement == null) { return null; }/* w w w . java2 s.co m*/ List<ExecutableElement> methods = ElementFilter.methodsIn(classElement.getEnclosedElements()); List<MethodTree> found = new ArrayList<MethodTree>(); for (ExecutableElement method : methods) { if (method.getSimpleName().toString().equals(methodName)) { found.add(controller.getTrees().getTree(method)); } } if (found.size() > 1) { throw new IllegalArgumentException("Unexpected overloading methods of '" + methodName + "' found."); } else if (found.size() == 1) { return found.get(0); } return null; }
From source file:org.netbeans.jcode.core.util.JavaSourceHelper.java
public static MethodTree getDefaultConstructor(CompilationController controller) { TypeElement classElement = getTopLevelClassElement(controller); if (classElement == null) { return null; }/*from w w w . java2 s .c om*/ List<ExecutableElement> constructors = ElementFilter.constructorsIn(classElement.getEnclosedElements()); for (ExecutableElement constructor : constructors) { if (constructor.getParameters().size() == 0) { return controller.getTrees().getTree(constructor); } } return null; }
From source file:io.github.jeddict.jcode.util.JavaSourceHelper.java
public static VariableTree getField(CompilationController controller, String fieldName) { TypeElement classElement = getTopLevelClassElement(controller); if (classElement == null) { return null; }/*from w w w . j av a 2 s. com*/ List<VariableElement> fields = ElementFilter.fieldsIn(classElement.getEnclosedElements()); for (VariableElement field : fields) { if (field.getSimpleName().toString().equals(fieldName)) { return (VariableTree) controller.getTrees().getTree(field); } } return null; }
From source file:io.github.jeddict.jcode.util.JavaSourceHelper.java
public static MethodTree getMethodByName(CompilationController controller, String methodName) { TypeElement classElement = getTopLevelClassElement(controller); if (classElement == null) { return null; }//from w ww. jav a 2 s. com List<ExecutableElement> methods = ElementFilter.methodsIn(classElement.getEnclosedElements()); List<MethodTree> found = new ArrayList<>(); for (ExecutableElement method : methods) { if (method.getSimpleName().toString().equals(methodName)) { found.add(controller.getTrees().getTree(method)); } } if (found.size() > 1) { throw new IllegalArgumentException("Unexpected overloading methods of '" + methodName + "' found."); } else if (found.size() == 1) { return found.get(0); } return null; }
From source file:org.androidannotations.helper.ActivityIntentBuilder.java
private boolean hasActivityOptions(TypeElement type, int optionsParamPosition) { if (type == null) { return false; }/*from www.jav a 2 s. c o m*/ for (Element element : type.getEnclosedElements()) { if (element.getKind() == ElementKind.METHOD) { ExecutableElement executableElement = (ExecutableElement) element; if (executableElement.getSimpleName().contentEquals("startActivity")) { List<? extends VariableElement> parameters = executableElement.getParameters(); if (parameters.size() == optionsParamPosition + 1) { VariableElement parameter = parameters.get(optionsParamPosition); if (parameter.asType().toString().equals(CanonicalNameConstants.BUNDLE)) { return true; } } } } } return false; }
From source file:blue.lapis.pore.ap.event.EventVerifierProcessor.java
private void verifyEnclosedElements(TypeElement type) { boolean searchField = true; boolean searchMethod = true; boolean searchConstructor = true; for (Element element : type.getEnclosedElements()) { switch (element.getKind()) { case FIELD: if (searchField) { if (element.getSimpleName().contentEquals("handle")) { searchField = false; verifySpongeEvent(element, element.asType()); }/*from w w w.j a v a 2 s . c o m*/ } break; case METHOD: if (searchMethod) { if (element.getSimpleName().contentEquals("getHandle")) { searchMethod = false; verifySpongeEvent(element, ((ExecutableElement) element).getReturnType()); break; } } if (element.getSimpleName().toString().startsWith("_INVALID_")) { processingEnv.getMessager().printMessage(ERROR, "Annotated event shouldn't override _INVALID_" + " method", element); } break; case CONSTRUCTOR: if (searchConstructor) { ExecutableElement constructor = (ExecutableElement) element; List<? extends VariableElement> parameters = constructor.getParameters(); if (parameters.size() == 1) { VariableElement handle = parameters.get(0); if (isSpongeEvent(handle.asType())) { searchConstructor = false; } } } break; } } if (searchField) { processingEnv.getMessager().printMessage(SEVERITY, "Annotated event is missing handle field", type); } if (searchMethod) { processingEnv.getMessager().printMessage(SEVERITY, "Annotated event is missing getHandle getter", type); } if (searchConstructor) { processingEnv.getMessager().printMessage(SEVERITY, "Annotated event is missing handle constructor", type); } }
From source file:io.github.jeddict.jcode.util.JavaSourceHelper.java
public static MethodTree getDefaultConstructor(CompilationController controller) { TypeElement classElement = getTopLevelClassElement(controller); if (classElement == null) { return null; }/*from ww w .j a v a 2s . co m*/ List<ExecutableElement> constructors = ElementFilter.constructorsIn(classElement.getEnclosedElements()); for (ExecutableElement constructor : constructors) { if (constructor.getParameters().isEmpty()) { return controller.getTrees().getTree(constructor); } } return null; }
From source file:org.netbeans.jcode.core.util.JavaSourceHelper.java
public static List<MethodTree> getAllMethods(JavaSource source) { final List<MethodTree> allMethods = new ArrayList<MethodTree>(); try {//from w w w . j av a2 s . c o m source.runUserActionTask(new AbstractTask<CompilationController>() { public void run(CompilationController controller) throws IOException { TypeElement classElement = getTopLevelClassElement(controller); if (classElement == null) { return; } List<ExecutableElement> methods = ElementFilter.methodsIn(classElement.getEnclosedElements()); for (ExecutableElement method : methods) { allMethods.add(controller.getTrees().getTree(method)); } } }, true); } catch (IOException ex) { Exceptions.printStackTrace(ex); } return allMethods; }
From source file:org.netbeans.jcode.core.util.JavaSourceHelper.java
public static Collection<String> getAnnotationValuesForAllMethods(JavaSource source, final String annotation) { final Collection<String> results = new HashSet<String>(); try {/*from w w w . j a v a2 s .c o m*/ source.runUserActionTask(new AbstractTask<CompilationController>() { public void run(CompilationController controller) throws IOException { controller.toPhase(JavaSource.Phase.ELEMENTS_RESOLVED); TypeElement classElement = getTopLevelClassElement(controller); if (classElement == null) { return; } List<ExecutableElement> methods = ElementFilter.methodsIn(classElement.getEnclosedElements()); for (ExecutableElement method : methods) { for (AnnotationMirror mirror : method.getAnnotationMirrors()) { if (((TypeElement) mirror.getAnnotationType().asElement()).getQualifiedName() .contentEquals(annotation)) { for (AnnotationValue value : mirror.getElementValues().values()) { results.add(value.getValue().toString()); } } } } } }, true); } catch (IOException ex) { Exceptions.printStackTrace(ex); } return results; }
From source file:io.github.jeddict.jcode.util.JavaSourceHelper.java
public static List<MethodTree> getAllMethods(JavaSource source) { final List<MethodTree> allMethods = new ArrayList<>(); try {/*from w ww . j av a2 s. c o m*/ source.runUserActionTask(new AbstractTask<CompilationController>() { public void run(CompilationController controller) throws IOException { TypeElement classElement = getTopLevelClassElement(controller); if (classElement == null) { return; } List<ExecutableElement> methods = ElementFilter.methodsIn(classElement.getEnclosedElements()); for (ExecutableElement method : methods) { allMethods.add(controller.getTrees().getTree(method)); } } }, true); } catch (IOException ex) { Exceptions.printStackTrace(ex); } return allMethods; }