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.
| Fields inherited from class | Fields |
|---|---|
class CallSiteWriter |
CONSTRUCTOR |
| Constructor and description |
|---|
StaticTypesCallSiteWriter(StaticTypesWriterController controller)Creates a call-site writer for statically compiled property and operator access. |
| Type Params | Return Type | Name and description |
|---|---|---|
|
public void |
fallbackAttributeOrPropertySite(PropertyExpression expression, Expression objectExpression, String name, MethodCallerMultiAdapter adapter)* Generates a fallback call for attribute or property access. * *
|
|
public void |
generateCallSiteArray()* Generates the call site array field and accessor methods. |
|
public void |
makeCallSite(Expression receiver, String message, Expression arguments, boolean safe, boolean implicitThis, boolean callCurrent, boolean callStatic)* Generates a general method call through the call site infrastructure. * *
|
|
public void |
makeCallSiteArrayInitializer()* Generates bytecode to initialize the call site array field to null. |
|
public void |
makeGetPropertySite(Expression receiver, String propertyName, boolean safe, boolean implicitThis)* Generates a general getProperty call. * *
|
|
public void |
makeGroovyObjectGetPropertySite(Expression receiver, String propertyName, boolean safe, boolean implicitThis)* Generates a GroovyObject getProperty call. * *
|
|
public void |
makeSingleArgumentCall(Expression receiver, String message, Expression argument, boolean safe)* Generates a single-argument method call with optional safe navigation. * *
|
|
public void |
makeSiteEntry()* Generates bytecode to load the call site array into a local variable. |
|
public void |
prepareCallSite(String message)* Prepares a call-site entry for the named method on the bytecode operand stack, * loading the call-site array and selecting the slot for message.
*
*
|
| Methods inherited from class | Name |
|---|---|
class CallSiteWriter |
fallbackAttributeOrPropertySite, generateCallSiteArray, getCallSites, hasCallSiteUse, makeCallSite, makeCallSiteArrayInitializer, makeGetPropertySite, makeGroovyObjectGetPropertySite, makeSingleArgumentCall, makeSingleArgumentCall, makeSiteEntry, prepareCallSite, prepareSiteAndReceiver, visitBoxedArgument |
Creates a call-site writer for statically compiled property and operator access.
* Generates a fallback call for attribute or property access. * *
expression - the property expression
*objectExpression - the object expression
*name - the property name
*adapter - the method caller adapter* Generates the call site array field and accessor methods.
* Generates a general method call through the call site infrastructure. * *
receiver - the receiver expression
*message - the method name
*arguments - the arguments expression
*safe - whether to use safe navigation
*implicitThis - whether the receiver is implicit 'this'
*callCurrent - whether to call on the current object
*callStatic - whether this is a static method call* Generates bytecode to initialize the call site array field to null.
* Generates a general getProperty call. * *
receiver - the receiver expression
*methodName - the property name
*safe - whether to use safe navigation
*implicitThis - whether the receiver is implicit 'this'* Generates a GroovyObject getProperty call. * *
receiver - the receiver expression
*methodName - the property name
*safe - whether to use safe navigation
*implicitThis - whether the receiver is implicit 'this'* Generates a single-argument method call with optional safe navigation. * *
receiver - the receiver expression
*message - the method name
*arguments - the argument expression
*safe - whether to use safe navigation* Generates bytecode to load the call site array into a local variable.
* Prepares a call-site entry for the named method on the bytecode operand stack,
* loading the call-site array and selecting the slot for message.
*
*
message - the method name for which to prepare the call siteCopyright © 2003-2026 The Apache Software Foundation. All rights reserved.