java.lang.Object | |
↳ | sun.tools.java.MemberDefinition |
Known Direct Subclasses |
This class defines a member of a Java class: a variable, a method, or an inner class. WARNING: The contents of this source file are not part of any supported API. Code that depends on them does so at its own risk: they are subject to change or removal without notice.
[Expand]
Inherited Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From interface
sun.tools.java.Constants
| |||||||||||
From interface
sun.tools.java.RuntimeConstants
|
Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
accessPeer | |||||||||||
clazz | |||||||||||
documentation | |||||||||||
exp | |||||||||||
expIds | |||||||||||
innerClass | |||||||||||
modifiers | |||||||||||
name | |||||||||||
nextMatch | |||||||||||
nextMember | |||||||||||
superAccessMethod | |||||||||||
type | |||||||||||
value | |||||||||||
where |
[Expand]
Inherited Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From interface
sun.tools.java.Constants
| |||||||||||
From interface
sun.tools.java.RuntimeConstants
|
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Constructor
| |||||||||||
Constructor for an inner class.
|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Check if a field can reach another field (only considers
forward references, not the access modifiers).
| |||||||||||
Really check the field definition.
| |||||||||||
Request a check of the field definition.
| |||||||||||
Check to see if two method definitions are compatible, that is
do they have a `meet'.
| |||||||||||
Check to see if `this' can override/hide `method'.
| |||||||||||
Generate code
| |||||||||||
This method is meant to be used to determine if one of two inherited
methods could override the other.
| |||||||||||
Is this a synthetic method which provides access to a
visible private member?
| |||||||||||
If this method is a getter for a private field, return the setter.
| |||||||||||
Get arguments (a vector of LocalMember)
| |||||||||||
Get the class declaration
| |||||||||||
Get the class definition
| |||||||||||
Get the class declaration in which the field is actually defined
| |||||||||||
Get the field's documentation
| |||||||||||
Get the exceptions that are thrown by this method.
| |||||||||||
Get an inner class.
| |||||||||||
Get the field's modifiers
| |||||||||||
Get the field's name
| |||||||||||
Get the next field or the next match
| |||||||||||
Get the field's top-level enclosing class
| |||||||||||
Get the field's type
| |||||||||||
Get the field's final value (may return null)
| |||||||||||
Get the position in the input
| |||||||||||
Tell if this is a final variable without an initializer.
| |||||||||||
Check if constant: Will it inline away to a constant?
| |||||||||||
Checks
| |||||||||||
Is this an access method for a field selection or method call
of the form '...super.foo' or '...super.foo()'?
| |||||||||||
Is this a synthetic field which holds a copy of,
or reference to, a local variable or enclosing instance?
| |||||||||||
Create a member which is externally the same as `field' but
is defined in class `classDef'.
| |||||||||||
Print for debugging
| |||||||||||
Tells whether to report a deprecation error for this field.
| |||||||||||
A stub.
| |||||||||||
Convenience method to see if two methods return the same type
| |||||||||||
Mark this member as an access method for a field selection
or method call via the 'super' keyword.
| |||||||||||
toString
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
Constructor
Constructor for an inner class. Inner classes are represented as fields right along with variables and methods for simplicity of data structure, and to reflect properly the textual declaration order.
This constructor calls the generic constructor for this class, extracting all necessary values from the innerClass.
Check if a field can reach another field (only considers forward references, not the access modifiers).
Really check the field definition.
ClassNotFound |
---|
Check to see if two method definitions are compatible, that is do they have a `meet'. The meet of two methods is essentially and `intersection' of two methods. This method is called when some class C inherits declarations for some method foo from two parents (superclass, interfaces) but it does not, itself, have a declaration of foo. Caller is responsible for making sure that both methods are indeed visible in clazz.
A - void foo() throws e1 \ \ B void foo() throws e2 \ / \ / C
Check to see if `this' can override/hide `method'. Caller is responsible for verifying that `method' has the same signature as `this'. Caller is also responsible for verifying that `method' is visible to the class where this override is occurring. This method is called for the case when class B extends A and both A and B define some method.
A - void foo() throws e1 | | B - void foo() throws e2
This method is meant to be used to determine if one of two inherited methods could override the other. Unlike checkOverride(), failure is not an error. This method is only meant to be called after checkMeet() has succeeded on the two methods. If you call couldOverride() without doing a checkMeet() first, then you are on your own.
Is this a synthetic method which provides access to a visible private member?
If this method is a getter for a private field, return the setter.
Get the class declaration in which the field is actually defined
Get the exceptions that are thrown by this method.
Get the field's modifiers
Get the field's final value (may return null)
ClassNotFound |
---|
Get the position in the input
Tell if this is a final variable without an initializer. Such variables are subject to definite single assignment.
Check if constant: Will it inline away to a constant?
Checks
Is this an access method for a field selection or method call of the form '...super.foo' or '...super.foo()'?
Is this a synthetic field which holds a copy of, or reference to, a local variable or enclosing instance?
Create a member which is externally the same as `field' but is defined in class `classDef'. This is used by code in sun.tools.tree.(MethodExpression,FieldExpression) as part of the fix for bug 4135692. Proxy members should not be added, ala addMember(), to classes. They are merely "stand-ins" to produce modified MethodRef constant pool entries during code generation. We keep a cache of previously created proxy members not to save time or space, but to ensure uniqueness of the proxy member for any (field,classDef) pair. If these are not made unique then we can end up generating duplicate MethodRef constant pool entries during code generation.
Tells whether to report a deprecation error for this field.
Convenience method to see if two methods return the same type
Mark this member as an access method for a field selection or method call via the 'super' keyword.