org.aspectj.org.eclipse.jdt.internal.compiler.apt.model
Class ExecutableElementImpl

java.lang.Object
  extended by org.aspectj.org.eclipse.jdt.internal.compiler.apt.model.ElementImpl
      extended by org.aspectj.org.eclipse.jdt.internal.compiler.apt.model.ExecutableElementImpl
All Implemented Interfaces:
javax.lang.model.element.Element, javax.lang.model.element.ExecutableElement, IElementInfo

public class ExecutableElementImpl
extends ElementImpl
implements javax.lang.model.element.ExecutableElement


Field Summary
 
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.apt.model.ElementImpl
_binding, _env
 
Method Summary
<R,P> R
accept(javax.lang.model.element.ElementVisitor<R,P> v, P p)
           
protected  AnnotationBinding[] getAnnotationBindings()
           
 javax.lang.model.element.AnnotationValue getDefaultValue()
           
 java.util.List<? extends javax.lang.model.element.Element> getEnclosedElements()
           
 javax.lang.model.element.Element getEnclosingElement()
           
 java.lang.String getFileName()
          Get the project-relative path to the source file that contains this element.
 javax.lang.model.element.ElementKind getKind()
           
 java.util.Set<javax.lang.model.element.Modifier> getModifiers()
           
 java.util.List<? extends javax.lang.model.element.VariableElement> getParameters()
           
 javax.lang.model.type.TypeMirror getReceiverType()
           
 javax.lang.model.type.TypeMirror getReturnType()
           
 javax.lang.model.element.Name getSimpleName()
           
 java.util.List<? extends javax.lang.model.type.TypeMirror> getThrownTypes()
           
 java.util.List<? extends javax.lang.model.element.TypeParameterElement> getTypeParameters()
           
 boolean hides(javax.lang.model.element.Element hidden)
          Subclassed by VariableElementImpl, TypeElementImpl, and ExecutableElementImpl.
 boolean isDefault()
           
 boolean isVarArgs()
           
 boolean overrides(javax.lang.model.element.ExecutableElement overridden, javax.lang.model.element.TypeElement type)
          Return true if this method overrides overridden in the context of type.
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.apt.model.ElementImpl
asType, equals, getAnnotation, getAnnotationMirrors, getAnnotationsByType, getPackedAnnotationBindings, hashCode, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface javax.lang.model.element.Element
asType, equals, getAnnotation, getAnnotationMirrors, hashCode
 

Method Detail

accept

public <R,P> R accept(javax.lang.model.element.ElementVisitor<R,P> v,
                      P p)
Specified by:
accept in interface javax.lang.model.element.Element

getAnnotationBindings

protected AnnotationBinding[] getAnnotationBindings()
Specified by:
getAnnotationBindings in class ElementImpl
Returns:
the set of compiler annotation bindings on this element

getDefaultValue

public javax.lang.model.element.AnnotationValue getDefaultValue()
Specified by:
getDefaultValue in interface javax.lang.model.element.ExecutableElement

getEnclosedElements

public java.util.List<? extends javax.lang.model.element.Element> getEnclosedElements()
Specified by:
getEnclosedElements in interface javax.lang.model.element.Element

getEnclosingElement

public javax.lang.model.element.Element getEnclosingElement()
Specified by:
getEnclosingElement in interface javax.lang.model.element.Element

getFileName

public java.lang.String getFileName()
Description copied from interface: IElementInfo
Get the project-relative path to the source file that contains this element. If the element is a PackageElement, the "source file" is package-info.java. If the element is not recognized or does not exist in the project for some reason, returns null.

Specified by:
getFileName in interface IElementInfo
Overrides:
getFileName in class ElementImpl
Returns:
the project-relative path, or null.

getKind

public javax.lang.model.element.ElementKind getKind()
Specified by:
getKind in interface javax.lang.model.element.Element

getModifiers

public java.util.Set<javax.lang.model.element.Modifier> getModifiers()
Specified by:
getModifiers in interface javax.lang.model.element.Element
Overrides:
getModifiers in class ElementImpl

getParameters

public java.util.List<? extends javax.lang.model.element.VariableElement> getParameters()
Specified by:
getParameters in interface javax.lang.model.element.ExecutableElement

getReturnType

public javax.lang.model.type.TypeMirror getReturnType()
Specified by:
getReturnType in interface javax.lang.model.element.ExecutableElement

getSimpleName

public javax.lang.model.element.Name getSimpleName()
Specified by:
getSimpleName in interface javax.lang.model.element.Element
Overrides:
getSimpleName in class ElementImpl

getThrownTypes

public java.util.List<? extends javax.lang.model.type.TypeMirror> getThrownTypes()
Specified by:
getThrownTypes in interface javax.lang.model.element.ExecutableElement

getTypeParameters

public java.util.List<? extends javax.lang.model.element.TypeParameterElement> getTypeParameters()
Specified by:
getTypeParameters in interface javax.lang.model.element.ExecutableElement

hides

public boolean hides(javax.lang.model.element.Element hidden)
Description copied from class: ElementImpl
Subclassed by VariableElementImpl, TypeElementImpl, and ExecutableElementImpl. This base implementation suffices for other types.

Overrides:
hides in class ElementImpl
Returns:
true if this element hides hidden
See Also:
Elements.hides(javax.lang.model.element.Element, javax.lang.model.element.Element)

isVarArgs

public boolean isVarArgs()
Specified by:
isVarArgs in interface javax.lang.model.element.ExecutableElement

overrides

public boolean overrides(javax.lang.model.element.ExecutableElement overridden,
                         javax.lang.model.element.TypeElement type)
Return true if this method overrides overridden in the context of type. For instance, consider
   interface A { void f(); }
   class B { void f() {} }
   class C extends B implements I { }
 
In the context of B, B.f() does not override A.f(); they are unrelated. But in the context of C, B.f() does override A.f(). That is, the copy of B.f() that C inherits overrides A.f(). This is equivalent to considering two questions: first, does C inherit B.f(); if so, does the inherited C.f() override A.f(). If B.f() were private, for instance, then in the context of C it would still not override A.f().

See Also:
Elements.overrides(ExecutableElement, ExecutableElement, TypeElement)

getReceiverType

public javax.lang.model.type.TypeMirror getReceiverType()

isDefault

public boolean isDefault()