Package de.geolykt.starloader.deobf

# Class ClassWrapperPool

java.lang.Object
de.geolykt.starloader.deobf.ClassWrapperPool

public class ClassWrapperPool extends Object

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected final ClassLoader`
  `loader`
  `protected final Map<String,org.objectweb.asm.tree.ClassNode>`
  `nodes`
  `protected final Map<String,ClassWrapper>`
  `wrappers`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ClassWrapperPool(Map<String,org.objectweb.asm.tree.ClassNode> nodes, ClassLoader cl)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addClassnode(org.objectweb.asm.tree.ClassNode node)`
  `boolean`
  `canAssign(ClassWrapper superType, ClassWrapper subType)`
  `ClassWrapper`
  `get(String className)`
  `ClassWrapper`
  `getCommonSuperClass(ClassWrapper class1, ClassWrapper class2)`
  `void`
  `invalidateNameCaches()`
  Invalidate internal `ClassNode` `name` caches.
  `boolean`
  `isImplementingInterface(ClassWrapper clazz, String interfaceName)`
  `ClassWrapper`
  `optGet(String className)`

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

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

- ## Field Details

  - ### loader

    protected final ClassLoader loader

  - ### nodes

    protected final Map<String,org.objectweb.asm.tree.ClassNode> nodes

  - ### wrappers

    protected final Map<String,ClassWrapper> wrappers

- ## Constructor Details

  - ### ClassWrapperPool

    public ClassWrapperPool(Map<String,org.objectweb.asm.tree.ClassNode> nodes, ClassLoader cl)

- ## Method Details

  - ### addClassnode

    public void addClassnode(org.objectweb.asm.tree.ClassNode node)

  - ### canAssign

    public boolean canAssign(ClassWrapper superType, ClassWrapper subType)

  - ### get

    public ClassWrapper get(String className)

  - ### getCommonSuperClass

    public ClassWrapper getCommonSuperClass(ClassWrapper class1, ClassWrapper class2)

  - ### invalidateNameCaches

    public void invalidateNameCaches()
    Invalidate internal `ClassNode` `name` caches. Should be invoked when for example class nodes are remapped, at which point internal caches are no longer valid.

  - ### isImplementingInterface

    public boolean isImplementingInterface(ClassWrapper clazz, String interfaceName)

  - ### optGet

    public ClassWrapper optGet(String className)