Skip to content

Releases: IrisShaders/glsl-transformer

v0.25.2 - Return type passthrough

28 May 14:26
2ebc677
Compare
Choose a tag to compare
Pre-release
  • Made return types of activation method on WrapIdentifier and SearchTerminals return each class' type instead of a more generic one
  • Added generic type passthrough to all single-argument Transformation graph-building methods

Full Changelog: v0.25.1...v0.25.2

v0.25.1 - Test release for debugging Maven Central downloads

28 May 14:24
d522f4b
Compare
Choose a tag to compare

There are no changes. The issue has been fixed and it was something on Sonatype's side.

Full Changelog: v0.25.0...v0.25.1

v0.25.0 - Tensor improvements

26 May 23:21
4fe49c5
Compare
Choose a tag to compare
Pre-release
  • @Burgerguy has contributed an updated and expanded Tensor

Full Changelog: v0.24.0...v0.25.0

v0.24.0 - Printer fixes, more efficient walk continuation checks and more flexible config options in WrapIdentifier

26 May 17:03
87b098e
Compare
Choose a tag to compare
  • Added option for multiple detection results and external declarations for injection in WrapIdentifier
  • SearchTerminal will now throw if there are no targets
  • Refactors in SearchTerminal for tidiness and efficiency
  • Added canStop with which parse tree listeners (like walk phases) have to signal that they want to participate in the isDeepEnough and isFinished tests
  • More efficient is deep isDeepEnough and isFinished tests by removing nodes that are finished
  • Removed unused methods from ProxyParseTreeListener
  • Added tests for ProxyParseTreeListener
  • Added "opening detection" to PrintVisitor which prints newly inserted nodes in the same whitespace context as nodes that were removed and left whitespace. This fixes issues where the whitespace around replacements was only after the inserted node causing identifiers to be concatenated.
  • Refactored ExtendedContext and added new functionality for keeping track of openings in the whitespace in the token stream left by removed nodes

Meta

  • Added more compact version of the diagrams for Transformation methods
  • Fixed the Readme's code example

Full Changelog: v0.23.2...v0.24.0

v0.23.2 - WrapIdentifier parsed replacement fix

21 May 15:07
21d8142
Compare
Choose a tag to compare
  • Fix for WrapIdentifier's behavior with regard to the parsed replacement. It wasn't reading the config value correctly which is now fixed.

Full Changelog: v0.23.1...v0.23.2

v0.23.1 - Fix activation on SearchTerminals

13 May 02:20
bbaabf3
Compare
Choose a tag to compare
  • Fix the activation of the nested transformation phase in the SearchTerminals transformation. The activation of the transformation is now applied to the inner transformation phase.
  • Added tests for this behavior

Full Changelog: v0.23.0...v0.23.1

v0.23.0 - WrapIdentifier and SearchTerminals configuration system and simplification

12 May 02:14
c1a4f50
Compare
Choose a tag to compare

This update primarily brings a new configuration system to WrapIdentifier and SearchTerminals that makes them more flexible and covers more use-cases at once. Other changes include a refactoring TransformationPhase and more tests.

  • Added configuration system to WrapIdentifier and SearchTerminals. This includes a number of methods for each individual configuration property.
  • Added ConfigurableTransformation that provides a basis for configurable transformations
  • Added ValueSupplier and CachingSupplier together with CachePolicy that are used to configure how the configuration properties within the configurable transformations are evaluated
  • Removed impl and dynamic versions of WrapIdentifier and SearchTerminals as these are now encompassed by the configurable main classes
  • Removed now superfluous utility methods from WrapIdentifier and SearchTerminals
  • Moved a lot of transformation phase base functionality into TransformationPhaseBase
  • Refactored the base class of HandlerTarget to be the new TransformationPhaseBase and not a full transformation phase which has extra things that handler targets don't need
  • Added Activatable and ActivatableLifecycleUser that abstract the activation concept that is similar in usage to the configuration methods on the new configurable transformations. This means lifecycle users can now more easily be made activatable. However, this activation doesn't necessarily have to be respected by whatever is executing the lifecycle user. This depends on what kind of lifecycle user it is.
  • Extracted InjectionPoint to its own class
  • Added option to turn off the insertion of newlines before consecutive groups of unparsable AST nodes in the printer. This is used by string nodes inserted by TerminalReplaceTarget.
  • Added methods to Transformation for generating repetitions of other lifecycle users
  • Added ConfigUtil that provides default-handling methods currently only used in determining activation of lifecycle users
  • Added tests for WrapIdentifier, SearchTerminals and TerminalReplaceTarget
  • Added assertions to ExecutionPlanner and accompanying tests that make sure that weird broken dependency graphs aren't accepted
  • Refactors to tests and additions of utility structures
  • Fixed an issue where the FilterTokenSource used the wrong initialization method on lifecycle users

Full Changelog: v0.22.2...v0.23.0

v0.22.2 - WrapIdentifierExternalDeclaration hotfix

05 May 02:26
c32f16b
Compare
Choose a tag to compare
  • Same hotfix for WrapIdentifierExternalDeclaration as in the previous release
  • Internal improvements in test code

Full Changelog: v0.22.1...v0.22.2

v0.22.1 - WrapIdentifierDynamic hotfix and formatting

05 May 02:25
38820d8
Compare
Choose a tag to compare
  • Hotfix for WrapIdentifierDynamic dependency setup
  • Added test for a custom root transformation

Meta:

  • The codebase is now using wildcard import formatting for more succinct import blocks

Full Changelog: v0.22.0...v0.22.1

v0.22.0 - Custom root transformations for conditional dependencies

23 Apr 14:48
c5e49c9
Compare
Choose a tag to compare
  • Allowed setting a custom root transformation on ExecutionPlanner and thereby also TransformationManager. This gives the flexibility to use conditional dependencies in the root transformation which is the most common use of conditional dependencies.
  • An empty root transformation is only used by ExecutionPlanner if necessary now
  • Made TransformationManager throw on parse errors by default
  • Updated ANTLR to version 4.10.1

Full Changelog: v0.21.0...v0.22.0