ReflectionTools v3.0.0
Major API-breaking update including many changes and clean-ups:
Core
- Variety of small fixes
- Full suite of string formatting tools for both existing members and dynamically created members, along with emitted op-codes available in the
IOpCodeFormatterinterface or atAccessor.Formatter/Accessor.ExceptionFormatter. - Fluent API for creating a OOP representation of any method, type, field, property, or event your heart desires, which can be used by string formatting or for your own libraries.
- Lib.Harmony dependency for .NET Standard 2.1 was split off into it's own library, both to clean up this library and because redist of Lib.Harmony is no longer needed for .NET Standard 2.1 support with the recent update to Lib.Harmony, version 2.3.3.
- Accessor and logging is now available as an interface for dependency injection support.
- IOpCodeEmitter interface for abstracting
ILGenerator.- DebuggableEmitter class which can write instructions to the logger as they're emitted for debugging purposes.
- IVariable abstraction merging fields and properties into one type, also added are generic strongly-typed variants,
IInstanceVariable<,>, andIStaticVariable<>.
Harmony Module
- TranspilerContext for easier transpiling with a style similar to
ILGenerator, which implementsIOpCodeEmitter. - HarmonyLog class for easily managing an auto-wiping harmony debug log.
- Some methods relying on Lib.Harmony are moved to a new
PatchUtilityclass.