polyglot.ext.param.types
Class PClass_c

java.lang.Object
  extended by polyglot.ext.jl.types.TypeObject_c
      extended by polyglot.ext.param.types.PClass_c
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, PClass, Importable, Named, TypeObject, Copy
Direct Known Subclasses:
MuPClass_c

public abstract class PClass_c
extends TypeObject_c
implements PClass

A base implementation for parametric classes. This class is a wrapper around a ClassType that associates formal parameters with the class. formals can be any type object.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class polyglot.ext.jl.types.TypeObject_c
position, ts
 
Constructor Summary
protected PClass_c()
           
  PClass_c(TypeSystem ts)
           
  PClass_c(TypeSystem ts, Position pos)
           
 
Method Summary
 java.lang.String fullName()
          Full dotted-name of the type object.
 ClassType instantiate(Position pos, java.util.List actuals)
          Instantiate this.
 boolean isCanonical()
          Return true if the type object contains no unknown/ambiguous types.
 java.lang.String name()
          Simple name of the type object.
 Package package_()
           
 
Methods inherited from class polyglot.ext.jl.types.TypeObject_c
copy, equals, equalsImpl, hashCode, position, typeSystem
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface polyglot.ext.param.types.PClass
clazz, formals
 
Methods inherited from interface polyglot.types.TypeObject
equalsImpl, position, typeSystem
 
Methods inherited from interface polyglot.util.Copy
copy
 

Constructor Detail

PClass_c

protected PClass_c()

PClass_c

public PClass_c(TypeSystem ts)

PClass_c

public PClass_c(TypeSystem ts,
                Position pos)
Method Detail

instantiate

public ClassType instantiate(Position pos,
                             java.util.List actuals)
                      throws SemanticException
Description copied from interface: PClass
Instantiate this.

Specified by:
instantiate in interface PClass
Parameters:
pos - The position of the instantiation
actuals - The actual type parameters for the instantiation
Throws:
SemanticException

isCanonical

public boolean isCanonical()
Description copied from interface: TypeObject
Return true if the type object contains no unknown/ambiguous types.

Specified by:
isCanonical in interface TypeObject

name

public java.lang.String name()
Description copied from interface: Named
Simple name of the type object. Anonymous classes do not have names.

Specified by:
name in interface Named

fullName

public java.lang.String fullName()
Description copied from interface: Named
Full dotted-name of the type object. For a package, top level class, top level interface, or primitive type, this is the fully qualified name. For a member class or interface that is directly enclosed in a class or interface with a fully qualified name, then this is the fully qualified name of the member class or interface. For local and anonymous classes, this method returns a string that is not the fully qualified name (as these classes do not have fully qualified names), but that may be suitable for debugging or error messages.

Specified by:
fullName in interface Named

package_

public Package package_()
Specified by:
package_ in interface Importable