Skip to content

Releases: CadixDev/Bombe

0.3.0

30 Dec 17:53
4b5310c
Compare
Choose a tag to compare
0.3.0 Pre-release
Pre-release

Bombe 0.3.0 continues the Bombe mission, further working towards making a cleaner codebase
that can be used further afield than Lorenz or Survey.

Changes

  • The bombe-core module has been renamed to simply bombe, becoming more inline with the
    Lorenz modules.
  • Type#isInstanceof has been renamed to Type#isAssignableFrom.

Inheritance providers

InheritanceProvider has been reworked to expose inheritance access levels (represented
by InheritanceType) and to improve performance.

  • InheritanceProvider.ClassInfo#getFields and getMethods now return a
    Map<*Signature, InheritanceType> that allows checking if a child class actually inherits
    a member from its parent class based on its access level.
  • InheritanceProvider.ClassInfo#provideParents is a shortcut to provide ClassInfos for all
    parent classes/interfaces for a class, recursively. (Replaces the getParentsOf method)
  • There is a new CachingInheritanceProvider that wraps an existing InheritanceProvider and
    caches the request. This replaces the duplicated functionality in all other
    InheritanceProvider implementations.
  • ReflectionInheritanceProvider was added as a reference implementation based on Java's
    reflection API.

Jar Transformation Framework

Bombe now contains a so-called 'jar-file transformation framework', that facilitates the
reading and manipulating of Jar files. The javadocs will be the best reference for it :)

Going forward, this may be moved into a separate library.

0.2.0

29 Aug 22:13
11bca36
Compare
Choose a tag to compare
0.2.0 Pre-release
Pre-release

Bombe 0.2.0 continues the Bombe mission, further working towards making a cleaner codebase
that can be used further afield than Lorenz or Survey.

Big thanks to @Minecrell, for his help towards this release!

Changes

  • Parsing for Types and MethodDescriptors has been overhauled, using readers for the both. This
    provides a much cleaner solution than what existed previously - dramatically improving the
    parsing of MethodDescriptors specifically.
  • The dependency on Guava has been dropped.
  • A PrimitiveType interface has been introduced, providing a direct replacement for the
    PrimitiveType enum that previously existed in Lorenz.
  • The 'convenience' signature constructors have been replaced with #of(String, String)
    methods.

0.1.0

26 Aug 12:50
791f6c4
Compare
Choose a tag to compare
0.1.0 Pre-release
Pre-release

Bombe is an amalgamation of extracted components from a bunch of my projects that work with the
Java class file format. Components have been extracted from both Lorenz and Survey.

Bombe is available through Maven Central.