java.lang.Object
bossa.syntax.Node
bossa.syntax.Definition
bossa.syntax.MethodDeclaration
bossa.syntax.InlinedMethod
- All Implemented Interfaces:
- bossa.util.Located
- public class InlinedMethod
- extends MethodDeclaration
A method that is compiled by inlining code.
The inlining class can be defined by the user.
It keeps the core compiler small, while having very good efficiency.
It has to be a subclass of gnu.mapping.Procedure,
and should implement interface gnu.expr.Inlineable
to be actually inlined.
- Version:
- $Date: 2003/11/28 17:40:45 $
| Methods inherited from class bossa.syntax.MethodDeclaration |
compile, explainWhyMatchFails, formalParameters, getArgTypes, getArity, getCodeInCallPosition, getFullName, getReturnType, getSymbol, getType, innerTypecheck, isFieldAccess, isIgnored, javaArgTypes, javaReturnType, toString, typecheckCompiled, typedResolve |
| Methods inherited from class bossa.syntax.Node |
addChild, addChildren, addFirstChild, addSymbol, addTypeMap, addTypeSymbol, addTypeSymbols, buildScope, buildScope, child, doResolve, doTypecheck, getCurrentFunction, getGlobalScope, getGlobalTypeScope, getScope, getTypeScope, removeChild, resolve, setCurrentFunction, setModule |
loader
static java.lang.ClassLoader loader
string1
private static java.lang.Class[] string1
inlineProcedure
private LocatedString inlineProcedure
parameter
private java.lang.String parameter
procedure
private gnu.mapping.Procedure procedure
InlinedMethod
public InlinedMethod(LocatedString name,
Constraint constraint,
Monotype returnType,
FormalParameters parameters,
LocatedString inlineProcedure,
java.lang.String parameter)
typecheck
void typecheck()
- Description copied from class:
Node
- override this when typechecking is needed.
- Overrides:
typecheck in class MethodDeclaration
getProcedure
private gnu.mapping.Procedure getProcedure()
findClass
private java.lang.Class findClass(java.lang.String name)
throws java.lang.ClassNotFoundException
computeCode
protected gnu.expr.Expression computeCode()
- Specified by:
computeCode in class MethodDeclaration
getCode
gnu.expr.Expression getCode()
- Overrides:
getCode in class MethodDeclaration
checkSpecialRequirements
void checkSpecialRequirements(Expression[] arguments)
- Overrides:
checkSpecialRequirements in class MethodDeclaration
printInterface
public void printInterface(java.io.PrintWriter s)
- Description copied from class:
Definition
- Write the exported interface of the definition
to the stream.
- Specified by:
printInterface in class MethodDeclaration