Skip to content

Commit

Permalink
fixed pos info for root nodes, fixes #215
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexHaxe committed Feb 6, 2023
1 parent ce39c1a commit dd2d263
Show file tree
Hide file tree
Showing 8 changed files with 18 additions and 11 deletions.
2 changes: 1 addition & 1 deletion .haxerc
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"version": "5645ecc",
"version": "660947b",
"resolveLibs": "scoped"
}
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

## dev branch / next version (1.x.x)

## version 1.2.6 (2023-02-06)

- Fixed pos info of Root nodes, fixes [#215](https://github.com/HaxeCheckstyle/tokentree/issues/215)

## version 1.2.5 (2022-12-03)

- Fixed ternary detection ([#214](https://github.com/HaxeCheckstyle/tokentree/issues/214))
Expand Down
4 changes: 2 additions & 2 deletions haxelib.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
"contributors": [
"AlexHaxe"
],
"releasenote": "fixed terenary detection - see CHANGELOG for details",
"version": "1.2.5",
"releasenote": "fixed pos info of root nodes - see CHANGELOG for details",
"version": "1.2.6",
"url": "https://github.com/HaxeCheckstyle/tokentree",
"dependencies": {}
}
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "tokentree",
"version": "1.2.5",
"version": "1.2.6",
"description": "TokenTree library used by haxe-checkstyle, haxe-formatter and haxe-languageserver",
"repository": {
"type": "git",
Expand Down
5 changes: 4 additions & 1 deletion src/tokentree/TokenStream.hx
Original file line number Diff line number Diff line change
Expand Up @@ -389,8 +389,11 @@ class TokenStream {
return sharpIfStack[sharpIfStack.length - 1];
}

function createDummyToken(tokDef:TokenTreeDef):TokenTree {
public function createDummyToken(tokDef:TokenTreeDef):TokenTree {
var pos:Position;
if (tokens.length <= 0) {
return new TokenTree(tokDef, "", {file: "<unknown>", min: 0, max: 0}, -1, true);
}
if ((current < 0) || (current >= tokens.length)) {
var prevPos:Position = tokens[tokens.length - 1].pos;
pos = {
Expand Down
2 changes: 1 addition & 1 deletion src/tokentree/TokenTree.hx
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ class TokenTree {
@:allow(tokentree.utils.TokenTreeCheckUtils)
var tokenTypeCache:TokenTypeCache;

public function new(tok:TokenTreeDef, space:String, pos:Null<Position>, index:Int, inserted:Bool = false) {
public function new(tok:TokenTreeDef, space:String, pos:Position, index:Int, inserted:Bool = false) {
this.tok = tok;
this.pos = pos;
this.index = index;
Expand Down
6 changes: 3 additions & 3 deletions src/tokentree/TokenTreeBuilder.hx
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package tokentree;

import haxeparser.Data;
import tokentree.walk.WalkTypeNameDef;
import byte.ByteData;
import haxeparser.Data;
import tokentree.walk.WalkClass;
import tokentree.walk.WalkFile;
import tokentree.walk.WalkStatement;
import tokentree.walk.WalkTypeNameDef;

class TokenTreeBuilder {
public static function buildTokenTree(tokens:Array<Token>, bytes:ByteData, entryPoint:Null<TokenTreeEntryPoint> = null):TokenTree {
Expand All @@ -16,7 +16,7 @@ class TokenTreeBuilder {
}

static function buildTokenTreeFromStream(stream:TokenStream, entryPoint:TokenTreeEntryPoint):TokenTree {
var root:TokenTree = new TokenTree(Root, "", null, -1);
var root:TokenTree = stream.createDummyToken(Root);
switch (entryPoint) {
case TypeLevel:
WalkFile.walkFile(stream, root);
Expand Down

0 comments on commit dd2d263

Please sign in to comment.