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