org.problets.domain.model.expression.node.operator.bitwise
Class RightShift

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

public class RightShift
extends Bitwise

To represent bitwise right shift operator

Author:
Amruth Kumar

Field Summary
static java.lang.String SYMBOL
           
 
Fields inherited from class org.problets.domain.model.expression.node.operator.bitwise.Bitwise
OPERATOR_INAPPLICABLE, TOTAL_OPERATORS, WORD_SIZE
 
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
RightShift()
           
 
Method Summary
 Value evaluate()
          Evaluates a binary bitwise operator
 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
 void getLocalLearningObjectives(java.util.Vector learnObjVector)
          Overrides Operator.getLocalLearningObjectives().
 
Methods inherited from class org.problets.domain.model.expression.node.operator.bitwise.Bitwise
getQualifiedLearningObject, isBitwise
 
Methods inherited from class org.problets.domain.model.expression.node.operator.Operator
clone, coerceToReal, contentEquals, contentEquals, getArity, getAssociativity, getOperatorType, getPrecedence, getStudentCopy, 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, getSideEffects, 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

RightShift

public RightShift()
Method Detail

getLocalLearningObjectives

public void getLocalLearningObjectives(java.util.Vector learnObjVector)
Description copied from class: Bitwise
Overrides Operator.getLocalLearningObjectives(). The answer being correct is a learning objective applicable to all bitwise operators. Not using integer operands is an error that applies to all bitwise operators. This is used by &, |, ^, <<, >>, ~. But, ~ uses its own function and does not call this version.

Overrides:
getLocalLearningObjectives in class Bitwise

evaluate

public Value evaluate()
Description copied from class: Bitwise
Evaluates a binary bitwise operator

Overrides:
evaluate in class Bitwise

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

Overrides:
explain in class Bitwise