org.problets.domain.model.variable
Class VarModel

java.lang.Object
  extended by org.problets.domain.model.DomainModel
      extended by org.problets.domain.model.variable.AbstractVarModel
          extended by org.problets.domain.model.variable.VarModel
All Implemented Interfaces:
java.lang.Cloneable

public class VarModel
extends AbstractVarModel
implements java.lang.Cloneable

VarModel class maintains a scalar variable object.

Author:
Amruth Kumar

Field Summary
static java.lang.String GARBAGE_VALUE
           
static int IDENTITY
           
static java.lang.String NOT_DECLARED
          The errors of interest for variables
static java.lang.String NOT_INITIALIZED
           
static java.lang.String OUT_OF_SCOPE
           
 
Fields inherited from class org.problets.domain.model.DomainModel
BOOLEAN, BREAKPOINT, CHARACTER, DOUBLE_PRECISION_REAL, ERROR_TYPE, EVAL_STATUS, expACTION, expASSIGNMENT, expAUTO_DEALLOCATION, expCALL, expCONDITION, expDECLARATION, expDEREFERENCING, expDYNAMIC_ALLOCATION, expDYNAMIC_ALLOCATION_INITIALIZATION, expDYNAMIC_DEALLOCATION, expELSE_CLAUSE, expERROR, expEXECUTION, expIF_CLAUSE, expINITIALIZATION, expINPUT, expPARAMETER_PASSING, expPRINT, expQUESTIONABLE, expREFERENCING, expRETURN, expRUNTIME_ERROR, expSEMANTIC_ERROR, expSYNTAX_ERROR, expUPDATE, MAX_OBJECT_IDENTITY, MIN_OBJECT_IDENTITY, QUADRUPLE_PRECISION_REAL, RUNTIME_ERROR, SEMANTIC_ERROR, SIGNED_INTEGER, SIGNED_LONG, SIGNED_SHORT, SINGLE_PRECISION_REAL, SYNTAX_ERROR, UNDEFINED_TYPE, UNSIGNED_INTEGER, UNSIGNED_LONG, UNSIGNED_SHORT, WARNING
 
Constructor Summary
VarModel(int index, java.lang.String inputType)
           
VarModel(java.lang.String inName, java.lang.String inputType)
          Constructor used by Expression to create a variable of a given name when creating a static expression for printing purposes
 
Method Summary
 java.lang.Object clone()
          Returns a clone of this object, and provides the basis for cloning of derived classes
 void explainObject(StackModel stack, HeapModel heap, Behavior behavior, java.lang.String statement, int event, int lineNumber, boolean abbreviated)
          -----------------------------------------------------
 void explainProcess(RunEnv runEnv, Behavior behavior, java.lang.String statement, int event, int lineNumber)
           
 void getCode(java.util.Vector codeText, java.lang.String codeType, java.lang.String template, int lineNumber)
           
 java.lang.String[] getPossibleErrors()
          Method to return errors for variables May want to post-process based on Student Model
static void main(java.lang.String[] args)
           
 void print()
          -----------------------------------------------------
 void setDeclared()
          Primitive data types are allocated when declared
 
Methods inherited from class org.problets.domain.model.variable.AbstractVarModel
getAllocated, getAssigned, getDeclared, getMetaDataType, getName, getType, getValue, getValueDifference, resetAllocated, resetDeclared, resetFlags, setAllocated, setValue
 
Methods inherited from class org.problets.domain.model.DomainModel
getId, getIdName, grade
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

IDENTITY

public static final int IDENTITY
See Also:
Constant Field Values

NOT_DECLARED

public static final java.lang.String NOT_DECLARED
The errors of interest for variables

See Also:
Constant Field Values

OUT_OF_SCOPE

public static final java.lang.String OUT_OF_SCOPE
See Also:
Constant Field Values

NOT_INITIALIZED

public static final java.lang.String NOT_INITIALIZED
See Also:
Constant Field Values

GARBAGE_VALUE

public static final java.lang.String GARBAGE_VALUE
See Also:
Constant Field Values
Constructor Detail

VarModel

public VarModel(int index,
                java.lang.String inputType)

VarModel

public VarModel(java.lang.String inName,
                java.lang.String inputType)
Constructor used by Expression to create a variable of a given name when creating a static expression for printing purposes

Method Detail

clone

public java.lang.Object clone()
Description copied from class: DomainModel
Returns a clone of this object, and provides the basis for cloning of derived classes

Overrides:
clone in class AbstractVarModel

getCode

public void getCode(java.util.Vector codeText,
                    java.lang.String codeType,
                    java.lang.String template,
                    int lineNumber)
Specified by:
getCode in class AbstractVarModel

getPossibleErrors

public java.lang.String[] getPossibleErrors()
Method to return errors for variables May want to post-process based on Student Model

Specified by:
getPossibleErrors in class AbstractVarModel

setDeclared

public void setDeclared()
Primitive data types are allocated when declared

Overrides:
setDeclared in class AbstractVarModel

explainProcess

public void explainProcess(RunEnv runEnv,
                           Behavior behavior,
                           java.lang.String statement,
                           int event,
                           int lineNumber)
Specified by:
explainProcess in class AbstractVarModel

explainObject

public void explainObject(StackModel stack,
                          HeapModel heap,
                          Behavior behavior,
                          java.lang.String statement,
                          int event,
                          int lineNumber,
                          boolean abbreviated)
-----------------------------------------------------

Specified by:
explainObject in class AbstractVarModel
Parameters:
-

main

public static void main(java.lang.String[] args)

print

public void print()
-----------------------------------------------------

Specified by:
print in class AbstractVarModel
Parameters:
-