polyglot.ext.param.types
Class MuPClass_c

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

public class MuPClass_c
extends PClass_c
implements MuPClass

A base implementation for mutable parametric classes.

See Also:
Serialized Form

Field Summary
protected  ClassType clazz
           
protected  java.util.List formals
           
 
Fields inherited from class polyglot.ext.jl.types.TypeObject_c
position, ts
 
Constructor Summary
protected MuPClass_c()
           
  MuPClass_c(TypeSystem ts)
           
  MuPClass_c(TypeSystem ts, Position pos)
           
 
Method Summary
 void addFormal(Param param)
          Destructively add a formal to the end of the formals list.
 ClassType clazz()
          The class associated with this.
 void clazz(ClassType clazz)
          Destructively update the clazz.
 java.util.List formals()
          The formal type parameters associated with this.
 void formals(java.util.List formals)
          Destructively update the formals.
 
Methods inherited from class polyglot.ext.param.types.PClass_c
fullName, instantiate, isCanonical, name, 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
instantiate
 
Methods inherited from interface polyglot.types.Importable
package_
 
Methods inherited from interface polyglot.types.Named
fullName, name
 
Methods inherited from interface polyglot.types.TypeObject
equalsImpl, isCanonical, position, typeSystem
 
Methods inherited from interface polyglot.util.Copy
copy
 

Field Detail

formals

protected java.util.List formals

clazz

protected ClassType clazz
Constructor Detail

MuPClass_c

protected MuPClass_c()

MuPClass_c

public MuPClass_c(TypeSystem ts)

MuPClass_c

public MuPClass_c(TypeSystem ts,
                  Position pos)
Method Detail

formals

public java.util.List formals()
Description copied from interface: PClass
The formal type parameters associated with this. A list of TypeObject.

Specified by:
formals in interface PClass

clazz

public ClassType clazz()
Description copied from interface: PClass
The class associated with this. Note that this should never be used as a first-class type.

Specified by:
clazz in interface PClass

formals

public void formals(java.util.List formals)
Description copied from interface: MuPClass
Destructively update the formals.

Specified by:
formals in interface MuPClass
Parameters:
formals - The new formals

addFormal

public void addFormal(Param param)
Description copied from interface: MuPClass
Destructively add a formal to the end of the formals list.

Specified by:
addFormal in interface MuPClass
Parameters:
param - The new formal

clazz

public void clazz(ClassType clazz)
Description copied from interface: MuPClass
Destructively update the clazz.

Specified by:
clazz in interface MuPClass
Parameters:
clazz - The new clazz