boolean overridesMethod( ExecutableElement element, CompilationController controller ) { ExecutableElement exec = getElementHandle().resolve(controller); if ( exec == null ){ return false; } ExecutableElement overriddenMethod = exec; while ( true ){ overriddenMethod = controller.getElementUtilities().getOverriddenMethod(overriddenMethod); if ( overriddenMethod == null ){ break; } if ( overriddenMethod.equals( element )){ return true; } } return false; }
while ( true ){ overriddenMethod = controller.getElementUtilities().getOverriddenMethod(overriddenMethod); if ( overriddenMethod == null ){ break;
static void visitSpecializes( ExecutableElement method, AnnotationModelHelper helper , SpecializeVisitor visitor ) { ExecutableElement current = method; while ( true ){ ExecutableElement overridenElement = helper.getCompilationController(). getElementUtilities().getOverriddenMethod( current); if ( overridenElement != null && AnnotationObjectProvider.hasSpecializes( current, helper)) { if ( visitor.visit(overridenElement)){ return; } current = overridenElement; } else { break; } } }
private boolean collectSpecializes( Element productionElement, ExecutableElement element, WebBeansModelImplementation model, Set<Element> probableSpecializes, Set<Element> specializeElements ) { ElementUtilities elementUtilities = model.getHelper().getCompilationController().getElementUtilities(); if ( !elementUtilities.overridesMethod(element)){ return false; } ExecutableElement overriddenMethod = elementUtilities. getOverriddenMethod( element); if ( overriddenMethod == null ){ return false; } if (!AnnotationObjectProvider.hasSpecializes(element, model.getHelper())){ return false; } probableSpecializes.add( element); if( overriddenMethod.equals( productionElement ) || specializeElements.contains( productionElement)) { return true; } else { return collectSpecializes(productionElement, overriddenMethod, model, probableSpecializes, specializeElements); } }
getOverriddenMethod( element ); if ( overridenMethod == null ){ return;
getOverriddenMethod(method); if ( overriddenMethod == null ){ return;