Changelog History
Page 1
-
v0.7.2 Changes
July 26, 2020 -
v0.7.1 Changes
June 14, 2020๐ [#107] fix infinite loop when $ appear between variable and the end of a template string
-
v0.6.1 Changes
August 20, 2019๐ #96 handle lexer errors
-
v0.6.0 Changes
February 25, 2019๐ new
golang/json dumper
๐จ saving and printing free-floating comments and whitespacesnodes
๐ attribute
StringVar
was removed fromexpr.Variable
๐ nodestmt.Die
was removed, addedDie
attribute tostmt.Exit
insteadoptimizations
๐พ save position within node
๐ usesync.Pool
to reusescanner.Token
๐ bugfix
__halt_compiler();
terminates parsing process
accept backslash+newline in single quotes
๐ fixed/*/
comment termination
๐ fixed crash on an empty list item, missed items are represented by empty*expr.ArrayItem
-
v0.5.1 Changes
July 03, 2018๐ #44: if array item list ends by a comma, last nil does not removed
๐ #44: fixed crash on an empty list item
๐ #41:Namespace resolver
now does not resolve build-in primitives
๐ Fixed bug:Namespace resolver
fails whenTraitUse
does not contain adaptations
๐ #40: memory allocations reduced forposition.Position
by usingsync.Pool
๐ #27: memory allocations reduced forscanner.Token
by usingsync.Pool
๐ #26:TrimLeft
replaced byTrimLeftFunc
(small optimization)
๐ #38: fixed saving positions for php5ArrayDimFetch
,PropertyFetch
andMethodCall
nodes
๐ #34: fixed saving position forClass
node -
v0.5.0 Changes
June 07, 2018โจ Enhancements:
- ๐ Error-tolerant parsing
- ๐ Possibility to parse files concurrently
- Saving all comments
- Saving comments position
๐ฅ Breaking changes:
- โ Removed
DocComment
andPlainComment
types - โ Removed
boolWithToken
,altSintaxNode
,nodesWithEndToken
types - Created
node.Root
,node.ArgumentList
,stmt.TraitAdaptationList
,stmt.CaseList
,stmt.ClassExtends
,stmt.ClassImplements
,stmt.InterfaceExtends
,expr.Reference
nodes - ๐ Changed
ClosureUse
node purpose, now it represents variables list instead of wrapping the variable - ๐
Builder
was renamed toPositionBuilder
scanner.CreateToken
returns pointerscanner.Token
saves position asposition.Position
- ๐ฆ
Parser
interface moved toparser
package - ๐ฆ
token
package merged intoscanner
package - ๐ฆ
Positions
andComments
moved intoparser
package
๐ Fixes:
- scanner: added
(binary)
cast - ๐ #28 fixed race conditions
- ๐ #18
heredocLabel
variable moved from global intoscanner.Lexer
- ๐ fixed panic on 32-bit systems
- ๐ fixed bug when scanning an empty inline comment
- ๐ fixed namespace resolver fail on anonymous class
- ๐ fixed the saving non-latin comments
Optimisations:
- ๐จ #21 refactored
scanner.Lexer.charsToBytes
and renamed toscanner.Lexer.tokenString
-
v0.4.0 Changes
April 06, 2018๐จ Created simple pretty printer
CreatedHeredoc
node
๐ Fixed Heredoc scanning
๐ Fixed template strings and backquoted strings scanning
Dumper now writes toio.writer
โ Removed redundant nop beforeInlineHtml
๐ Renamedassign.AssignRef
toassign.Reference
๐ Renamed cast nodes, removeCast
prefix -
v0.3.0 Changes
March 01, 2018Namespace resolver
Namespace resolver is a visitor that traverses nodes and resolves name nodes as fully qualified names.
It does not change AST but collects resolved names intomap[node.Node]string
For
Class
,Interface
,Trait
,Function
,ConstList
nodes collects name with current namespace.
ForName
,Relative
, 'FullyQualified' nodes resolvesuse aliases
and collects a fully qualified name.Other changes
- โ Remove the underscore from package names
- ๐ Fix
goreportcard.com
warnings - ๐ Rename
Walker
toWalkable
interface - โ Add
Names
interface - โ Add
dumper
andnamespace_resolver
tests
-
v0.2.0 Changes
February 28, 2018โ Add PHP5 parsing rules tests
โ Add PHP7 parsing rules tests
โ Add lexer rules tests
โ Add node traversing tests
โ Add alternative syntax nodes for while, for, foreach, and switch
๐ Fix parsing bugs found by test