Class BinaryMethod
- All Implemented Interfaces:
IAnnotatable,IJavaElement,IMember,IMethod,IParent,ISourceManipulation,ISourceReference,org.eclipse.core.runtime.IAdaptable
- Direct Known Subclasses:
ResolvedBinaryMethod
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected String[]protected String[]protected String[]The parameter names for the method.protected final String[]The parameter type signatures of the method - stored locally to perform equality test.protected StringFields inherited from class org.aspectj.org.eclipse.jdt.internal.core.NamedMember
nameFields inherited from class org.aspectj.org.eclipse.jdt.internal.core.JavaElement
JEM_ANNOTATION, JEM_CLASSFILE, JEM_COMPILATIONUNIT, JEM_COUNT, JEM_DELIMITER_ESCAPE, JEM_ESCAPE, JEM_FIELD, JEM_IMPORTDECLARATION, JEM_INITIALIZER, JEM_JAVAPROJECT, JEM_LAMBDA_EXPRESSION, JEM_LAMBDA_METHOD, JEM_LOCALVARIABLE, JEM_METHOD, JEM_MODULAR_CLASSFILE, JEM_MODULE, JEM_PACKAGEDECLARATION, JEM_PACKAGEFRAGMENT, JEM_PACKAGEFRAGMENTROOT, JEM_STRING, JEM_TYPE, JEM_TYPE_PARAMETER, NO_ELEMENTS, NO_INFO, NO_STRINGSFields inherited from interface org.aspectj.org.eclipse.jdt.core.IJavaElement
ANNOTATION, CLASS_FILE, COMPILATION_UNIT, FIELD, IMPORT_CONTAINER, IMPORT_DECLARATION, INITIALIZER, JAVA_MODEL, JAVA_MODULE, JAVA_PROJECT, LOCAL_VARIABLE, METHOD, PACKAGE_DECLARATION, PACKAGE_FRAGMENT, PACKAGE_FRAGMENT_ROOT, TYPE, TYPE_PARAMETER -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedBinaryMethod(JavaElement parent, String name, String[] paramTypes) protectedBinaryMethod(JavaElement parent, String name, String[] paramTypes, int occurrenceCount) -
Method Summary
Modifier and TypeMethodDescriptionprotected intbooleanReturns true if this handle represents the same Java element as the given handle.Returns the annotations for this element.getAttachedJavadoc(org.eclipse.core.runtime.IProgressMonitor monitor) Returns the Javadoc as HTML source if this element has attached Javadoc,nullotherwise.Returns amember value pairrepresenting the default value of this method if any, ornullif this method's parent is not an annotation type, or else if this method does not have a default value.intReturns this element's kind encoded as an integer.String[]Returns the type signatures of the exceptions this method throws, in the order declared in the source.intgetFlags()Returns the modifier flags for this member.protected voidprotected charReturns thecharthat marks the start of this handles contribution to a memento.getKey(boolean forceOpen) intReturns the number of parameters of this method.String[]Returns the names of parameters in this method.Returns the parameters of this method.String[]Returns the type signatures for the parameters of this method.String[]Returns the names of parameters in this method.Returns the type signature of the return value of this method.Returns the signature of this method.getTypeParameter(String typeParameterName) Returns the type parameter declared in this method with the given name.Returns the formal type parameters for this method.String[]Deprecated.booleanReturns whether this method is a constructor.booleanReturns whether this method represents a lambda expression.booleanReturns whether this method is a main method.booleanReturns whether this method is a main method candidate.booleanReturns whether this method represents a resolved method.booleanReturns whether this method is similar to the given method.protected voidtoStringInfo(int tab, StringBuilder buffer, Object info, boolean showResolvedInfo) Debugging purposesprotected voidtoStringName(StringBuilder buffer) Debugging purposesprotected voidtoStringName(StringBuilder buffer, int flags) Methods inherited from class org.aspectj.org.eclipse.jdt.internal.core.BinaryMember
copy, getAnnotations, getCategories, getKey, getNameRange, getSourceRange, getStandardAnnotations, isBinary, isStructureKnown, move, rename, setContentsMethods inherited from class org.aspectj.org.eclipse.jdt.internal.core.NamedMember
getElementName, getFullyQualifiedName, getFullyQualifiedParameterizedName, getKey, getKey, getKey, getKey, getOccurrenceCountSignature, getPackageFragment, getTypeQualifiedName, resolveType, resolveTypeMethods inherited from class org.aspectj.org.eclipse.jdt.internal.core.Member
areSimilarMethods, convertConstant, findMethods, getClassFile, getDeclaringType, getHandleFromMemento, getJavadocRange, getOuterMostLocalContext, getType, getTypeRoot, isMainMethod, isMainMethodCandidate, isReadOnlyMethods inherited from class org.aspectj.org.eclipse.jdt.internal.core.SourceRefElement
closing, createElementInfo, delete, findNode, generateInfos, getAnnotation, getCompilationUnit, getCorrespondingResource, getHandleUpdatingCountFromMemento, getOccurrenceCount, getOpenableParent, getPath, getSource, getUnderlyingResource, hasChildren, incOccurrenceCount, resource, setOccurrenceCountMethods inherited from class org.aspectj.org.eclipse.jdt.internal.core.JavaElement
appendEscapedDelimiter, close, escapeMementoName, exists, getAncestor, getChildren, getChildrenOfType, getElementInfo, getElementInfo, getHandleFromMemento, getHandleIdentifier, getHandleMemento, getJavadocBaseLocation, getJavaModel, getJavaProject, getLibraryJavadocLocation, getOpenable, getParent, getPrimaryElement, getPrimaryElement, getResource, getSchedulingRule, getSourceElementAt, getSourceMapper, getURLContents, hashCode, isAncestorOf, newDoesNotExistStatus, newJavaModelException, newNotPresentException, openWhenClosed, resetHashCode, tabString, toDebugString, toString, toString, toStringAncestors, toStringChildren, toStringInfo, toStringWithAncestors, toStringWithAncestors, unresolved, validateAndCacheMethods inherited from class org.eclipse.core.runtime.PlatformObject
getAdapterMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapterMethods inherited from interface org.aspectj.org.eclipse.jdt.core.IAnnotatable
getAnnotationMethods inherited from interface org.aspectj.org.eclipse.jdt.core.IJavaElement
exists, getAncestor, getCorrespondingResource, getHandleIdentifier, getJavaModel, getJavaProject, getOpenable, getParent, getPath, getPrimaryElement, getResource, getSchedulingRule, getUnderlyingResource, isReadOnly, isStructureKnownMethods inherited from interface org.aspectj.org.eclipse.jdt.core.IMember
getCategories, getClassFile, getCompilationUnit, getDeclaringType, getJavadocRange, getOccurrenceCount, getType, getTypeRoot, isBinaryMethods inherited from interface org.aspectj.org.eclipse.jdt.core.IMethod
getElementName, getKeyMethods inherited from interface org.aspectj.org.eclipse.jdt.core.IParent
getChildren, hasChildrenMethods inherited from interface org.aspectj.org.eclipse.jdt.core.ISourceManipulation
copy, delete, move, renameMethods inherited from interface org.aspectj.org.eclipse.jdt.core.ISourceReference
exists, getNameRange, getSource, getSourceRange
-
Field Details
-
parameterTypes
The parameter type signatures of the method - stored locally to perform equality test.CharOperation.NO_STRINGSindicates no parameters. Note that the parameter type signatures are expected to be dot-based. -
erasedParamaterTypes
-
parameterNames
The parameter names for the method. -
exceptionTypes
-
returnType
-
-
Constructor Details
-
BinaryMethod
-
BinaryMethod
-
-
Method Details
-
equals
Description copied from class:JavaElementReturns true if this handle represents the same Java element as the given handle. By default, two handles represent the same element if they are identical or if they represent the same type of element, have equal names, parents, and occurrence counts.If a subclass has other requirements for equality, this method must be overridden.
- Overrides:
equalsin classSourceRefElement- See Also:
-
calculateHashCode
protected int calculateHashCode()- Overrides:
calculateHashCodein classSourceRefElement
-
getAnnotations
Description copied from interface:IAnnotatableReturns the annotations for this element. Returns an empty array if this element has no annotations.- Specified by:
getAnnotationsin interfaceIAnnotatable- Overrides:
getAnnotationsin classSourceRefElement- Returns:
- the annotations of this element, in the order declared in the source, or an empty array if none
- Throws:
JavaModelException- if this element does not exist or if an exception occurs while accessing its corresponding resource.
-
getParameters
Description copied from interface:IMethodReturns the parameters of this method.An empty array is returned, if the method has no parameters.
For binary types, associated source is used to retrieve the
name range,source rangeand theflags.These local variables can be used to retrieve the
parameter annotations.- Specified by:
getParametersin interfaceIMethod- Returns:
- the parameters of this method
- Throws:
JavaModelException- if this element does not exist or if an exception occurs while accessing its corresponding resource.
-
getDefaultValue
Description copied from interface:IMethodReturns amember value pairrepresenting the default value of this method if any, ornullif this method's parent is not an annotation type, or else if this method does not have a default value.Note that
IMemberValuePair.getValue()might returnnull. Please see this method for more details.- Specified by:
getDefaultValuein interfaceIMethod- Returns:
- a member pair value if any, or
nullif none - Throws:
JavaModelException- if this element does not exist or if an exception occurs while accessing its corresponding resource.
-
getExceptionTypes
Description copied from interface:IMethodReturns the type signatures of the exceptions this method throws, in the order declared in the source. Returns an empty array if this method throws no exceptions.For example, a source method declaring
"throws IOException", would return the array{"QIOException;"}.The type signatures may be either unresolved (for source types) or resolved (for binary types), and either basic (for basic types) or rich (for parameterized types). See
Signaturefor details.- Specified by:
getExceptionTypesin interfaceIMethod- Returns:
- the type signatures of the exceptions this method throws, in the order declared in the source, an empty array if this method throws no exceptions
- Throws:
JavaModelException- if this element does not exist or if an exception occurs while accessing its corresponding resource.- See Also:
-
getElementType
public int getElementType()Description copied from interface:IJavaElementReturns this element's kind encoded as an integer. This is a handle-only method.- Specified by:
getElementTypein interfaceIJavaElement- Returns:
- the kind of element; one of the constants declared in
IJavaElement - See Also:
-
getFlags
Description copied from interface:IMemberReturns the modifier flags for this member. The flags can be examined using classFlags.For binary members, flags from the class file as well as derived flags
Flags.AccAnnotationDefaultandFlags.AccDefaultMethodare included.For source members, only flags as indicated in the source are returned. Thus if an interface defines a method
void myMethod();, the flags don't include the 'public' flag. Source flags includeFlags.AccAnnotationDefaultas well.- Specified by:
getFlagsin interfaceIMember- Overrides:
getFlagsin classMember- Returns:
- the modifier flags for this member
- Throws:
JavaModelException- if this element does not exist or if an exception occurs while accessing its corresponding resource.- See Also:
-
getHandleMemento
- Overrides:
getHandleMementoin classSourceRefElement
-
getHandleMementoDelimiter
protected char getHandleMementoDelimiter()Description copied from class:JavaElementReturns thecharthat marks the start of this handles contribution to a memento.- Overrides:
getHandleMementoDelimiterin classMember- See Also:
-
getKey
- Specified by:
getKeyin classBinaryMember- Throws:
JavaModelException- See Also:
-
getNumberOfParameters
public int getNumberOfParameters()Description copied from interface:IMethodReturns the number of parameters of this method. This is a handle-only method.- Specified by:
getNumberOfParametersin interfaceIMethod- Returns:
- the number of parameters of this method
-
getParameterNames
Description copied from interface:IMethodReturns the names of parameters in this method. For binary types, associated source or attached Javadoc are used to retrieve the names. If none can be retrieved, then these names are invented as "arg"+i, where i starts at 0. Returns an empty array if this method has no parameters.For example, a method declared as
public void foo(String text, int length)would return the array{"text","length"}.- Specified by:
getParameterNamesin interfaceIMethod- Returns:
- the names of parameters in this method, an empty array if this method has no parameters
- Throws:
JavaModelException- if this element does not exist or if an exception occurs while accessing its corresponding resource.
-
getParameterTypes
Description copied from interface:IMethodReturns the type signatures for the parameters of this method. Returns an empty array if this method has no parameters. This is a handle-only method.For example, a source method declared as
public void foo(String text, int length)would return the array{"QString;","I"}.The type signatures may be either unresolved (for source types) or resolved (for binary types), and either basic (for basic types) or rich (for parameterized types). See
Signaturefor details.- Specified by:
getParameterTypesin interfaceIMethod- Returns:
- the type signatures for the parameters of this method, an empty array if this method has no parameters
- See Also:
-
getTypeParameter
Description copied from interface:IMethodReturns the type parameter declared in this method with the given name. This is a handle-only method. The type parameter may or may not exist.- Specified by:
getTypeParameterin interfaceIMethod- Parameters:
typeParameterName- the given simple name- Returns:
- the type parameter declared in this method with the given name
-
getTypeParameters
Description copied from interface:IMethodReturns the formal type parameters for this method. Returns an empty array if this method has no formal type parameters.- Specified by:
getTypeParametersin interfaceIMethod- Overrides:
getTypeParametersin classNamedMember- Returns:
- the formal type parameters of this method, in the order declared in the source, an empty array if none
- Throws:
JavaModelException- if this element does not exist or if an exception occurs while accessing its corresponding resource.
-
getTypeParameterSignatures
Deprecated.Description copied from interface:IMethodReturns the formal type parameter signatures for this method. Returns an empty array if this method has no formal type parameters.The formal type parameter signatures may be either unresolved (for source types) or resolved (for binary types). See
Signaturefor details.- Specified by:
getTypeParameterSignaturesin interfaceIMethod- Returns:
- the formal type parameter signatures of this method, in the order declared in the source, an empty array if none
- Throws:
JavaModelException- if this element does not exist or if an exception occurs while accessing its corresponding resource.- Since:
- 3.0
- See Also:
-
getRawParameterNames
Description copied from interface:IMethodReturns the names of parameters in this method. For binary types, these names are invented as "arg"+i, where i starts at 0 (even if source is associated with the binary or if Javdoc is attached to the binary). Returns an empty array if this method has no parameters.For example, a method declared as
public void foo(String text, int length)would return the array{"text","length"}. For the same method in a binary, this would return{"arg0", "arg1"}.- Specified by:
getRawParameterNamesin interfaceIMethod- Returns:
- the names of parameters in this method, an empty array if this method has no parameters
- Throws:
JavaModelException- if this element does not exist or if an exception occurs while accessing its corresponding resource.
-
getReturnType
Description copied from interface:IMethodReturns the type signature of the return value of this method. For constructors, this returns the signature for void.For example, a source method declared as
public String getName()would return"QString;".The type signature may be either unresolved (for source types) or resolved (for binary types), and either basic (for basic types) or rich (for parameterized types). See
Signaturefor details.- Specified by:
getReturnTypein interfaceIMethod- Returns:
- the type signature of the return value of this method, void for constructors
- Throws:
JavaModelException- if this element does not exist or if an exception occurs while accessing its corresponding resource.- See Also:
-
getSignature
Description copied from interface:IMethodReturns the signature of this method. This includes the signatures for the parameter types and return type, but does not include the method name, exception types, or type parameters.For example, a source method declared as
public void foo(String text, int length)would return"(QString;I)V".The type signatures embedded in the method signature may be either unresolved (for source types) or resolved (for binary types), and either basic (for basic types) or rich (for parameterized types). See
Signaturefor details.- Specified by:
getSignaturein interfaceIMethod- Returns:
- the signature of this method
- Throws:
JavaModelException- if this element does not exist or if an exception occurs while accessing its corresponding resource.- See Also:
-
isConstructor
Description copied from interface:IMethodReturns whether this method is a constructor.- Specified by:
isConstructorin interfaceIMethod- Returns:
- true if this method is a constructor, false otherwise
- Throws:
JavaModelException- if this element does not exist or if an exception occurs while accessing its corresponding resource.
-
isMainMethod
Description copied from interface:IMethodReturns whether this method is a main method. It is a main method if:- its name is equal to
"main" - its return type is
void - it is
staticandpublic - it defines one parameter whose type's simple name is
String[]
- Specified by:
isMainMethodin interfaceIMethod- Returns:
- true if this method is a main method, false otherwise
- Throws:
JavaModelException- if this element does not exist or if an exception occurs while accessing its corresponding resource.
- its name is equal to
-
isMainMethodCandidate
Description copied from interface:IMethodReturns whether this method is a main method candidate. It is a main method if:- its name is equal to
"main" - its return type is
void - it is
staticandpublic - it defines one parameter whose type's simple name is
String[]
- its name is equal to
"main" - its return type is
void - it is non-
private - it defines one parameter whose type's simple name is
String[]or no parameter at all
- Specified by:
isMainMethodCandidatein interfaceIMethod- Returns:
- true if this method is a main method, false otherwise
- Throws:
JavaModelException- if this element does not exist or if an exception occurs while accessing its corresponding resource.
- its name is equal to
-
isLambdaMethod
public boolean isLambdaMethod()Description copied from interface:IMethodReturns whether this method represents a lambda expression.- Specified by:
isLambdaMethodin interfaceIMethod- Returns:
- true if this method represents a lambda expression, false otherwise.
-
isResolved
public boolean isResolved()Description copied from interface:IMethodReturns whether this method represents a resolved method. If a method is resolved, its key contains resolved information.- Specified by:
isResolvedin interfaceIMethod- Returns:
- whether this method represents a resolved method.
-
isSimilar
Description copied from interface:IMethodReturns whether this method is similar to the given method. Two methods are similar if:- their element names are equal
- they have the same number of parameters
- the simple names of their parameter types are equal
-
readableName
- Overrides:
readableNamein classMember
-
resolved
- Overrides:
resolvedin classJavaElement
-
toStringInfo
Description copied from class:JavaElementDebugging purposes- Overrides:
toStringInfoin classJavaElement- Parameters:
showResolvedInfo- TODO
-
toStringName
Description copied from class:JavaElementDebugging purposes- Overrides:
toStringNamein classSourceRefElement
-
toStringName
-
getAttachedJavadoc
public String getAttachedJavadoc(org.eclipse.core.runtime.IProgressMonitor monitor) throws JavaModelException Description copied from interface:IJavaElementReturns the Javadoc as HTML source if this element has attached Javadoc,
nullotherwise.This should be used only for binary elements. Source elements will always return
null.The encoding used to read the Javadoc is the one defined by the content type of the file. If none is defined, then the project's encoding of this Java element is used. If the project's encoding cannot be retrieved, then the platform encoding is used.
In case the Javadoc doesn't exist for this element,
nullis returned.The HTML is extracted from the attached Javadoc and provided as is. No transformation or validation is done.
- Specified by:
getAttachedJavadocin interfaceIJavaElement- Overrides:
getAttachedJavadocin classJavaElement- Parameters:
monitor- the given progress monitor, can benull- Returns:
- the extracted javadoc from the attached javadoc,
nullif none - Throws:
JavaModelException- if:- this element does not exist
- retrieving the attached javadoc fails (timed-out, invalid URL, ...)
- the format of the javadoc doesn't match expected standards (different anchors,...)
- See Also:
-