Groovy Documentation

org.codehaus.groovy.classgen.asm.sc
[Java] Class StaticTypesCallSiteWriter

java.lang.Object
  org.codehaus.groovy.classgen.asm.CallSiteWriter
      org.codehaus.groovy.classgen.asm.sc.StaticTypesCallSiteWriter
All Implemented Interfaces:
org.objectweb.asm.Opcodes

public class StaticTypesCallSiteWriter
extends CallSiteWriter

A call site writer which replaces call site caching with static calls. This means that the generated code looks more like Java code than dynamic Groovy code. Best effort is made to use JVM instructions instead of calls to helper methods.

Authors:
Cedric Champeau


Field Summary
 
Fields inherited from class CallSiteWriter
CONSTRUCTOR
 
Constructor Summary
StaticTypesCallSiteWriter(StaticTypesWriterController controller)

 
Method Summary
void makeCallSite(Expression receiver, java.lang.String message, Expression arguments, boolean safe, boolean implicitThis, boolean callCurrent, boolean callStatic)

void makeCallSiteArrayInitializer()

void makeGetPropertySite(Expression receiver, java.lang.String methodName, boolean safe, boolean implicitThis)

void makeGroovyObjectGetPropertySite(Expression receiver, java.lang.String methodName, boolean safe, boolean implicitThis)

void makeSingleArgumentCall(Expression receiver, java.lang.String message, Expression arguments)

void makeSiteEntry()

void prepareCallSite(java.lang.String message)

 
Methods inherited from class CallSiteWriter
generateCallSiteArray, getCallSites, makeCallSite, makeCallSiteArrayInitializer, makeGetPropertySite, makeGroovyObjectGetPropertySite, makeSingleArgumentCall, makeSiteEntry, prepareCallSite, prepareSiteAndReceiver, visitBoxedArgument
 
Methods inherited from class java.lang.Object
java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
 

Constructor Detail

StaticTypesCallSiteWriter

public StaticTypesCallSiteWriter(StaticTypesWriterController controller)


 
Method Detail

makeCallSite

@Override
public void makeCallSite(Expression receiver, java.lang.String message, Expression arguments, boolean safe, boolean implicitThis, boolean callCurrent, boolean callStatic)


makeCallSiteArrayInitializer

// and that one references the other, the getters for properties have not been
public void makeCallSiteArrayInitializer()


makeGetPropertySite

@Override
public void makeGetPropertySite(Expression receiver, java.lang.String methodName, boolean safe, boolean implicitThis)


makeGroovyObjectGetPropertySite

}
public void makeGroovyObjectGetPropertySite(Expression receiver, java.lang.String methodName, boolean safe, boolean implicitThis)


makeSingleArgumentCall

ClassNode current = rType;
public void makeSingleArgumentCall(Expression receiver, java.lang.String message, Expression arguments)


makeSiteEntry

writeStringPlusCall(receiver, message, arguments);
public void makeSiteEntry()


prepareCallSite

return;
public void prepareCallSite(java.lang.String message)


 

Groovy Documentation