Add a package to the list of packages available on demand
("On demand" refers to imports that use an "*" to mean "any class
that resides in the package."
Definition of a Java class OR interface
These are merged together because there are places where we just don't
know if something is an interface or class (because we are not looking
at the classes/interfaces that are imported.)
The type of object this represents
We may not initially know, as a statement like
import java.awt.Color
_could_ be referring to a class _or_ interface.
Is this scope one of the following:
Base scope
the scope that contains primitive types
Default package
where Java classes reside that are not explicitly in another scope.
Java 1.2 Recognizer
Run 'java Main '
Contributing authors:
John Mitchell johnm@non.net
Terence Parr parrt@magelang.com
John Lilley jlilley@empathy.com
Scott Stanchfield thetick@magelang.com
Markus Mohnen mohnen@informatik.rwth-aachen.de
Peter Williams pwilliams@netdynamics.com
Version 1.00 December 9, 1997 -- initial release
Version 1.01 December 10, 1997
fixed bug in octal def (0..7 not 0..8)
Version 1.10 August 1998 (parrt)
added tree construction
fixed definition of WS,comments for mac,pc,unix newlines
added unary plus
Version 1.11 (Nov 20, 1998)
Added "shutup" option to turn off last ambig warning.
Lookup a non-method in the symbol table
This version of lookup is a convenience wrapper that just passes -1
as the parameter count to the real lookup routine
Lookup a method in the scope
This is usually just a hashtable lookup, but if the element returned
is a MultiDef, we need to ask it to find the best match
Because methods can be overloaded and member data can have the same name
as a method, we provide this dummy definition to hold a list of all
definitions in a scope with the same name.