# Package org.spongepowered.asm.util

Utility classes used by the entire Mixin pipeline, including utilities for working with bytecode as well as general-purpose tools and parsers.

- Interface Summary
  Interface | Description
  --- | ---
  IConsumer<TItem> | No Java 8 here but I need this interface
  IMessageSink | Interface for generic message consumers
  ITokenProvider | Agent which can supply token values to a `ConstraintParser.Constraint`.
  ObfuscationUtil.IClassRemapper | Interface for remapper proxies
  PrettyPrinter.IPrettyPrintable | Interface for object which supports printing to pretty printer

- Class Summary
  Class | Description
  --- | ---
  Annotations | Utility class for working with ASM annotations
  Annotations.Handle | Wrapper for `AnnotationNode` to support access via common interface
  Bytecode | Utility methods for working with bytecode via ASM
  Bytecode.DelegateInitialiser | Information bundle returned from `Bytecode.findDelegateInit(org.objectweb.asm.tree.MethodNode, java.lang.String, java.lang.String)`
  ClassSignature | Represents an object-oriented view of a generic class signature.
  Constants | Miscellaneous shared constants
  Constants.ManifestAttributes | Shared Jar Manifest Attributes
  ConstraintParser | Parser for constraints
  ConstraintParser.Constraint | A constraint.
  Counter | Mutable integer for use in collections
  Files | Utility class for file operations
  Handles | Utility class for working with method and field handles
  JavaVersion | Small helper to resolve the current java version
  LanguageFeatures | Bitmask values for language features supported.
  Locals | Utility methods for working with local variables using ASM
  Locals.Settings | Settings for `getLocalsAt` containing the tunable options for the algorithm.
  Locals.SyntheticLocalVariableNode | A local variable entry added by mixin itself, eg.
  ObfuscationUtil | Utility methods for obfuscation tasks
  PrettyPrinter | Prints information in a pretty box
  Quantifier | A regex-style quantifier, specified as a number or pair of numbers in braces.
  ReEntranceLock | Re-entrance semaphore used to share re-entrance data with the metadata service
  SignaturePrinter | Generates callback signature for callback pretty-print
  VersionNumber | Represents a software version number in `major.minor.revision.build` format as a sequence of four shorts packed into a long.

- Enum Summary
  Enum | Description
  --- | ---
  Bytecode.Visibility | Ordinal member visibility level.
  PrettyPrinter.Alignment | Table column alignment