org.problets.domain.model.expression.node.operator.assignment
Class CompoundAssignment

java.lang.Object
  extended by org.problets.domain.model.DomainModel
      extended by org.problets.domain.model.expression.node.NodeModel
          extended by org.problets.domain.model.expression.node.operator.Operator
              extended by org.problets.domain.model.expression.node.operator.assignment.Assignment
                  extended by org.problets.domain.model.expression.node.operator.assignment.CompoundAssignment
All Implemented Interfaces:
java.lang.Cloneable
Direct Known Subclasses:
AddAssign, BitAndAssign, BitOrAssign, BitXorAssign, DivideAssign, LeftShiftAssign, ModulusAssign, MultiplyAssign, RightShiftAssign, SubtractAssign

public class CompoundAssignment
extends Assignment

To serve as the base class for all compound assignments

Author:
Amruth Kumar

Field Summary
static java.lang.String OPERATOR_INAPPLICABLE
           
 
Fields inherited from class org.problets.domain.model.expression.node.operator.assignment.Assignment
TOTAL_OPERATORS
 
Fields inherited from class org.problets.domain.model.expression.node.operator.Operator
INCORRECT_OPERAND_COUNT
 
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, IDENTITY, 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
 
Method Summary
 Value evaluate()
          Method to detect any errors before subclasses evaluate expressions Not to be used by client Checks if LHS variable has been properly assigned
 void explain(java.util.Vector explanation, java.util.Vector errors)
          Textually explains the evaluation of the tree - as opposed to graphical explanation by the view Tries to round up all the errors while also explaining any correct expression
 void getLocalLearningObjectives(java.util.Vector learnObjVector)
          Overrides Operator.getLocalLearningObjectives()
 java.lang.String getQualifiedLearningObject()
          Method returns the name of the operator, disambiguated enough so that it can be easily credited in the student model.
 
Methods inherited from class org.problets.domain.model.expression.node.operator.assignment.Assignment
addSideEffects, clone, getSideEffects, getStudentCopy
 
Methods inherited from class org.problets.domain.model.expression.node.operator.Operator
coerceToReal, contentEquals, contentEquals, getArity, getAssociativity, getOperatorType, getPrecedence, getSymbol, grade, locateOperator, main, recursiveContentEquals, recursiveSetValue
 
Methods inherited from class org.problets.domain.model.expression.node.NodeModel
classifyNodes, getContent, getLeftChild, getNonRecursiveContent, getOrder, getPosition, getRecursiveContent, getRightChild, getValue, insertInOrder, setLeftChild, setOrder, setPosition, setRightChild, setValue, shortCircuit, skip, subExpToString, toString, valueEquals
 
Methods inherited from class org.problets.domain.model.DomainModel
getId, getIdName, grade
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

OPERATOR_INAPPLICABLE

public static final java.lang.String OPERATOR_INAPPLICABLE
See Also:
Constant Field Values
Method Detail

getLocalLearningObjectives

public void getLocalLearningObjectives(java.util.Vector learnObjVector)
Overrides Operator.getLocalLearningObjectives()

Overrides:
getLocalLearningObjectives in class Operator

getQualifiedLearningObject

public java.lang.String getQualifiedLearningObject()
Method returns the name of the operator, disambiguated enough so that it can be easily credited in the student model.

Overrides:
getQualifiedLearningObject in class Operator

evaluate

public Value evaluate()
Method to detect any errors before subclasses evaluate expressions Not to be used by client Checks if LHS variable has been properly assigned

Overrides:
evaluate in class Assignment

explain

public void explain(java.util.Vector explanation,
                    java.util.Vector errors)
Textually explains the evaluation of the tree - as opposed to graphical explanation by the view Tries to round up all the errors while also explaining any correct expression

Overrides:
explain in class Operator