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

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
                      extended by org.problets.domain.model.expression.node.operator.assignment.RightShiftAssign
All Implemented Interfaces:
java.lang.Cloneable

public class RightShiftAssign
extends CompoundAssignment

To represent C++ >>= compound assignment operator

Author:
Amruth Kumar

Field Summary
static java.lang.String SYMBOL
           
 
Fields inherited from class org.problets.domain.model.expression.node.operator.assignment.CompoundAssignment
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
 
Constructor Summary
RightShiftAssign()
           
 
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
 
Methods inherited from class org.problets.domain.model.expression.node.operator.assignment.CompoundAssignment
explain, getLocalLearningObjectives, getQualifiedLearningObject
 
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

SYMBOL

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

RightShiftAssign

public RightShiftAssign()
Method Detail

evaluate

public Value evaluate()
Description copied from class: CompoundAssignment
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 CompoundAssignment