Upstream itchyny/gojq state of the touched files before f68bda411a
This commit is contained in:
1 parent
a7ed5ccbe9
commit
b18851b748
3 files changed
+35
-128
No files matched your search
+17
-10
@@ -132,13 +132,18 @@ func (c *compiler) compile(q *Query) error {
|
||||
}
|
||||
|
||||
func (c *compiler) compileImport(i *Import) error {
|
||||
path, alias := cmp.Or(i.ImportPath, i.IncludePath), i.ImportAlias
|
||||
var path, alias string
|
||||
var err error
|
||||
if i.ImportPath != "" {
|
||||
path, alias = i.ImportPath, i.ImportAlias
|
||||
} else {
|
||||
path = i.IncludePath
|
||||
}
|
||||
if c.moduleLoader == nil {
|
||||
return fmt.Errorf("cannot load module: %q", path)
|
||||
}
|
||||
if strings.HasPrefix(alias, "$") {
|
||||
var vals any
|
||||
var err error
|
||||
if moduleLoader, ok := c.moduleLoader.(interface {
|
||||
LoadJSONWithMeta(string, map[string]any) (any, error)
|
||||
}); ok {
|
||||
@@ -161,7 +166,6 @@ func (c *compiler) compileImport(i *Import) error {
|
||||
return nil
|
||||
}
|
||||
var q *Query
|
||||
var err error
|
||||
if moduleLoader, ok := c.moduleLoader.(interface {
|
||||
LoadModuleWithMeta(string, map[string]any) (*Query, error)
|
||||
}); ok {
|
||||
@@ -1093,7 +1097,7 @@ func (c *compiler) compileModify() {
|
||||
&code{op: opcall, v: [3]any{funcAllocator, 0, "_allocator"}},
|
||||
&code{op: opstore, v: a},
|
||||
&code{op: opload, v: v},
|
||||
&code{op: opfork, v: len(c.codes) + 40}, // reduce [L1]
|
||||
&code{op: opfork, v: len(c.codes) + 39}, // reduce [L1]
|
||||
&code{op: oppathbegin}, // path(p)
|
||||
&code{op: opload, v: p},
|
||||
&code{op: opcallpc},
|
||||
@@ -1102,13 +1106,12 @@ func (c *compiler) compileModify() {
|
||||
&code{op: opstore, v: p}, // as $p (.;
|
||||
&code{op: opforklabel, v: l}, // label $l |
|
||||
&code{op: opload, v: v}, //
|
||||
&code{op: opfork, v: len(c.codes) + 37}, // [L2]
|
||||
&code{op: opfork, v: len(c.codes) + 36}, // [L2]
|
||||
&code{op: oppop}, // (getpath($p) |
|
||||
&code{op: opload, v: a},
|
||||
&code{op: opload, v: a},
|
||||
&code{op: opload, v: p},
|
||||
&code{op: opload, v: v},
|
||||
&code{op: opcall, v: [3]any{funcGetpathWithAllocator, 2, "getpath"}},
|
||||
&code{op: opcall, v: [3]any{internalFuncs["getpath"].callback, 1, "getpath"}},
|
||||
&code{op: opload, v: f}, // f)
|
||||
&code{op: opcallpc},
|
||||
&code{op: opload, v: p}, // setpath($p; ...)
|
||||
@@ -1116,8 +1119,8 @@ func (c *compiler) compileModify() {
|
||||
&code{op: opcall, v: [3]any{funcSetpathWithAllocator, 3, "_setpath"}},
|
||||
&code{op: opstore, v: v},
|
||||
&code{op: opload, v: v}, // ., break $l
|
||||
&code{op: opfork, v: len(c.codes) + 35}, // [L4]
|
||||
&code{op: opjump, v: len(c.codes) + 39}, // [L3]
|
||||
&code{op: opfork, v: len(c.codes) + 34}, // [L4]
|
||||
&code{op: opjump, v: len(c.codes) + 38}, // [L3]
|
||||
&code{op: opload, v: l}, // [L4]
|
||||
&code{op: opcall, v: [3]any{funcBreak(""), 0, "_break"}},
|
||||
&code{op: opload, v: p}, // append $p to $d [L2]
|
||||
@@ -1270,7 +1273,11 @@ func listModuleDeps(q *Query) []any {
|
||||
if v == nil {
|
||||
v = make(map[string]any)
|
||||
}
|
||||
v["relpath"] = cmp.Or(i.ImportPath, i.IncludePath)
|
||||
relpath := i.ImportPath
|
||||
if relpath == "" {
|
||||
relpath = i.IncludePath
|
||||
}
|
||||
v["relpath"] = relpath
|
||||
if i.ImportAlias != "" {
|
||||
v["as"] = strings.TrimPrefix(i.ImportAlias, "$")
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user