-- 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"
						}
						TokenPos: token.Pos("comprehensions.cue:2:3", nospace)
						Value: *ast.BasicLit{
							ValuePos: token.Pos("comprehensions.cue:2:5", blank)
							Kind: token.Token("true")
							Value: "true"
						}
					}
				}
				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)
						}
						TokenPos: token.Pos("comprehensions.cue:5:5", nospace)
						Value: *ast.Ident{
							NamePos: token.Pos("comprehensions.cue:5:7", blank)
							Name: "v"
							Node: @ref001 (*ast.Ident)
						}
					}
				}
				Rbrace: token.Pos("comprehensions.cue:6:1", newline)
			}
		}
	}
	LanguageVersion: "v0.13.0"
}
-- 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"
						}
					}
				}
			}
		}
	}
	LanguageVersion: "v0.13.0"
}
