1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
|
#inlineImports: true
# TODO: slightly more correct is for _hidden_567475F3.a to be `b` and not resolve.
-- cue.mod/module.cue --
module: "mod.test/a"
language: version: "v0.9.0"
-- in.cue --
import "mod.test/a/pkg"
import "tool/exec"
// Can be inlined.
v: pkg.v.v
// Do not simplify because of multiple usages of enclosing struct.
x: pkg.a.b.c
y: pkg.a.b
// Cannot simplify because of definition.
z: pkg.#Def.f
// Two references to package, but since the second is a scalar, it can be
// hoisted and only one reference remains. So there is still no need for
// a helper.
// TODO: fix this to eliminate the helper.
w: pkg.w
wa: pkg.w.a
// Never expand builtin packages.
run: exec.Run
_hidden: int
-- pkg/pkg.cue --
package pkg
v: v: { x: 3, y: x }
a: b: c: { d: int }
#Def: f: g: int
w: {
a: _hidden
_hidden: {a: b} // Mangle this hidden field.
b: 1
x: {
_hidden2: _hidden
y: _hidden2
}
}
-- out/self/default --
import (
"mod.test/a/pkg"
"tool/exec"
)
// Can be inlined.
v: pkg.v.v
// Do not simplify because of multiple usages of enclosing struct.
x: pkg.a.b.c
y: pkg.a.b
// Cannot simplify because of definition.
z: pkg.#Def.f
// Two references to package, but since the second is a scalar, it can be
// hoisted and only one reference remains. So there is still no need for
// a helper.
// TODO: fix this to eliminate the helper.
w: pkg.w
wa: pkg.w.a
// Never expand builtin packages.
run: exec.Run
_hidden: int
-- out/self/expand_imports --
import "tool/exec"
// Can be inlined.
v: {
x: 3
y: x
}
// Do not simplify because of multiple usages of enclosing struct.
x: B.c
y: B
// Cannot simplify because of definition.
z: F.#x
// Two references to package, but since the second is a scalar, it can be
// hoisted and only one reference remains. So there is still no need for
// a helper.
// TODO: fix this to eliminate the helper.
w: W
wa: W.a
// Never expand builtin packages.
run: exec.Run
_hidden: int
//cue:path: "mod.test/a/pkg".a.b
let B = {
c: {
d: int
}
}
//cue:path: "mod.test/a/pkg".#Def.f
let F = {
#x: {
g: int
}
}
//cue:path: "mod.test/a/pkg".w
let W = {
a: _hidden_567475F3
_hidden_567475F3: {
a: 1
}
b: 1
x: {
_hidden2_567475F3: _hidden_567475F3
y: _hidden2_567475F3
}
}
|