Skip to content

Commit b85644f

Browse files
mpvlmvdan
authored andcommitted
all: rename aliasandself experiment to aliasv2
- shorter - implies we are deprecating an older alias type (which we are) - implies a larger proposal, which may include self Issue #4014 Signed-off-by: Marcel van Lohuizen <[email protected]> Change-Id: I15e9178712b6969a65598d63d9bcb88edaed3c2d Reviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1224784 Reviewed-by: Daniel Martí <[email protected]> Unity-Result: CUE porcuepine <[email protected]> TryBot-Result: CUEcueckoo <[email protected]>
1 parent a94cfbc commit b85644f

File tree

12 files changed

+55
-55
lines changed

12 files changed

+55
-55
lines changed

cmd/cue/cmd/experiments_help_gen.go

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cue/parser/parser.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1376,8 +1376,8 @@ func (p *parser) parseAlias(lhs ast.Expr) (expr ast.Expr) {
13761376
pos := p.pos
13771377

13781378
// Check if old-style aliases are disallowed
1379-
if p.experiments != nil && p.experiments.AliasAndSelf {
1380-
p.errf(pos, "old-style alias syntax (=) is not allowed with @experiment(aliasandself); use postfix syntax (~X or ~(K,V))")
1379+
if p.experiments != nil && p.experiments.AliasV2 {
1380+
p.errf(pos, "old-style alias syntax (=) is not allowed with @experiment(aliasv2); use postfix syntax (~X or ~(K,V))")
13811381
p.next()
13821382
expr = p.parseRHS()
13831383
return expr
@@ -1407,8 +1407,8 @@ func (p *parser) parsePostfixAlias() *ast.PostfixAlias {
14071407
pos := p.pos
14081408

14091409
// Check if postfix alias syntax requires experiment
1410-
if p.experiments == nil || !p.experiments.AliasAndSelf {
1411-
p.errf(pos, "postfix alias syntax requires @experiment(aliasandself)")
1410+
if p.experiments == nil || !p.experiments.AliasV2 {
1411+
p.errf(pos, "postfix alias syntax requires @experiment(aliasv2)")
14121412
}
14131413

14141414
p.next()

cue/parser/parser_test.go

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -122,44 +122,44 @@ func TestParse(t *testing.T) {
122122
},
123123
{
124124
desc: "postfix alias simple form",
125-
in: `@experiment(aliasandself)
125+
in: `@experiment(aliasv2)
126126
a~X: 1
127127
b~Y: 2`,
128-
out: `@experiment(aliasandself), a~X: 1, b~Y: 2`,
128+
out: `@experiment(aliasv2), a~X: 1, b~Y: 2`,
129129
},
130130
{
131131
desc: "postfix alias dual form",
132-
in: `@experiment(aliasandself)
132+
in: `@experiment(aliasv2)
133133
a~(K,V): 1
134134
b~(L,W): 2`,
135-
out: `@experiment(aliasandself), a~(K,V): 1, b~(L,W): 2`,
135+
out: `@experiment(aliasv2), a~(K,V): 1, b~(L,W): 2`,
136136
},
137137
{
138138
desc: "postfix alias with constraints",
139-
in: `@experiment(aliasandself)
139+
in: `@experiment(aliasv2)
140140
a~X?: 1
141141
b~(K,V)!: 2`,
142-
out: `@experiment(aliasandself), a~X?: 1, b~(K,V)!: 2`,
142+
out: `@experiment(aliasv2), a~X?: 1, b~(K,V)!: 2`,
143143
},
144144
{
145145
desc: "postfix alias in nested fields",
146-
in: `@experiment(aliasandself)
146+
in: `@experiment(aliasv2)
147147
a~A: b~B: c~C: 1`,
148-
out: `@experiment(aliasandself), a~A: {b~B: {c~C: 1}}`,
148+
out: `@experiment(aliasv2), a~A: {b~B: {c~C: 1}}`,
149149
},
150150
{
151151
desc: "postfix alias with dynamic field",
152-
in: `@experiment(aliasandself)
152+
in: `@experiment(aliasv2)
153153
(x)~F: 1
154154
("y")~G: 2`,
155-
out: `@experiment(aliasandself), (x)~F: 1, ("y")~G: 2`,
155+
out: `@experiment(aliasv2), (x)~F: 1, ("y")~G: 2`,
156156
},
157157
{
158158
desc: "postfix alias with pattern constraint",
159-
in: `@experiment(aliasandself)
159+
in: `@experiment(aliasv2)
160160
[string]~X: int
161161
[=~"^a"]~(K,V): string`,
162-
out: `@experiment(aliasandself), [string]~X: int, [=~"^a"]~(K,V): string`,
162+
out: `@experiment(aliasv2), [string]~X: int, [=~"^a"]~(K,V): string`,
163163
},
164164
{
165165
desc: "keywords as selector",
@@ -929,16 +929,16 @@ bar: 2
929929
},
930930
{
931931
desc: "postfix alias with experiment",
932-
in: `@experiment(aliasandself)
932+
in: `@experiment(aliasv2)
933933
a~X: {foo: 1}
934934
b: X.foo`,
935-
out: "@experiment(aliasandself), a~X: {foo: 1}, b: X.foo",
935+
out: "@experiment(aliasv2), a~X: {foo: 1}, b: X.foo",
936936
},
937937
{
938938
desc: "postfix alias disallows old syntax",
939-
in: `@experiment(aliasandself)
939+
in: `@experiment(aliasv2)
940940
X=a: {foo: 1}`,
941-
out: "@experiment(aliasandself), X: {foo: 1}\nold-style alias syntax (=) is not allowed with @experiment(aliasandself); use postfix syntax (~X or ~(K,V))",
941+
out: "@experiment(aliasv2), X: {foo: 1}\nold-style alias syntax (=) is not allowed with @experiment(aliasv2); use postfix syntax (~X or ~(K,V))",
942942
},
943943
{
944944
desc: "old alias syntax without experiment",
@@ -950,7 +950,7 @@ bar: 2
950950
desc: "postfix alias without experiment",
951951
in: `a~X: {foo: 1}
952952
b: X.foo`,
953-
out: "a~X: {foo: 1}, b: X.foo\npostfix alias syntax requires @experiment(aliasandself)",
953+
out: "a~X: {foo: 1}, b: X.foo\npostfix alias syntax requires @experiment(aliasv2)",
954954
}}
955955
for _, tc := range testCases {
956956
t.Run(tc.desc, func(t *testing.T) {
@@ -1197,14 +1197,14 @@ func TestPostfixAlias(t *testing.T) {
11971197
}{
11981198
{
11991199
name: "simple form",
1200-
input: "@experiment(aliasandself)\na~X: 1",
1200+
input: "@experiment(aliasv2)\na~X: 1",
12011201
wantAlias: true,
12021202
wantDual: false,
12031203
wantField: "X",
12041204
},
12051205
{
12061206
name: "dual form",
1207-
input: "@experiment(aliasandself)\na~(K,V): 1",
1207+
input: "@experiment(aliasv2)\na~(K,V): 1",
12081208
wantAlias: true,
12091209
wantDual: true,
12101210
wantLabel: "K",
@@ -1217,7 +1217,7 @@ func TestPostfixAlias(t *testing.T) {
12171217
},
12181218
{
12191219
name: "with optional",
1220-
input: "@experiment(aliasandself)\na~X?: 1",
1220+
input: "@experiment(aliasv2)\na~X?: 1",
12211221
wantAlias: true,
12221222
wantField: "X",
12231223
},

cue/testdata/cycle/self.txtar

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
-- in.cue --
2-
@experiment(aliasandself)
2+
@experiment(aliasv2)
33

44
import "list"
55

@@ -268,7 +268,7 @@ issue1729: t2: {
268268
}
269269

270270
-- selfnew.cue --
271-
@experiment(aliasandself)
271+
@experiment(aliasv2)
272272

273273
issue4125: t1_self: {
274274
let Root = self

cue/testdata/references/alias.txtar

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
-- in.cue --
2-
@experiment(aliasandself)
2+
@experiment(aliasv2)
33

44
// Basic postfix alias - simple form
55
a1~X1: {

cue/testdata/references/self.txtar

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Test various self reference cases.
22

33
-- in.cue --
4-
@experiment(aliasandself)
4+
@experiment(aliasv2)
55

66
// Basic self usage - top level
77
a: self.b
@@ -42,7 +42,7 @@ computed: {
4242
cycle: self.cycle
4343

4444
-- list.cue --
45-
@experiment(aliasandself)
45+
@experiment(aliasv2)
4646
import "list"
4747

4848
#IntStrings: {list.Repeat([int, string], div(len(self), 2))}
@@ -53,7 +53,7 @@ listCheck: err: #IntStrings
5353
listCheck: err: [1, "foo", "bar", 2]
5454

5555
-- withlet.cue --
56-
@experiment(aliasandself)
56+
@experiment(aliasv2)
5757

5858
withLet: {
5959
let X = self
@@ -65,7 +65,7 @@ withLet: {
6565
}
6666
-- validator.cue --
6767
@experiment(structcmp)
68-
@experiment(aliasandself)
68+
@experiment(aliasv2)
6969

7070
validator: {
7171
err1: {{{{== (self + 1)}}}}

internal/core/compile/compile.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -358,8 +358,8 @@ func (c *compiler) verifyVersion(src ast.Node, n adt.Expr) adt.Expr {
358358
kind = "predeclared identifier"
359359
name = x.Src.Name
360360
// Check if Self experiment is enabled
361-
if !c.experiments.AliasAndSelf {
362-
return c.errf(src, "%s %q requires @experiment(aliasandself)", kind, name)
361+
if !c.experiments.AliasV2 {
362+
return c.errf(src, "%s %q requires @experiment(aliasv2)", kind, name)
363363
}
364364
x.Label = adt.MakeStringLabel(c.index, name)
365365
return n

internal/cueexperiment/file.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,15 +70,15 @@ type File struct {
7070
// Requires cue fix when upgrading
7171
ExplicitOpen bool `experiment:"preview:v0.15.0"`
7272

73-
// AliasAndSelf enables the use of 'self' identifier to refer to the
73+
// AliasV2 enables the use of 'self' identifier to refer to the
7474
// enclosing struct and enables the postfix alias syntax (~X and ~(K,V)).
7575
// The file where this experiment is enabled disallows the use of old prefix
7676
// alias syntax (X=).
7777
//
7878
// Proposal: https://cuelang.org/issue/4014
7979
// Spec change: https://cuelang.org/cl/1222377
8080
// Requires cue fix when upgrading
81-
AliasAndSelf bool `experiment:"preview:v0.15.0"`
81+
AliasV2 bool `experiment:"preview:v0.15.0"`
8282
}
8383

8484
// LanguageVersion returns the language version of the file or "" if no language

internal/lsp/definitions/definitions.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1400,7 +1400,7 @@ func (n *astNode) resolvePathRoot(name string) *navigableBindings {
14001400
return nav
14011401
}
14021402
// Support for the Self experiment:
1403-
if name == "self" && nOrig.key != nil && nOrig.key.Pos().Experiment().AliasAndSelf {
1403+
if name == "self" && nOrig.key != nil && nOrig.key.Pos().Experiment().AliasV2 {
14041404
return nOrig.navigable.parent
14051405
}
14061406
return nil

internal/lsp/definitions/definitions_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2758,7 +2758,7 @@ something: {
27582758
{
27592759
name: "Self_Simple",
27602760
archive: `-- a.cue --
2761-
@experiment(aliasandself)
2761+
@experiment(aliasv2)
27622762
x: y: 3
27632763
x: z: self.y
27642764
@@ -2815,7 +2815,7 @@ e: self
28152815
{
28162816
name: "Self_List",
28172817
archive: `-- a.cue --
2818-
@experiment(aliasandself)
2818+
@experiment(aliasv2)
28192819
f: [ 1, 2, self[0] ]
28202820
let X = self
28212821
g: h: X.f[0]
@@ -2845,7 +2845,7 @@ g: h: X.f[0]
28452845
{
28462846
name: "Self_Self",
28472847
archive: `-- a.cue --
2848-
@experiment(aliasandself)
2848+
@experiment(aliasv2)
28492849
i: self: x: y: z: self
28502850
`,
28512851
expectDefinitions: map[position][]position{

0 commit comments

Comments
 (0)