|
Eidola home | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.eidola.kernel.Container.Compilation
Generates and holds potentially computationally expensive derived
structures, and checks the lazy rules of the semantics.
To access this derived information, call Container.getCompilation()
.
See Compiler
for information about the compile process.
This class is not synchronized, but is concurrent read safe.
Field Summary | |
protected Set |
contents
|
Constructor Summary | |
Container.Compilation()
Creates an empty compilation. |
Method Summary | |
protected void |
addError(LazySemanticViolation error)
Adds an error to the ones which cropped up during this compilation. |
protected abstract void |
calculateDerived()
Calculates any potentially computation-intensive derived structures. |
protected void |
checkLazy()
Checks the structure of this container against the lazy rules of the semantics. |
long |
getCompileVersion()
Returns the compile version of the container which this compilation corresponds to. |
Set |
getContents()
Returns the contents of this container. |
List |
getErrors()
Returns the LazySemanticViolations from this compilation, or an empty list if the compilation was sucessful. |
boolean |
hasErrors()
Determines whether this compilation was successful. |
boolean |
isCurrent()
Determines whether this compilation reflects the most recent version of its associated container. |
void |
run()
Performs the compilation. |
String |
toString()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
protected Set contents
Constructor Detail |
public Container.Compilation()
Method Detail |
public long getCompileVersion()
public boolean isCurrent()
public boolean hasErrors()
public List getErrors()
public Set getContents()
public String toString()
toString
in class Object
public void run()
calculateDerived()
and
checkLazy()
, in that order. Subclasses can add additional steps.protected void addError(LazySemanticViolation error)
protected abstract void calculateDerived()
protected void checkLazy()
For all containers, this method checks that named contents have unique names. Subclasses should override this to do additional checks.
|
Eidola home | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |