Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

bossa.syntax
Class InlinedMethod  view InlinedMethod download InlinedMethod.java

java.lang.Object
  extended bybossa.syntax.Node
      extended bybossa.syntax.Definition
          extended bybossa.syntax.MethodDeclaration
              extended bybossa.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 $

Nested Class Summary
 
Nested classes inherited from class bossa.syntax.MethodDeclaration
MethodDeclaration.Symbol
 
Field Summary
private  LocatedString inlineProcedure
           
(package private) static java.lang.ClassLoader loader
           
private  java.lang.String parameter
           
private  gnu.mapping.Procedure procedure
           
private static java.lang.Class[] string1
           
 
Fields inherited from class bossa.syntax.MethodDeclaration
arity, parameters
 
Fields inherited from class bossa.syntax.Definition
currentModule, docString, module, name
 
Fields inherited from class bossa.syntax.Node
children, currentFunction, down, global, none, propagate, scope, thisExp, typeScope, upper
 
Constructor Summary
InlinedMethod(LocatedString name, Constraint constraint, Monotype returnType, FormalParameters parameters, LocatedString inlineProcedure, java.lang.String parameter)
           
 
Method Summary
(package private)  void checkSpecialRequirements(Expression[] arguments)
           
protected  gnu.expr.Expression computeCode()
           
private  java.lang.Class findClass(java.lang.String name)
           
(package private)  gnu.expr.Expression getCode()
           
private  gnu.mapping.Procedure getProcedure()
           
 void printInterface(java.io.PrintWriter s)
          Write the exported interface of the definition to the stream.
(package private)  void typecheck()
          override this when typechecking is needed.
 
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.Definition
associatedDefinitions, compilation, getName, inInterfaceFile, location, printInterface, resolveBody
 
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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

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
Constructor Detail

InlinedMethod

public InlinedMethod(LocatedString name,
                     Constraint constraint,
                     Monotype returnType,
                     FormalParameters parameters,
                     LocatedString inlineProcedure,
                     java.lang.String parameter)
Method Detail

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