...

Text file src/cuelang.org/go/internal/core/export/testdata/main/attrs.txtar

Documentation: cuelang.org/go/internal/core/export/testdata/main

     1-- a.cue --
     2@package("foo")
     3
     4package bar
     5
     6@file("foo")
     7
     8a: {
     9	@decl(1)
    10	@decl(2)
    11} @field(2)
    12
    13a: {
    14	@decl(1)
    15	@decl(3)
    16} @field(1) @field(4)
    17
    18a: {} @field(1) @field(3)
    19
    20doNotPropagate: {
    21	#A: {} @attr1()
    22	a: #A
    23
    24	// Do not accumulated field attributes in embedding.
    25	#B: {} @attr1()
    26	b: {#B}
    27}
    28
    29embedScalarField: {
    30	a: {2} @attr1()
    31	a: {_} @attr2()
    32}
    33
    34embedScalarDecl: {
    35	b0: {2, @attr1()}
    36	b1: b0
    37	b2: {2, b0, @attr2()}
    38}
    39
    40dontMergeForDef: {
    41	a: {@decl1()}
    42	b: a & {x: 1, @decl2()}
    43	c: a & {@decl2()}
    44	d: {a, @decl2()}
    45}
    46
    47comprehensions: {
    48	@step(0)
    49	c1: {} @step(1)
    50	if true {
    51		c2: { @step(2a) } @step(2b)
    52		@step(2c)
    53	}
    54	c3: {} @step(3)
    55	if false {
    56		c4: { @step(4a) } @step(4b)
    57		@step(4c)
    58	}
    59}
    60
    61dynamicComplex: {
    62	a: "foo"
    63
    64	(a): "foo" @step(1)
    65
    66	[string]: "foo" @step(2)
    67
    68	a?: "foo" @step(3)
    69
    70	b?: "foo" @step(4)
    71
    72	if true {} // trigger isComplex
    73}
    74
    75dynamicSimple: {
    76	a: "foo"
    77
    78	a?: "foo" @step(3)
    79
    80	b?: "foo" @step(4)
    81}
    82-- b.cue --
    83@package("b")
    84
    85package bar
    86
    87@file("bar")
    88
    89a: {
    90	@decl(5)
    91} @field(5)
    92-- out/definition --
    93package bar
    94
    95@file("foo")
    96
    97@file("bar")
    98a: {
    99	@decl(1)
   100	@decl(2)
   101	@decl(3)
   102	@decl(5)
   103} @field(2) @field(1) @field(4) @field(3) @field(5)
   104doNotPropagate: {
   105	#A: {} @attr1()
   106	a: #A
   107
   108	// Do not accumulated field attributes in embedding.
   109	#B: {} @attr1()
   110	b: #B
   111}
   112embedScalarField: {
   113	a: 2 @attr1() @attr2()
   114}
   115embedScalarDecl: {
   116	b0: {
   117		@attr1()
   118		2
   119	}
   120	b1: b0
   121	b2: {
   122		@attr2()
   123		b0
   124		2
   125	}
   126}
   127dontMergeForDef: {
   128	a: {
   129		@decl1()
   130	}
   131	b: a & {
   132		@decl2()
   133		x: 1
   134	}
   135	c: a & {
   136		@decl2()
   137	}
   138	d: {
   139		@decl2()
   140		a
   141	}
   142}
   143comprehensions: {
   144	@step(0)
   145	c1: {} @step(1)
   146	if true {
   147		@step(2c)
   148		c2: {
   149			@step(2a)
   150		} @step(2b)
   151	}
   152	c3: {} @step(3)
   153	if false {
   154		@step(4c)
   155		c4: {
   156			@step(4a)
   157		} @step(4b)
   158	}
   159}
   160dynamicComplex: {
   161	a:        "foo"
   162	(a):      "foo" @step(1)
   163	[string]: "foo" @step(2)
   164	a?:       "foo" @step(3)
   165	b?:       "foo" @step(4)
   166
   167	if true {}
   168}
   169dynamicSimple: {
   170	a:  "foo" @step(3)
   171	b?: "foo" @step(4)
   172}
   173-- out/doc --
   174[]
   175[a]
   176[doNotPropagate]
   177[doNotPropagate #A]
   178[doNotPropagate a]
   179[doNotPropagate #B]
   180- Do not accumulated field attributes in embedding.
   181
   182[doNotPropagate b]
   183[embedScalarField]
   184[embedScalarField a]
   185[embedScalarDecl]
   186[embedScalarDecl b0]
   187[embedScalarDecl b1]
   188[embedScalarDecl b2]
   189[dontMergeForDef]
   190[dontMergeForDef a]
   191[dontMergeForDef b]
   192[dontMergeForDef b x]
   193[dontMergeForDef c]
   194[dontMergeForDef d]
   195[comprehensions]
   196[comprehensions c1]
   197[comprehensions c2]
   198[comprehensions c3]
   199[dynamicComplex]
   200[dynamicComplex a]
   201[dynamicComplex b]
   202[dynamicComplex foo]
   203[dynamicSimple]
   204[dynamicSimple a]
   205[dynamicSimple b]
   206-- out/value --
   207== Simplified
   208{
   209	a: {}
   210	doNotPropagate: {
   211		a: {}
   212		b: {}
   213	}
   214	embedScalarField: {
   215		a: 2
   216	}
   217	embedScalarDecl: {
   218		b0: 2
   219		b1: 2
   220		b2: 2
   221	}
   222	dontMergeForDef: {
   223		a: {}
   224		b: {
   225			x: 1
   226		}
   227		c: {}
   228		d: {}
   229	}
   230	comprehensions: {
   231		c1: {}
   232		c2: {}
   233		c3: {}
   234	}
   235	dynamicComplex: {
   236		foo: "foo"
   237		a:   "foo"
   238	}
   239	dynamicSimple: {
   240		a: "foo"
   241	}
   242}
   243== Raw
   244{
   245	a: {}
   246	doNotPropagate: {
   247		#A: {}
   248		a: {}
   249
   250		// Do not accumulated field attributes in embedding.
   251		#B: {}
   252		b: {}
   253	}
   254	embedScalarField: {
   255		a: 2
   256	}
   257	embedScalarDecl: {
   258		b0: 2
   259		b1: 2
   260		b2: 2
   261	}
   262	dontMergeForDef: {
   263		a: {}
   264		b: {
   265			x: 1
   266		}
   267		c: {}
   268		d: {}
   269	}
   270	comprehensions: {
   271		c1: {}
   272		c2: {}
   273		c3: {}
   274	}
   275	dynamicComplex: {
   276		foo: "foo"
   277		a:   "foo"
   278		b?:  "foo"
   279	}
   280	dynamicSimple: {
   281		a:  "foo"
   282		b?: "foo"
   283	}
   284}
   285== Final
   286{
   287	a: {}
   288	doNotPropagate: {
   289		a: {}
   290		b: {}
   291	}
   292	embedScalarField: {
   293		a: 2
   294	}
   295	embedScalarDecl: {
   296		b0: 2
   297		b1: 2
   298		b2: 2
   299	}
   300	dontMergeForDef: {
   301		a: {}
   302		b: {
   303			x: 1
   304		}
   305		c: {}
   306		d: {}
   307	}
   308	comprehensions: {
   309		c1: {}
   310		c2: {}
   311		c3: {}
   312	}
   313	dynamicComplex: {
   314		foo: "foo"
   315		a:   "foo"
   316	}
   317	dynamicSimple: {
   318		a: "foo"
   319	}
   320}
   321== All
   322{
   323	@file("foo")
   324
   325	@file("bar")
   326	a: {
   327		@decl(1)
   328		@decl(2)
   329		@decl(3)
   330		@decl(5)
   331	} @field(2) @field(1) @field(4) @field(3) @field(5)
   332	doNotPropagate: {
   333		#A: {} @attr1()
   334		a: {}
   335
   336		// Do not accumulated field attributes in embedding.
   337		#B: {} @attr1()
   338		b: {}
   339	}
   340	embedScalarField: {
   341		a: 2 @attr1() @attr2()
   342	}
   343	embedScalarDecl: {
   344		b0: {
   345			2, @attr1()
   346		}
   347		b1: {
   348			2, @attr1()
   349		}
   350		b2: {
   351			2, @attr2(), @attr1()
   352		}
   353	}
   354	dontMergeForDef: {
   355		a: {
   356			@decl1()
   357		}
   358		b: {
   359			@decl1(), @decl2()
   360			x: 1
   361		}
   362		c: {
   363			@decl1(), @decl2()
   364		}
   365		d: {
   366			@decl2(), @decl1()
   367		}
   368	}
   369	comprehensions: {
   370		@step(0)
   371		@step(2c)
   372		c1: {} @step(1)
   373		c2: {
   374			@step(2a)
   375		} @step(2b)
   376		c3: {} @step(3)
   377	}
   378	dynamicComplex: {
   379		foo: "foo" @step(1) @step(2)
   380		a:   "foo" @step(3) @step(2)
   381		b?:  "foo" @step(4) @step(2)
   382	}
   383	dynamicSimple: {
   384		a:  "foo" @step(3)
   385		b?: "foo" @step(4)
   386	}
   387}
   388== Eval
   389{
   390	@file("foo")
   391
   392	@file("bar")
   393	a: {
   394		@decl(1)
   395		@decl(2)
   396		@decl(3)
   397		@decl(5)
   398	} @field(2) @field(1) @field(4) @field(3) @field(5)
   399	doNotPropagate: {
   400		#A: {} @attr1()
   401		a: {}
   402		#B: {} @attr1()
   403		b: {}
   404	}
   405	embedScalarField: {
   406		a: 2 @attr1() @attr2()
   407	}
   408	embedScalarDecl: {
   409		b0: {
   410			2, @attr1()
   411		}
   412		b1: {
   413			2, @attr1()
   414		}
   415		b2: {
   416			2, @attr2(), @attr1()
   417		}
   418	}
   419	dontMergeForDef: {
   420		a: {
   421			@decl1()
   422		}
   423		b: {
   424			@decl1(), @decl2()
   425			x: 1
   426		}
   427		c: {
   428			@decl1(), @decl2()
   429		}
   430		d: {
   431			@decl2(), @decl1()
   432		}
   433	}
   434	comprehensions: {
   435		@step(0)
   436		@step(2c)
   437		c1: {} @step(1)
   438		c2: {
   439			@step(2a)
   440		} @step(2b)
   441		c3: {} @step(3)
   442	}
   443	dynamicComplex: {
   444		foo: "foo" @step(1) @step(2)
   445		a:   "foo" @step(3) @step(2)
   446		b?:  "foo" @step(4) @step(2)
   447	}
   448	dynamicSimple: {
   449		a:  "foo" @step(3)
   450		b?: "foo" @step(4)
   451	}
   452}

View as plain text