Generic ast (#1829)

Remove dependency on yaml.Node for internal AST representation. Yaml decoder is now just another decoder.
This commit is contained in:
Mike Farah
2023-10-18 12:11:53 +11:00
committed by GitHub
parent 7430419413
commit 13d1bbb45f
171 changed files with 6402 additions and 2421 deletions
+9 -9
View File
@@ -71,7 +71,7 @@ var stringsOperatorScenarios = []expressionScenario{
document: `foo bar foo`,
expression: `match("foo")`,
expected: []string{
"D0, P[], ()::string: foo\noffset: 0\nlength: 3\ncaptures: []\n",
"D0, P[], (!!map)::string: foo\noffset: 0\nlength: 3\ncaptures: []\n",
},
},
{
@@ -79,7 +79,7 @@ var stringsOperatorScenarios = []expressionScenario{
document: `!horse foo bar foo`,
expression: `match("foo")`,
expected: []string{
"D0, P[], ()::string: foo\noffset: 0\nlength: 3\ncaptures: []\n",
"D0, P[], (!!map)::string: foo\noffset: 0\nlength: 3\ncaptures: []\n",
},
},
{
@@ -111,7 +111,7 @@ var stringsOperatorScenarios = []expressionScenario{
document: `xyzzy-14`,
expression: `capture("(?P<a>[a-z]+)-(?P<n>[0-9]+)")`,
expected: []string{
"D0, P[], ()::a: xyzzy\nn: \"14\"\n",
"D0, P[], (!!map)::a: xyzzy\nn: \"14\"\n",
},
},
{
@@ -119,7 +119,7 @@ var stringsOperatorScenarios = []expressionScenario{
document: `!horse xyzzy-14`,
expression: `capture("(?P<a>[a-z]+)-(?P<n>[0-9]+)")`,
expected: []string{
"D0, P[], ()::a: xyzzy\nn: \"14\"\n",
"D0, P[], (!!map)::a: xyzzy\nn: \"14\"\n",
},
},
{
@@ -128,7 +128,7 @@ var stringsOperatorScenarios = []expressionScenario{
document: `xyzzy-14`,
expression: `capture("(?P<a>[a-z]+)-(?P<n>[0-9]+)(?P<bar123>bar)?")`,
expected: []string{
"D0, P[], ()::a: xyzzy\nn: \"14\"\nbar123: null\n",
"D0, P[], (!!map)::a: xyzzy\nn: \"14\"\nbar123: null\n",
},
},
{
@@ -136,7 +136,7 @@ var stringsOperatorScenarios = []expressionScenario{
document: `cat cat`,
expression: `match("cat")`,
expected: []string{
"D0, P[], ()::string: cat\noffset: 0\nlength: 3\ncaptures: []\n",
"D0, P[], (!!map)::string: cat\noffset: 0\nlength: 3\ncaptures: []\n",
},
},
{
@@ -209,7 +209,7 @@ var stringsOperatorScenarios = []expressionScenario{
document: `a: dogs are great`,
expression: `.a |= sub("dogs", "cats")`,
expected: []string{
"D0, P[], (doc)::a: cats are great\n",
"D0, P[], (!!map)::a: cats are great\n",
},
},
{
@@ -218,7 +218,7 @@ var stringsOperatorScenarios = []expressionScenario{
document: "a: cat\nb: heat",
expression: `.[] |= sub("(a)", "${1}r")`,
expected: []string{
"D0, P[], (doc)::a: cart\nb: heart\n",
"D0, P[], (!!map)::a: cart\nb: heart\n",
},
},
{
@@ -227,7 +227,7 @@ var stringsOperatorScenarios = []expressionScenario{
document: "a: !horse cat\nb: !goat heat",
expression: `.[] |= sub("(a)", "${1}r")`,
expected: []string{
"D0, P[], (doc)::a: !horse cart\nb: !goat heart\n",
"D0, P[], (!!map)::a: !horse cart\nb: !goat heart\n",
},
},
{