org.millscript.millscript.expr
Class MethodOverrideExpr

java.lang.Object
  extended by org.millscript.millscript.expr.Expr<MethodOverrideAction>
      extended by org.millscript.millscript.expr.MethodOverrideExpr
All Implemented Interfaces:
OneResult

public final class MethodOverrideExpr
extends Expr<MethodOverrideAction>
implements OneResult

This class implements a method override expression. This is used to introduce an override to a pre-existing method.

See Also:
DefineSyntax, MethodOverrideSyntax, MethodOverrideAction

Constructor Summary
MethodOverrideExpr(NameExpr mn, NameExpr cn, LambdaExpr e)
          Creates a new method override expression, to override the specified method with the new body for the specified type signature.
 
Method Summary
 MethodOverrideAction compileIt()
          Compiles this expression into an action.
 void resolve(CompilerState state)
          Resolves any NameExpr in the tree so that they refer to the correct ident.
 
Methods inherited from class org.millscript.millscript.expr.Expr
arity, compile, isIntegerExpr, resolveList, setLineNumber, setOrigin, show, show
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MethodOverrideExpr

public MethodOverrideExpr(NameExpr mn,
                          NameExpr cn,
                          LambdaExpr e)
Creates a new method override expression, to override the specified method with the new body for the specified type signature.

Parameters:
mn - the name expression for the method we are overriding
cn - the name expression for the Spice class to dispatch on
e - the lamba expression for the override method body
Method Detail

compileIt

public MethodOverrideAction compileIt()
Description copied from class: Expr
Compiles this expression into an action.

Specified by:
compileIt in class Expr<MethodOverrideAction>
Returns:
the Action for this expression
See Also:
Expr.compileIt()

resolve

public void resolve(CompilerState state)
Description copied from class: Expr
Resolves any NameExpr in the tree so that they refer to the correct ident. e.g. This method is responsible for ensuring that references to a function argument in the body of a function actually refer to the correct value.

Specified by:
resolve in class Expr<MethodOverrideAction>
Parameters:
state - the compiler state we are resolving in
See Also:
Expr.resolve(org.millscript.millscript.vm.CompilerState)


Copyright © 2001-2007 Open World Ltd. All Rights Reserved.