1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178
|
-- comprehensions.cue --
if condition {
a: true
}
for k, v in input if v > 2 {
(k): v
}
-- out/debugprint/comprehensions.cue --
*ast.File{
Filename: "comprehensions.cue"
Decls: []ast.Decl{
*ast.Comprehension{
Clauses: []ast.Clause{
*ast.IfClause{
If: token.Pos("comprehensions.cue:1:1", nospace)
Condition: *ast.Ident{
NamePos: token.Pos("comprehensions.cue:1:4", blank)
Name: "condition"
}
}
}
Value: *ast.StructLit{
Lbrace: token.Pos("comprehensions.cue:1:14", blank)
Elts: []ast.Decl{
*ast.Field{
Label: *ast.Ident{
NamePos: token.Pos("comprehensions.cue:2:2", newline)
Name: "a"
}
Optional: token.Pos("-")
Constraint: token.Token("ILLEGAL")
TokenPos: token.Pos("comprehensions.cue:2:3", nospace)
Token: token.Token(":")
Value: *ast.BasicLit{
ValuePos: token.Pos("comprehensions.cue:2:5", blank)
Kind: token.Token("true")
Value: "true"
}
Attrs: []*ast.Attribute{}
}
}
Rbrace: token.Pos("comprehensions.cue:3:1", newline)
}
}
*ast.Comprehension{
Clauses: []ast.Clause{
*ast.ForClause{
For: token.Pos("comprehensions.cue:4:1", newline)
Key: *ast.Ident@ref002{
NamePos: token.Pos("comprehensions.cue:4:5", blank)
Name: "k"
}
Colon: token.Pos("comprehensions.cue:4:6", nospace)
Value: *ast.Ident@ref001{
NamePos: token.Pos("comprehensions.cue:4:8", blank)
Name: "v"
}
In: token.Pos("comprehensions.cue:4:10", blank)
Source: *ast.Ident{
NamePos: token.Pos("comprehensions.cue:4:13", blank)
Name: "input"
}
}
*ast.IfClause{
If: token.Pos("comprehensions.cue:4:19", blank)
Condition: *ast.BinaryExpr{
X: *ast.Ident{
NamePos: token.Pos("comprehensions.cue:4:22", blank)
Name: "v"
Node: @ref001 (*ast.Ident)
}
OpPos: token.Pos("comprehensions.cue:4:24", blank)
Op: token.Token(">")
Y: *ast.BasicLit{
ValuePos: token.Pos("comprehensions.cue:4:26", blank)
Kind: token.Token("INT")
Value: "2"
}
}
}
}
Value: *ast.StructLit{
Lbrace: token.Pos("comprehensions.cue:4:28", blank)
Elts: []ast.Decl{
*ast.Field{
Label: *ast.ParenExpr{
Lparen: token.Pos("comprehensions.cue:5:2", newline)
X: *ast.Ident{
NamePos: token.Pos("comprehensions.cue:5:3", nospace)
Name: "k"
Node: @ref002 (*ast.Ident)
}
Rparen: token.Pos("comprehensions.cue:5:4", nospace)
}
Optional: token.Pos("-")
Constraint: token.Token("ILLEGAL")
TokenPos: token.Pos("comprehensions.cue:5:5", nospace)
Token: token.Token(":")
Value: *ast.Ident{
NamePos: token.Pos("comprehensions.cue:5:7", blank)
Name: "v"
Node: @ref001 (*ast.Ident)
}
Attrs: []*ast.Attribute{}
}
}
Rbrace: token.Pos("comprehensions.cue:6:1", newline)
}
}
}
Imports: []*ast.ImportSpec{}
}
-- out/debugprint/comprehensions.cue/omitempty-strings --
*ast.File{
Filename: "comprehensions.cue"
Decls: []ast.Decl{
*ast.Comprehension{
Clauses: []ast.Clause{
*ast.IfClause{
Condition: *ast.Ident{
Name: "condition"
}
}
}
Value: *ast.StructLit{
Elts: []ast.Decl{
*ast.Field{
Label: *ast.Ident{
Name: "a"
}
Value: *ast.BasicLit{
Value: "true"
}
}
}
}
}
*ast.Comprehension{
Clauses: []ast.Clause{
*ast.ForClause{
Key: *ast.Ident{
Name: "k"
}
Value: *ast.Ident{
Name: "v"
}
Source: *ast.Ident{
Name: "input"
}
}
*ast.IfClause{
Condition: *ast.BinaryExpr{
X: *ast.Ident{
Name: "v"
}
Y: *ast.BasicLit{
Value: "2"
}
}
}
}
Value: *ast.StructLit{
Elts: []ast.Decl{
*ast.Field{
Label: *ast.ParenExpr{
X: *ast.Ident{
Name: "k"
}
}
Value: *ast.Ident{
Name: "v"
}
}
}
}
}
}
}
|