com.caucho.quercus.program
Class ClassDef

java.lang.Object
  extended by com.caucho.quercus.program.ClassDef
Direct Known Subclasses:
CompiledClassDef, InterpretedClassDef, JavaClassDef

public abstract class ClassDef
extends java.lang.Object

Represents a Quercus class definition


Nested Class Summary
static class ClassDef.FieldEntry
           
 
Constructor Summary
protected ClassDef(Location location, java.lang.String name, java.lang.String parentName, java.lang.String[] ifaceList)
           
 
Method Summary
protected  void addInterface(java.lang.String iface)
           
 Value callNew(Env env, Expr[] args)
          Creates a new instance.
 Value callNew(Env env, Value[] args)
          Creates a new instance.
 java.util.Set<java.util.Map.Entry<StringValue,ClassDef.FieldEntry>> fieldSet()
           
 Expr findConstant(java.lang.String name)
          Finds the matching constant
abstract  AbstractFunction findConstructor()
          Returns the constructor
 java.util.Set<java.util.Map.Entry<java.lang.String,AbstractFunction>> functionSet()
           
 java.lang.String getExtension()
           
 java.lang.String[] getInterfaces()
          Returns the interfaces.
 Location getLocation()
          Returns the location for where the class was defined, null if it is unknown.
 java.lang.String getName()
          Returns the name.
 java.lang.String getParentName()
          Returns the parent name.
 boolean hasNonPublicMethods()
           
 void init()
           
 void initClass(QuercusClass cl)
          Initialize the quercus class.
 boolean isA(java.lang.String name)
          Returns value for instanceof.
 boolean isAbstract()
          Return true for an abstract class.
 boolean isFinal()
           
 boolean isInterface()
          Return true for an interface class.
 ObjectValue newInstance(Env env, QuercusClass qcl)
          Creates a new instance.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ClassDef

protected ClassDef(Location location,
                   java.lang.String name,
                   java.lang.String parentName,
                   java.lang.String[] ifaceList)
Method Detail

getLocation

public Location getLocation()
Returns the location for where the class was defined, null if it is unknown.


getName

public java.lang.String getName()
Returns the name.


getParentName

public java.lang.String getParentName()
Returns the parent name.


getExtension

public java.lang.String getExtension()

addInterface

protected void addInterface(java.lang.String iface)

init

public void init()

getInterfaces

public java.lang.String[] getInterfaces()
Returns the interfaces.


isAbstract

public boolean isAbstract()
Return true for an abstract class.


isInterface

public boolean isInterface()
Return true for an interface class.


isFinal

public boolean isFinal()

hasNonPublicMethods

public boolean hasNonPublicMethods()

initClass

public void initClass(QuercusClass cl)
Initialize the quercus class.


newInstance

public ObjectValue newInstance(Env env,
                               QuercusClass qcl)
Creates a new instance.


callNew

public Value callNew(Env env,
                     Expr[] args)
Creates a new instance.


callNew

public Value callNew(Env env,
                     Value[] args)
Creates a new instance.


isA

public boolean isA(java.lang.String name)
Returns value for instanceof.


findConstructor

public abstract AbstractFunction findConstructor()
Returns the constructor


findConstant

public Expr findConstant(java.lang.String name)
Finds the matching constant


toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

fieldSet

public java.util.Set<java.util.Map.Entry<StringValue,ClassDef.FieldEntry>> fieldSet()

functionSet

public java.util.Set<java.util.Map.Entry<java.lang.String,AbstractFunction>> functionSet()