Package: org.codehaus.groovy.runtime.metaclass

## [Java] Class MetaMethodIndex

- org.codehaus.groovy.runtime.metaclass.MetaMethodIndex

-     public class MetaMethodIndex
      extends Object

- - ### Nested Class Summary

    Nested classes
    Modifiers | Name | Description
    --- | --- | ---
    `static class` | `MetaMethodIndex.Cache` |
    `static class` | `MetaMethodIndex.MetaMethodCache` |

  - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `Map<Class<?>, Map<String, Cache>>` | `indexMap` | a map of the starter class plus its super classes to save method lists for static/normal/super method calls.
    `Class<?>` | `mainClass` |

  - ### Constructor Summary

    Constructors
    Constructor and description
    `MetaMethodIndex(CachedClass theCachedClass)`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `public void` | `addMetaMethod(MetaMethod method, Map<String, Cache> map)`
    `` | `public Object` | `addMethodToList(Object o, MetaMethod toIndex)`
    `` | `public void` | `clearCaches()`
    `` | `public void` | `clearCaches(String name)`
    `` | `public void` | `copyMethodsToSuper()`
    `` | `public void` | `copyNonPrivateMethods(Map<String, Cache> from, Map<String, Cache> to)`
    `` | `public void` | `copyNonPrivateNonNewMetaMethods(Map<String, Cache> from, Map<String, Cache> to)`
    `` | `public Map<String, Cache>` | `getHeader(Class<?> cls)`
    `` | `public final MetaMethodIndex.Cache` | `getMethods(Class<?> cls, String name)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### public final Map<Class<?>, Map<String, Cache>> indexMap

      a map of the starter class plus its super classes to save method lists for static/normal/super method calls. It also provides a simple cache of one method name and call signature to method per static/normal/super call.

    - #### public final Class<?> mainClass

  - ### Constructor Detail

    - #### public MetaMethodIndex(CachedClass theCachedClass)

  - ### Method Detail

    - #### public void addMetaMethod(MetaMethod method, Map<String, Cache> map)

    - #### public Object addMethodToList(Object o, MetaMethod toIndex)

    - #### public void clearCaches()

    - #### public void clearCaches(String name)

    - #### public void copyMethodsToSuper()

    - #### public void copyNonPrivateMethods(Map<String, Cache> from, Map<String, Cache> to)

    - #### public void copyNonPrivateNonNewMetaMethods(Map<String, Cache> from, Map<String, Cache> to)

    - #### public Map<String, Cache> getHeader(Class<?> cls)

    - #### public final MetaMethodIndex.Cache getMethods(Class<?> cls, String name)