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  }