github.com/joomcode/cue@v0.4.4-0.20221111115225-539fe3512047/internal/core/export/testdata/attrs.txtar (about)

     1  -- a.cue --
     2  @package("foo")
     3  
     4  package bar
     5  
     6  @file("foo")
     7  
     8  a: {
     9  	@decl(1)
    10  	@decl(2)
    11  } @field(2)
    12  
    13  a: {
    14  	@decl(1)
    15  	@decl(3)
    16  } @field(1) @field(4)
    17  
    18  a: {} @field(1) @field(3)
    19  
    20  doNotPropagate: {
    21  	#A: {} @attr1()
    22  	a: #A
    23  
    24  	// Do not accumulated field attributes in embedding.
    25  	#B: {} @attr1()
    26  	b: {#B}
    27  }
    28  
    29  embedScalarField: {
    30  	a: {2} @attr1()
    31  	a: {_} @attr2()
    32  }
    33  
    34  embedScalarDecl: {
    35  	b0: {2, @attr1()}
    36  	b1: b0
    37  	b2: {2, b0, @attr2()}
    38  }
    39  
    40  dontMergeForDef: {
    41  	a: {@decl1()}
    42  	b: a & {x: 1, @decl2()}
    43  	c: a & {@decl2()}
    44  	d: {a, @decl2()}
    45  }
    46  -- b.cue --
    47  @package("b")
    48  
    49  package bar
    50  
    51  @file("bar")
    52  
    53  a: {
    54  	@decl(5)
    55  } @field(5)
    56  -- out/definition --
    57  package bar
    58  
    59  @file("foo")
    60  
    61  @file("bar")
    62  a: {
    63  	@decl(1)
    64  	@decl(2)
    65  	@decl(3)
    66  	@decl(5)
    67  } @field(2) @field(1) @field(4) @field(3) @field(5)
    68  doNotPropagate: {
    69  	#A: {} @attr1()
    70  	a: #A
    71  
    72  	// Do not accumulated field attributes in embedding.
    73  	#B: {} @attr1()
    74  	b: #B
    75  }
    76  embedScalarField: {
    77  	a: 2 @attr1() @attr2()
    78  }
    79  embedScalarDecl: {
    80  	b0: {
    81  		@attr1()
    82  		2
    83  	}
    84  	b1: b0
    85  	b2: {
    86  		@attr2()
    87  		b0
    88  		2
    89  	}
    90  }
    91  dontMergeForDef: {
    92  	a: {
    93  		@decl1()
    94  	}
    95  	b: a & {
    96  		@decl2()
    97  		x: 1
    98  	}
    99  	c: a & {
   100  		@decl2()
   101  	}
   102  	d: {
   103  		@decl2()
   104  		a
   105  	}
   106  }
   107  -- out/doc --
   108  []
   109  [a]
   110  [doNotPropagate]
   111  [doNotPropagate #A]
   112  [doNotPropagate a]
   113  [doNotPropagate #B]
   114  - Do not accumulated field attributes in embedding.
   115  
   116  [doNotPropagate b]
   117  [embedScalarField]
   118  [embedScalarField a]
   119  [embedScalarDecl]
   120  [embedScalarDecl b0]
   121  [embedScalarDecl b1]
   122  [embedScalarDecl b2]
   123  [dontMergeForDef]
   124  [dontMergeForDef a]
   125  [dontMergeForDef b]
   126  [dontMergeForDef b x]
   127  [dontMergeForDef c]
   128  [dontMergeForDef d]
   129  -- out/value --
   130  == Simplified
   131  {
   132  	a: {}
   133  	doNotPropagate: {
   134  		a: {}
   135  		b: {}
   136  	}
   137  	embedScalarField: {
   138  		a: 2
   139  	}
   140  	embedScalarDecl: {
   141  		b0: 2
   142  		b1: 2
   143  		b2: 2
   144  	}
   145  	dontMergeForDef: {
   146  		a: {}
   147  		b: {
   148  			x: 1
   149  		}
   150  		c: {}
   151  		d: {}
   152  	}
   153  }
   154  == Raw
   155  {
   156  	a: {}
   157  	doNotPropagate: {
   158  		#A: {}
   159  		a: {}
   160  
   161  		// Do not accumulated field attributes in embedding.
   162  		#B: {}
   163  		b: {}
   164  	}
   165  	embedScalarField: {
   166  		a: 2
   167  	}
   168  	embedScalarDecl: {
   169  		b0: 2
   170  		b1: 2
   171  		b2: 2
   172  	}
   173  	dontMergeForDef: {
   174  		a: {}
   175  		b: {
   176  			x: 1
   177  		}
   178  		c: {}
   179  		d: {}
   180  	}
   181  }
   182  == Final
   183  {
   184  	a: {}
   185  	doNotPropagate: {
   186  		a: {}
   187  		b: {}
   188  	}
   189  	embedScalarField: {
   190  		a: 2
   191  	}
   192  	embedScalarDecl: {
   193  		b0: 2
   194  		b1: 2
   195  		b2: 2
   196  	}
   197  	dontMergeForDef: {
   198  		a: {}
   199  		b: {
   200  			x: 1
   201  		}
   202  		c: {}
   203  		d: {}
   204  	}
   205  }
   206  == All
   207  {
   208  	@file("foo")
   209  
   210  	@file("bar")
   211  	a: {
   212  		@decl(1)
   213  		@decl(2)
   214  		@decl(3)
   215  		@decl(5)
   216  	} @field(2) @field(1) @field(4) @field(3) @field(5)
   217  	doNotPropagate: {
   218  		#A: {} @attr1()
   219  		a: {}
   220  
   221  		// Do not accumulated field attributes in embedding.
   222  		#B: {} @attr1()
   223  		b: {}
   224  	}
   225  	embedScalarField: {
   226  		a: 2 @attr1() @attr2()
   227  	}
   228  	embedScalarDecl: {
   229  		b0: {
   230  			2, @attr1()
   231  		}
   232  		b1: {
   233  			2, @attr1()
   234  		}
   235  		b2: {
   236  			2, @attr2(), @attr1()
   237  		}
   238  	}
   239  	dontMergeForDef: {
   240  		a: {
   241  			@decl1()
   242  		}
   243  		b: {
   244  			@decl1(), @decl2()
   245  			x: 1
   246  		}
   247  		c: {
   248  			@decl1(), @decl2()
   249  		}
   250  		d: {
   251  			@decl2(), @decl1()
   252  		}
   253  	}
   254  }
   255  == Eval
   256  {
   257  	@file("foo")
   258  
   259  	@file("bar")
   260  	a: {
   261  		@decl(1)
   262  		@decl(2)
   263  		@decl(3)
   264  		@decl(5)
   265  	} @field(2) @field(1) @field(4) @field(3) @field(5)
   266  	doNotPropagate: {
   267  		#A: {} @attr1()
   268  		a: {}
   269  		#B: {} @attr1()
   270  		b: {}
   271  	}
   272  	embedScalarField: {
   273  		a: 2 @attr1() @attr2()
   274  	}
   275  	embedScalarDecl: {
   276  		b0: {
   277  			2, @attr1()
   278  		}
   279  		b1: {
   280  			2, @attr1()
   281  		}
   282  		b2: {
   283  			2, @attr2(), @attr1()
   284  		}
   285  	}
   286  	dontMergeForDef: {
   287  		a: {
   288  			@decl1()
   289  		}
   290  		b: {
   291  			@decl1(), @decl2()
   292  			x: 1
   293  		}
   294  		c: {
   295  			@decl1(), @decl2()
   296  		}
   297  		d: {
   298  			@decl2(), @decl1()
   299  		}
   300  	}
   301  }