# 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
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
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
Bytecode.Visibility: Ordinal member visibility level.
PrettyPrinter.Alignment: Table column alignment