org.erights.e.elang.evm
Class EImpl

java.lang.Object
  |
  +--org.erights.e.elib.slot.Auditable
        |
        +--org.erights.e.elang.evm.EImpl
All Implemented Interfaces:
Amplifiable, Callable
Direct Known Subclasses:
EImplByProxy

public abstract class EImpl
extends Auditable
implements Callable

Untamed: What an object expression evaluates to.

Author:
Mark S. Miller, E. Dean Tribble

Field Summary
private  Object[] myFields
           
private  OuterScope myOuters
           
private  EMethodTable myScript
           
 
Fields inherited from class org.erights.e.elib.slot.Auditable
 
Constructor Summary
(package private) EImpl(Auditor[] approvers, Object[] fields, OuterScope outers, EMethodTable script)
           
 
Method Summary
 Object callAll(String verb, Object[] args)
          Suppressed:
 TypeDesc getAllegedType()
          Suppressed:
(package private)  EvalContext newContext(int localCount)
          All security rests on not making this more visible than "package"
 SealedBox optSealedDispatch(Brand brand)
          Suppressed: Invoked by the Miranda __optSealedDispatch method.
 Script optShorten(String verb, Object[] args)
          Suppressed: Returns myScript
 boolean respondsTo(String verb, int arity)
          Suppressed:
(package private)  Script script()
          XXX controversial whether this should be made public
 String toString()
          Suppressed: The miranda __printOn will call this.
 
Methods inherited from class org.erights.e.elib.slot.Auditable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

myFields

private final Object[] myFields

myOuters

private final OuterScope myOuters

myScript

private final EMethodTable myScript
Constructor Detail

EImpl

EImpl(Auditor[] approvers,
      Object[] fields,
      OuterScope outers,
      EMethodTable script)
Method Detail

optShorten

public Script optShorten(String verb,
                         Object[] args)
Suppressed: Returns myScript

Specified by:
optShorten in interface Callable

callAll

public Object callAll(String verb,
                      Object[] args)
Suppressed:

Specified by:
callAll in interface Callable

optSealedDispatch

public SealedBox optSealedDispatch(Brand brand)
Suppressed: Invoked by the Miranda __optSealedDispatch method.

Specified by:
optSealedDispatch in interface Amplifiable

getAllegedType

public TypeDesc getAllegedType()
Suppressed:

Specified by:
getAllegedType in interface Callable

respondsTo

public boolean respondsTo(String verb,
                          int arity)
Suppressed:

Specified by:
respondsTo in interface Callable

newContext

EvalContext newContext(int localCount)
All security rests on not making this more visible than "package"


script

Script script()
XXX controversial whether this should be made public


toString

public String toString()
Suppressed: The miranda __printOn will call this. Also, it may be called by normal non-E cognizant java code. This provides a default EImpl behavior, unless overridden by a __printOn method written in E.

Overrides:
toString in class Object
Returns:
a string representation of the object.


comments?