com.waveset.expression
Class ExFunction.f_mod

java.lang.Object
  extended bycom.waveset.expression.ExNode
      extended bycom.waveset.expression.ExFunction.f_mod
All Implemented Interfaces:
com.sun.idm.debugger.common.Locatable
Enclosing class:
ExFunction

public static class ExFunction.f_mod
extends ExNode

The function node for the <mod> expression.

The mod expression performs successive integer modulo over the values of all of the subexpressions. Subexpressions whose values are not integers, are coerced to integers. Null values coerce to zero as do string values that do not contain a valid integer literal.

Note that a divisor of zero is not considered an error condition, the value simply become zero.


Field Summary
 
Fields inherited from class com.waveset.expression.ExNode
_bindingCount, _children, _decoration, _parent, code_id, trace
 
Constructor Summary
ExFunction.f_mod()
           
 
Method Summary
protected  ExValue evalInternal(ExState state)
          Abstract evaluation method all nodes must have.
 java.lang.String getFunctionName()
          Nodes representing functions must have a name.
 
Methods inherited from class com.waveset.expression.ExNode
addChild, addChildren, addCommonAttributes, beginTrace, clearOwner, endTrace, eval, evalChild, evalChildToObject, evalChildToString, evalToBoolean, evalToInt, evalToObject, evalToString, getBindingCount, getChild, getChildren, getDecoration, getHiddenVariable, getLocation, getOwner, getParent, isLiteral, parseCommonAttributes, parseXml, postProcess, removeChild, resolveFunction, resolveVariable, setBindingCount, setChildren, setDecoration, setEnvironment, setLocation, setOwner, setOwner, setParent, toXml, toXml, toXml, toXmlAttributes, toXmlChildren
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExFunction.f_mod

public ExFunction.f_mod()
Method Detail

getFunctionName

public java.lang.String getFunctionName()
Description copied from class: ExNode
Nodes representing functions must have a name. This name is used in the formatting of default trace messages and the default XML rendering. If a node doesn't have a name for some reason, or needs more control over the trace messges and XML, they must overload beginTrace, endTrace, and toXml below.

Specified by:
getFunctionName in class ExNode

evalInternal

protected ExValue evalInternal(ExState state)
                        throws WavesetException
Description copied from class: ExNode
Abstract evaluation method all nodes must have. Implementations of evalInternal need not (and should not) perform any tracing/breakpoints. This is all handled by the calling method eval.

Specified by:
evalInternal in class ExNode
Throws:
WavesetException