cuelang.org/go@v0.13.0/internal/astinternal/testdata/debugprint/fields.txtar (about) 1 -- fields.cue -- 2 a: 1 @xml(,attr) 3 b: 2 @foo(a,b=4) @go(Foo) 4 c!: d?: string 5 X=e: [Y=string]: int 6 #Schema: { 7 name: string 8 ... 9 } 10 embed: { 11 #Schema 12 } 13 -- out/debugprint/fields.cue -- 14 *ast.File{ 15 Filename: "fields.cue" 16 Decls: []ast.Decl{ 17 *ast.Field{ 18 Label: *ast.Ident{ 19 NamePos: token.Pos("fields.cue:1:1", nospace) 20 Name: "a" 21 } 22 Optional: token.Pos("-") 23 Constraint: token.Token("ILLEGAL") 24 TokenPos: token.Pos("fields.cue:1:2", nospace) 25 Token: token.Token(":") 26 Value: *ast.BasicLit{ 27 ValuePos: token.Pos("fields.cue:1:4", blank) 28 Kind: token.Token("INT") 29 Value: "1" 30 } 31 Attrs: []*ast.Attribute{ 32 { 33 At: token.Pos("fields.cue:1:6", blank) 34 Text: "@xml(,attr)" 35 } 36 } 37 } 38 *ast.Field{ 39 Label: *ast.Ident{ 40 NamePos: token.Pos("fields.cue:2:1", newline) 41 Name: "b" 42 } 43 Optional: token.Pos("-") 44 Constraint: token.Token("ILLEGAL") 45 TokenPos: token.Pos("fields.cue:2:2", nospace) 46 Token: token.Token(":") 47 Value: *ast.BasicLit{ 48 ValuePos: token.Pos("fields.cue:2:4", blank) 49 Kind: token.Token("INT") 50 Value: "2" 51 } 52 Attrs: []*ast.Attribute{ 53 { 54 At: token.Pos("fields.cue:2:6", blank) 55 Text: "@foo(a,b=4)" 56 } 57 { 58 At: token.Pos("fields.cue:2:18", blank) 59 Text: "@go(Foo)" 60 } 61 } 62 } 63 *ast.Field{ 64 Label: *ast.Ident{ 65 NamePos: token.Pos("fields.cue:3:1", newline) 66 Name: "c" 67 } 68 Optional: token.Pos("fields.cue:3:2", nospace) 69 Constraint: token.Token("!") 70 TokenPos: token.Pos("fields.cue:3:3", nospace) 71 Token: token.Token(":") 72 Value: *ast.StructLit{ 73 Lbrace: token.Pos("-") 74 Elts: []ast.Decl{ 75 *ast.Field{ 76 Label: *ast.Ident{ 77 NamePos: token.Pos("fields.cue:3:5", blank) 78 Name: "d" 79 } 80 Optional: token.Pos("fields.cue:3:6", nospace) 81 Constraint: token.Token("?") 82 TokenPos: token.Pos("fields.cue:3:7", nospace) 83 Token: token.Token(":") 84 Value: *ast.Ident{ 85 NamePos: token.Pos("fields.cue:3:9", blank) 86 Name: "string" 87 } 88 Attrs: []*ast.Attribute{} 89 } 90 } 91 Rbrace: token.Pos("-") 92 } 93 Attrs: []*ast.Attribute{} 94 } 95 *ast.Field{ 96 Label: *ast.Alias{ 97 Ident: *ast.Ident{ 98 NamePos: token.Pos("fields.cue:4:1", newline) 99 Name: "X" 100 } 101 Equal: token.Pos("fields.cue:4:2", nospace) 102 Expr: *ast.Ident{ 103 NamePos: token.Pos("fields.cue:4:3", nospace) 104 Name: "e" 105 } 106 } 107 Optional: token.Pos("-") 108 Constraint: token.Token("ILLEGAL") 109 TokenPos: token.Pos("fields.cue:4:4", nospace) 110 Token: token.Token(":") 111 Value: *ast.StructLit{ 112 Lbrace: token.Pos("-") 113 Elts: []ast.Decl{ 114 *ast.Field{ 115 Label: *ast.ListLit{ 116 Lbrack: token.Pos("fields.cue:4:6", blank) 117 Elts: []ast.Expr{ 118 *ast.Alias{ 119 Ident: *ast.Ident{ 120 NamePos: token.Pos("fields.cue:4:7", nospace) 121 Name: "Y" 122 } 123 Equal: token.Pos("fields.cue:4:8", nospace) 124 Expr: *ast.Ident{ 125 NamePos: token.Pos("fields.cue:4:9", nospace) 126 Name: "string" 127 } 128 } 129 } 130 Rbrack: token.Pos("fields.cue:4:15", nospace) 131 } 132 Optional: token.Pos("-") 133 Constraint: token.Token("ILLEGAL") 134 TokenPos: token.Pos("fields.cue:4:16", nospace) 135 Token: token.Token(":") 136 Value: *ast.Ident{ 137 NamePos: token.Pos("fields.cue:4:18", blank) 138 Name: "int" 139 } 140 Attrs: []*ast.Attribute{} 141 } 142 } 143 Rbrace: token.Pos("-") 144 } 145 Attrs: []*ast.Attribute{} 146 } 147 *ast.Field{ 148 Label: *ast.Ident{ 149 NamePos: token.Pos("fields.cue:5:1", newline) 150 Name: "#Schema" 151 } 152 Optional: token.Pos("-") 153 Constraint: token.Token("ILLEGAL") 154 TokenPos: token.Pos("fields.cue:5:8", nospace) 155 Token: token.Token(":") 156 Value: *ast.StructLit@ref001{ 157 Lbrace: token.Pos("fields.cue:5:10", blank) 158 Elts: []ast.Decl{ 159 *ast.Field{ 160 Label: *ast.Ident{ 161 NamePos: token.Pos("fields.cue:6:2", newline) 162 Name: "name" 163 } 164 Optional: token.Pos("-") 165 Constraint: token.Token("ILLEGAL") 166 TokenPos: token.Pos("fields.cue:6:6", nospace) 167 Token: token.Token(":") 168 Value: *ast.Ident{ 169 NamePos: token.Pos("fields.cue:6:8", blank) 170 Name: "string" 171 } 172 Attrs: []*ast.Attribute{} 173 } 174 *ast.Ellipsis{ 175 Ellipsis: token.Pos("fields.cue:7:2", newline) 176 Type: nil 177 } 178 } 179 Rbrace: token.Pos("fields.cue:8:1", newline) 180 } 181 Attrs: []*ast.Attribute{} 182 } 183 *ast.Field{ 184 Label: *ast.Ident{ 185 NamePos: token.Pos("fields.cue:9:1", newline) 186 Name: "embed" 187 } 188 Optional: token.Pos("-") 189 Constraint: token.Token("ILLEGAL") 190 TokenPos: token.Pos("fields.cue:9:6", nospace) 191 Token: token.Token(":") 192 Value: *ast.StructLit{ 193 Lbrace: token.Pos("fields.cue:9:8", blank) 194 Elts: []ast.Decl{ 195 *ast.EmbedDecl{ 196 Expr: *ast.Ident{ 197 NamePos: token.Pos("fields.cue:10:2", newline) 198 Name: "#Schema" 199 Node: @ref001 (*ast.StructLit) 200 } 201 } 202 } 203 Rbrace: token.Pos("fields.cue:11:1", newline) 204 } 205 Attrs: []*ast.Attribute{} 206 } 207 } 208 Imports: []*ast.ImportSpec{} 209 } 210 -- out/debugprint/fields.cue/omitempty-strings -- 211 *ast.File{ 212 Filename: "fields.cue" 213 Decls: []ast.Decl{ 214 *ast.Field{ 215 Label: *ast.Ident{ 216 Name: "a" 217 } 218 Value: *ast.BasicLit{ 219 Value: "1" 220 } 221 Attrs: []*ast.Attribute{ 222 { 223 Text: "@xml(,attr)" 224 } 225 } 226 } 227 *ast.Field{ 228 Label: *ast.Ident{ 229 Name: "b" 230 } 231 Value: *ast.BasicLit{ 232 Value: "2" 233 } 234 Attrs: []*ast.Attribute{ 235 { 236 Text: "@foo(a,b=4)" 237 } 238 { 239 Text: "@go(Foo)" 240 } 241 } 242 } 243 *ast.Field{ 244 Label: *ast.Ident{ 245 Name: "c" 246 } 247 Value: *ast.StructLit{ 248 Elts: []ast.Decl{ 249 *ast.Field{ 250 Label: *ast.Ident{ 251 Name: "d" 252 } 253 Value: *ast.Ident{ 254 Name: "string" 255 } 256 } 257 } 258 } 259 } 260 *ast.Field{ 261 Label: *ast.Alias{ 262 Ident: *ast.Ident{ 263 Name: "X" 264 } 265 Expr: *ast.Ident{ 266 Name: "e" 267 } 268 } 269 Value: *ast.StructLit{ 270 Elts: []ast.Decl{ 271 *ast.Field{ 272 Label: *ast.ListLit{ 273 Elts: []ast.Expr{ 274 *ast.Alias{ 275 Ident: *ast.Ident{ 276 Name: "Y" 277 } 278 Expr: *ast.Ident{ 279 Name: "string" 280 } 281 } 282 } 283 } 284 Value: *ast.Ident{ 285 Name: "int" 286 } 287 } 288 } 289 } 290 } 291 *ast.Field{ 292 Label: *ast.Ident{ 293 Name: "#Schema" 294 } 295 Value: *ast.StructLit{ 296 Elts: []ast.Decl{ 297 *ast.Field{ 298 Label: *ast.Ident{ 299 Name: "name" 300 } 301 Value: *ast.Ident{ 302 Name: "string" 303 } 304 } 305 } 306 } 307 } 308 *ast.Field{ 309 Label: *ast.Ident{ 310 Name: "embed" 311 } 312 Value: *ast.StructLit{ 313 Elts: []ast.Decl{ 314 *ast.EmbedDecl{ 315 Expr: *ast.Ident{ 316 Name: "#Schema" 317 } 318 } 319 } 320 } 321 } 322 } 323 }