void
|
addDependency(ClassDeclaration c)
Add a dependency
|
void
|
addLocalClass(ClassDefinition c, String name)
|
void
|
addMember(Environment env, MemberDefinition field)
Add a field (subclasses make checks)
|
void
|
addMember(MemberDefinition field)
Add a field (no checks)
|
void
|
addMirandaMethods(Environment env, Iterator mirandas)
Add a list of methods to this class as miranda methods.
|
final
void
|
addModifiers(int mod)
|
UplevelReference
|
addReference(LocalMember target)
|
void
|
basicCheck(Environment env)
|
boolean
|
canAccess(Environment env, ClassDeclaration c)
Check if another class can be accessed from within the body of this class.
|
boolean
|
canAccess(Environment env, MemberDefinition f)
Check if a field can be accessed from a class
|
void
|
check(Environment env)
Check this class.
|
Vset
|
checkLocalClass(Environment env, Context ctx, Vset vset, ClassDefinition sup, Expression[] args, Type[] argTypes)
|
void
|
cleanup(Environment env)
After the class has been written to disk, try to free up
some storage.
|
void
|
collectInheritedMethods(Environment env)
Collect all methods defined in this class or inherited from
any of our superclasses or interfaces.
|
static
boolean
|
containsDeprecated(String documentation)
Return true if the given documentation string contains a deprecation
paragraph.
|
boolean
|
couldImplement(ClassDefinition intDef)
Check to see if a class which implements interface `this' could
possibly implement the interface `intDef'.
|
int
|
diagnoseMismatch(Environment env, Identifier nm, Type[] argTypes, int start, Type[] margTypeResult)
Given the fact that this class has no method "nm" matching "argTypes",
find out if the mismatch can be blamed on a particular actual argument
which disagrees with all of the overloadings.
|
boolean
|
enclosingClassOf(ClassDefinition otherClass)
Check if this is an enclosing class of another class
|
boolean
|
extendsCanAccess(Environment env, ClassDeclaration c)
Check if another class can be accessed from the 'extends' or 'implements'
clause of this class.
|
MemberDefinition
|
findAnyMethod(Environment env, Identifier nm)
Find any method with a given name.
|
MemberDefinition
|
findMethod(Environment env, Identifier nm, Type t)
Find a method, ie: exact match in this class or any of the super
classes.
|
final
MemberDefinition
|
findOuterMember()
If inner, return an innermost uplevel self pointer, if any exists.
|
MemberDefinition
|
getAccessMember(Environment env, Context ctx, MemberDefinition field, boolean isSuper)
Find or create an access method for a private member,
or return null if this is not possible.
|
Context
|
getClassContext()
|
final
ClassDeclaration
|
getClassDeclaration()
Get the class declaration
|
MemberDefinition
|
getClassLiteralLookup(long fwhere)
Get helper method for class literal lookup.
|
String
|
getDocumentation()
Get the class' documentation
|
final
boolean
|
getError()
Check if there were any errors in this class.
|
final
MemberDefinition
|
getFirstMatch(Identifier name)
|
final
MemberDefinition
|
getFirstMember()
Get the class' first field or first match
|
MemberDefinition
|
getInnerClass(Environment env, Identifier nm)
Get an inner class.
|
final
MemberDefinition
|
getInnerClassMember()
If inner, get the field for this class in the enclosing class
|
final
ClassDeclaration[]
|
getInterfaces()
Get the class' interfaces
|
ClassDefinition
|
getLocalClass(String name)
Maintain a hash table of local and anonymous classes
whose internal names are prefixed by the current class.
|
Identifier
|
getLocalName()
Return a simple identifier for this class (idNull if anonymous).
|
Iterator
|
getMethods(Environment env)
Get an Iterator of all methods which could be accessed in an
instance of this class.
|
Iterator
|
getMethods()
Get an Iterator of all methods which could be accessed in an
instance of this class.
|
final
int
|
getModifiers()
Get the class' modifiers
|
final
Identifier
|
getName()
Get the class' name
|
final
boolean
|
getNestError()
Check if there were any errors in our class nest.
|
final
ClassDefinition
|
getOuterClass()
Get the class' enclosing class (or null if not inner)
|
Iterator
|
getPermanentlyAbstractMethods()
This method returns an Iterator of all abstract methods
in our superclasses which we are unable to implement.
|
UplevelReference
|
getReference(LocalMember target)
Find or create an uplevel reference for the given target.
|
UplevelReference
|
getReferences()
Return the list of all uplevel references.
|
UplevelReference
|
getReferencesFrozen()
Return the same value as getReferences.
|
final
Object
|
getSource()
Get the source of the class
|
final
ClassDeclaration
|
getSuperClass()
Get the class' super class
|
ClassDeclaration
|
getSuperClass(Environment env)
Get the super class, and resolve names now if necessary.
|
final
ClassDefinition
|
getTopClass()
Get the class' top-level enclosing class
|
final
Type
|
getType()
Get the class' type
|
MemberDefinition
|
getUpdateMember(Environment env, Context ctx, MemberDefinition field, boolean isSuper)
Find or create an update method for a private member,
or return null if this is not possible.
|
MemberDefinition
|
getVariable(Environment env, Identifier nm, ClassDefinition source)
Get a field from this class.
|
final
long
|
getWhere()
Get the position in the input
|
final
boolean
|
hasConstructor()
|
boolean
|
implementedBy(Environment env, ClassDeclaration c)
Check if this class is implemented by another class
|
final
boolean
|
inSamePackage(Identifier packageName)
|
final
boolean
|
inSamePackage(ClassDefinition c)
|
final
boolean
|
inSamePackage(ClassDeclaration c)
|
void
|
inlineLocalClass(Environment env)
|
boolean
|
innerClassExists(Identifier nm)
While resolving import directives, the question has arisen:
does a given inner class exist? If the top-level class exists,
we ask it about an inner class via this method.
|
final
boolean
|
isAbstract()
|
final
boolean
|
isAnonymous()
|
final
boolean
|
isClass()
|
final
boolean
|
isDeprecated()
|
final
boolean
|
isFinal()
|
final
boolean
|
isInnerClass()
Tell if the class is inner.
|
final
boolean
|
isInsideLocal()
Tell if the class is local or inside a local class,
which means it cannot be mentioned outside of its file.
|
final
boolean
|
isInsideLocalOrAnonymous()
Tell if the class is local or or anonymous class, or inside
such a class, which means it cannot be mentioned outside of
its file.
|
final
boolean
|
isInterface()
Checks
|
final
boolean
|
isLocal()
|
final
boolean
|
isMember()
Tell if the class is a member of another class.
|
final
boolean
|
isPackagePrivate()
|
final
boolean
|
isPrivate()
|
final
boolean
|
isProtected()
|
final
boolean
|
isPublic()
|
final
boolean
|
isStatic()
See if this is a (nested) static class.
|
final
boolean
|
isSynthetic()
|
final
boolean
|
isTopLevel()
Tell if the class is "top-level", which is either a package member,
or a static member of another top-level class.
|
MemberDefinition
|
matchAnonConstructor(Environment env, Identifier accessPackage, Type[] argumentTypes)
A version of matchMethod to be used only for constructors
when we cannot pass in a sourceClass argument.
|
MemberDefinition
|
matchMethod(Environment env, ClassDefinition accessor, Identifier methodName, Type[] argumentTypes)
Lookup a method.
|
MemberDefinition
|
matchMethod(Environment env, ClassDefinition accessor, Identifier methodName)
Lookup a method.
|
final
boolean
|
mustBeAbstract(Environment env)
Check to see if a class must be abstract.
|
void
|
noteUsedBy(ClassDefinition ref, long where, Environment env)
Note that this class is being used somehow by ref.
|
boolean
|
permitInlinedAccess(Environment env, MemberDefinition f)
Check if a class is entitled to inline access to a method from
another class.
|
boolean
|
permitInlinedAccess(Environment env, ClassDeclaration c)
Check if a class is entitled to inline access to a class from
another class.
|
void
|
print(PrintStream out)
Print for debugging
|
boolean
|
protectedAccess(Environment env, MemberDefinition f, Type accessorType)
We know the the field is marked protected (and not public) and that
the field is visible (as per canAccess).
|
final
void
|
referencesMustNotBeFrozen()
assertion check
|
boolean
|
reportDeprecated(Environment env)
Tells whether to report a deprecation error for this class.
|
Identifier
|
resolveInnerClass(Environment env, Identifier nm)
Interpret a qualified class name, which may have further subcomponents..
|
Identifier
|
resolveName(Environment env, Identifier name)
Look up an inner class name, from somewhere inside this class.
|
void
|
resolveTypeStructure(Environment env)
We create a stub for this.
|
final
void
|
setError()
Mark this class to be erroneous.
|
void
|
setLocalName(Identifier name)
Set the local name of a class.
|
final
void
|
setNestError()
Mark this class, and all siblings in its class nest, to be
erroneous.
|
final
void
|
setOuterClass(ClassDefinition outerClass)
Set the class' enclosing class.
|
final
void
|
setOuterMember(MemberDefinition outerMember)
Set the class' enclosing current instance pointer.
|
boolean
|
subClassOf(Environment env, ClassDeclaration otherClass)
Check if this is a sub class of another class
|
final
void
|
subModifiers(int mod)
|
boolean
|
superClassOf(Environment env, ClassDeclaration otherClass)
Check if this is a super class of another class
|
String
|
toString()
Convert to String
|
static
void
|
turnOffInheritanceChecks()
This is a workaround to allow javadoc to turn off certain
inheritance/override checks which interfere with javadoc
badly.
|