Package org.codehaus.groovy.transform.stc

# Class ExtensionMethodCache

java.lang.Object
org.codehaus.groovy.transform.stc.AbstractExtensionMethodCache
org.codehaus.groovy.transform.stc.ExtensionMethodCache

public class ExtensionMethodCache extends AbstractExtensionMethodCache
This class is used to make extension methods lookup faster. Basically, it will only collect the list of extension methods (see `ExtensionModule`) if the list of extension modules has changed. It avoids recomputing the whole list each time we perform a method lookup.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final ExtensionMethodCache`
  `INSTANCE`
  Shared cache instance used by static type checking.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `addAdditionalClassesToScan(Set<Class> instanceExtClasses, Set<Class> staticExtClasses)`
  Adds the built-in extension classes used during static type checking.
  `protected String`
  `getDisablePropertyName()`
  Returns the system property that disables extension methods.
  `protected Predicate<MethodNode>`
  `getMethodFilter()`
  Returns the filter that excludes deprecated extension methods.
  `protected Function<MethodNode,String>`
  `getMethodMapper()`
  Maps extension methods to their receiver type names.

  ### Methods inherited from class org.codehaus.groovy.transform.stc.AbstractExtensionMethodCache

  `get`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### INSTANCE

    public static final ExtensionMethodCache INSTANCE
    Shared cache instance used by static type checking.

- ## Method Details

  - ### addAdditionalClassesToScan

    protected void addAdditionalClassesToScan(Set<Class> instanceExtClasses, Set<Class> staticExtClasses)
    Adds the built-in extension classes used during static type checking.
    Specified by:
      `addAdditionalClassesToScan` in class `AbstractExtensionMethodCache`

  - ### getDisablePropertyName

    protected String getDisablePropertyName()
    Returns the system property that disables extension methods.
    Specified by:
      `getDisablePropertyName` in class `AbstractExtensionMethodCache`

  - ### getMethodFilter

    protected Predicate<MethodNode> getMethodFilter()
    Returns the filter that excludes deprecated extension methods.
    Specified by:
      `getMethodFilter` in class `AbstractExtensionMethodCache`

  - ### getMethodMapper

    protected Function<MethodNode,String> getMethodMapper()
    Maps extension methods to their receiver type names.
    Specified by:
      `getMethodMapper` in class `AbstractExtensionMethodCache`