cue: rename RequireConcrete to Concrete
This is more consistent and also allows it to be used
for Syntax to select less evaluation.
Change-Id: I0103c7edd3d523c33df0d0575299b02e2d38adfe
Reviewed-on: https://cue-review.googlesource.com/c/cue/+/1922
Reviewed-by: Marcel van Lohuizen <mpvl@google.com>
diff --git a/cmd/cue/cmd/eval.go b/cmd/cue/cmd/eval.go
index 4f6d9f6..99bf30b 100644
--- a/cmd/cue/cmd/eval.go
+++ b/cmd/cue/cmd/eval.go
@@ -68,7 +68,7 @@
cue.Optional(*all || *optional),
}
if *compile {
- syn = append(syn, cue.RequireConcrete())
+ syn = append(syn, cue.Concrete(true))
}
if *hidden || *all {
syn = append(syn, cue.Hidden(true))
@@ -80,7 +80,7 @@
if exprs == nil {
v := inst.Value()
if *compile {
- err := v.Validate(cue.RequireConcrete())
+ err := v.Validate(cue.Concrete(true))
exitIfErr(cmd, inst, err, false)
continue
}
diff --git a/cmd/cue/cmd/vet.go b/cmd/cue/cmd/vet.go
index c2799f3..cfceecc 100644
--- a/cmd/cue/cmd/vet.go
+++ b/cmd/cue/cmd/vet.go
@@ -59,7 +59,7 @@
opt := []cue.Option{
cue.Attributes(true),
cue.Optional(true),
- cue.RequireConcrete(),
+ cue.Concrete(true),
cue.Hidden(true),
}
err := inst.Value().Validate(opt...)
diff --git a/cue/types.go b/cue/types.go
index 3bf6637..11be127 100644
--- a/cue/types.go
+++ b/cue/types.go
@@ -1006,15 +1006,19 @@
// TODO: could also be used for subsumption.
-// RequireConcrete ensures that all values are concrete.
+// Concrete ensures that all values are concrete.
//
// For Validate this means it returns an error if this is not the case.
// In other cases a non-concrete value will be replaced with an error.
-func RequireConcrete() Option {
+func Concrete(concrete bool) Option {
return func(p *options) {
- p.concrete = true
- if !p.hasHidden {
- p.omitHidden = true
+ if concrete {
+ p.concrete = true
+ if !p.hasHidden {
+ p.omitHidden = true
+ }
+ } else {
+ p.raw = true
}
}
}