Convert the current object into a boolean or throw a TypeException if not possible
Convert the current object into a boolean or throw a TypeException if not possible
Convert the current object into a DateTime or throw a TypeException if not possible
Convert the current object into a DateTime or throw a TypeException if not possible
Convert the current object into a double or throw a TypeException if not possible
Convert the current object into a double or throw a TypeException if not possible
Convert the current object into a float or throw a TypeException if not possible
Convert the current object into a float or throw a TypeException if not possible
Convert the current object into an int or throw a TypeException if not possible
Convert the current object into an int or throw a TypeException if not possible
return the contents of the variable as just an object.
return the contents of the variable as just an object.
Convert the current object into a long or throw a TypeException if not possible
Convert the current object into a long or throw a TypeException if not possible
Convert the current object into a string or throw a TypeException if not possible.
Convert the current object into a string or throw a TypeException if not possible. Note the difference between this and toString. asString returns the content, while toString returns a representation of the primitive value itself. An overt example of this is: val temp = StringPrimitive('foo') println(temp.asString) // Returns "foo" println(temp.toString) // Returns "'foo'" Note the extra quotes. If you ever see a problem involving strings with too many nested quotes, your problem is probably with asString
Return all of the children of the current tree node
Return all of the children of the current tree node
return the contents of the variable as just an object.
return the contents of the variable as just an object.
Return a new instance of the same object, but with the children replaced with the provided list.
Return a new instance of the same object, but with the children replaced with the provided list. The list must be of the same size returned by children. This is mostly to facilitate recur, below
Perform a recursive rewrite.
Perform a recursive rewrite. The following pattern is pretty common throughout Mimir: def replaceFooWithBar(e:Expression): Expression = e match { case Foo(a, b, c, ...) => Bar(a, b, c, ...) case _ => e.recur(replaceFooWithBar(_)) } Note how specific rewrites are applied to specific patterns in the tree, and recur is used to ignore/descend through every other class of object
Return this
Return this
Boxed representation of a double-precision floating point number