Releases: IrisShaders/glsl-transformer
Releases · IrisShaders/glsl-transformer
v1.0.0-pre21 - Version Statement Improvements
- Changed the names of the
Version
enum members to refer to GLSL versions instead of OpenGL versions - Added a method to
TranslationUnit
to fill-in a missing version statement - Added a test for verifying how version statements are built in the AST
Full Changelog: v1.0.0-pre20...v1.0.0-pre21
v1.0.0-pre20 - Small Improvements, Renames and Line Annotation WIP
- Changed printer to always append the optional
f
suffix to floats for better compatibility with some compilers - Added unfinished line annotation feature and tests (disabled)
- Renamed many parameters to be clearer (such as
clazz
ork
) - Reset the active list wildcard in the matcher's state before starting a new match. This fixes rare edge cases
Full Changelog: v1.0.0-pre19...v1.0.0-pre20
v1.0.0-pre19 - AST Build Cache Performance Improvement
- Improved AST building performance by making the build cache use an
EmptyRoot
that doesn't actually contain any indexes - Removed unused
merge
methods on various index classes - Added
build
method toASTBuilder
that takes a root instance, a CST node and a visit method function. This is used in theASTParser
for building AST nodes that are to be stored in the cache.
Full Changelog: v1.0.0-pre18.1...v1.0.0-pre19
v1.0.0-pre18.1 - List Wildcards Support in Matcher
- Added support for list wildcards in
Matcher
. When the name of the node wildcard ends with*
it matches any number of the same wildcard repeatedly.
Full Changelog: v1.0.0-pre18...v1.0.0-pre18.1
v1.0.0-pre18 - Fix Cloning and Build Cache
- Added a method for setting the cache strategy on
ASTParser
- Changed the cloning to use constructors instead of Java's internal cloning. This fixes issues where the clone would be related to the original in very sneaky ways. This also makes the cloning code much simpler and re-uses existing construction infrastructure (such as the active build root).
- Fixed the build cache to clone at the right time
Full Changelog: v1.0.0-pre17...v1.0.0-pre18
v1.0.0-pre17 - Typo Fix and Methods for Getting Template Source
- Renamed
withExternalDelcaration
towithExternalDeclaration
- Added
getSource
andgetSourceRoot
toTemplate
for querying nodes that should be marked
Full Changelog: v1.0.0-pre16...v1.0.0-pre17
v1.0.0-pre16 - Template, AST Build Caching and Caching Fixes
- Fixed some bugs with caching
- Added
Template
that allows for generation of subtree clones with some nodes replaced - Refactored the caching structures
- Added AST node build caching to ASTParser
- Cleaned
Full Changelog: v1.0.0-pre15...v1.0.0-pre16
v1.0.0-pre15 - AST Node Cloning
- Added a
cloneSeparate
andcloneInto
toASTNode
which clones the whole tree - Added a default internal instance to
ASTParser
for parsing template node trees - Made many tests use the cloning system for validation of the clone's correctness
Full Changelog: v1.0.0-pre14...v1.0.0-pre15
v1.0.0-pre14 - ASTNode, LiteralExpression and TranslationUnit Utilities
- Added
getDefaultValue
method forLiteralExpression
- Added prepend and append methods to
TranslationUnit
to replace main wrapping methods usually used - Added parse methods to
ASTParser
for parsing arrays of strings - Added
getBranchAncestor
and related methods toASTNode
that can be used to find ancestors that are reached from specific directions - Changed the ancestor predicates in
ASTNodes
to check the skip counter before the predicate instead of after - Added a complex transformation test
Full Changelog: v1.0.0-pre13...v1.0.0-pre14
v1.0.0-pre13 - Refactor PrintType Handling
- Fix and refactor print type handling
Full Changelog: v1.0.0-pre12...v1.0.0-pre13