StaticTypesCallSiteWriter (groovy 2.4.14 API)
Date: 2018-02-24

Package: org.codehaus.groovy.classgen.asm.sc

## [Java] Class StaticTypesCallSiteWriter

- org.codehaus.groovy.classgen.asm.sc.StaticTypesCallSiteWriter

- All Implemented Interfaces and Traits:
    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

- - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `class CallSiteWriter` | `CONSTRUCTOR`

  - ### Constructor Summary

    Constructors
    Constructor and description
    `StaticTypesCallSiteWriter (StaticTypesWriterController controller)`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `void` | `fallbackAttributeOrPropertySite(PropertyExpression expression, Expression objectExpression, String name, MethodCallerMultiAdapter adapter)`
    `` | `void` | `generateCallSiteArray()`
    `` | `void` | `makeCallSite(Expression receiver, String message, Expression arguments, boolean safe, boolean implicitThis, boolean callCurrent, boolean callStatic)`
    `` | `void` | `makeCallSiteArrayInitializer()`
    `` | `void` | `makeGetPropertySite(Expression receiver, String methodName, boolean safe, boolean implicitThis)`
    `` | `void` | `makeGroovyObjectGetPropertySite(Expression receiver, String methodName, boolean safe, boolean implicitThis)`
    `` | `void` | `makeSingleArgumentCall(Expression receiver, String message, Expression arguments)`
    `` | `void` | `makeSiteEntry()`
    `` | `void` | `prepareCallSite(String message)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class CallSiteWriter` | `fallbackAttributeOrPropertySite, generateCallSiteArray, getCallSites, hasCallSiteUse, makeCallSite, makeCallSiteArrayInitializer, makeGetPropertySite, makeGroovyObjectGetPropertySite, makeSingleArgumentCall, makeSiteEntry, prepareCallSite, prepareSiteAndReceiver, visitBoxedArgument`
    `class Object` | `wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll`

- - ### Constructor Detail

    - #### public StaticTypesCallSiteWriter(StaticTypesWriterController controller)

  - ### Method Detail

    - #### @Override public void fallbackAttributeOrPropertySite(PropertyExpression expression, Expression objectExpression, String name, MethodCallerMultiAdapter adapter)

    - #### @Override public void generateCallSiteArray()

    - #### @Override public void makeCallSite(Expression receiver, String message, Expression arguments, boolean safe, boolean implicitThis, boolean callCurrent, boolean callStatic)

    - #### @Override public void makeCallSiteArrayInitializer()

    - #### @Override public void makeGetPropertySite(Expression receiver, String methodName, boolean safe, boolean implicitThis)

    - #### @Override public void makeGroovyObjectGetPropertySite(Expression receiver, String methodName, boolean safe, boolean implicitThis)

    - #### @Override public void makeSingleArgumentCall(Expression receiver, String message, Expression arguments)

    - #### @Override public void makeSiteEntry()

    - #### @Override public void prepareCallSite(String message)