Skip to content

ReflectionTools v3.0.0

Choose a tag to compare

@DanielWillett DanielWillett released this 01 May 03:26
· 16 commits to master since this release
f8f0d52

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 IOpCodeFormatter interface or at Accessor.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<,>, and IStaticVariable<>.

Harmony Module

  • TranspilerContext for easier transpiling with a style similar to ILGenerator, which implements IOpCodeEmitter.
  • HarmonyLog class for easily managing an auto-wiping harmony debug log.
  • Some methods relying on Lib.Harmony are moved to a new PatchUtility class.