mirror of
https://github.com/ceph/ceph-csi.git
synced 2025-06-14 18:53:35 +00:00
rebase: bump the k8s-dependencies group in /e2e with 3 updates
Bumps the k8s-dependencies group in /e2e with 3 updates: [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery), [k8s.io/cloud-provider](https://github.com/kubernetes/cloud-provider) and [k8s.io/pod-security-admission](https://github.com/kubernetes/pod-security-admission). Updates `k8s.io/apimachinery` from 0.32.3 to 0.33.0 - [Commits](https://github.com/kubernetes/apimachinery/compare/v0.32.3...v0.33.0) Updates `k8s.io/cloud-provider` from 0.32.3 to 0.33.0 - [Commits](https://github.com/kubernetes/cloud-provider/compare/v0.32.3...v0.33.0) Updates `k8s.io/pod-security-admission` from 0.32.3 to 0.33.0 - [Commits](https://github.com/kubernetes/pod-security-admission/compare/v0.32.3...v0.33.0) --- updated-dependencies: - dependency-name: k8s.io/apimachinery dependency-version: 0.33.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: k8s-dependencies - dependency-name: k8s.io/cloud-provider dependency-version: 0.33.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: k8s-dependencies - dependency-name: k8s.io/pod-security-admission dependency-version: 0.33.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: k8s-dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
This commit is contained in:
committed by
mergify[bot]
parent
d52dc2c4ba
commit
dd77e72800
63
e2e/vendor/github.com/google/cel-go/interpreter/prune.go
generated
vendored
63
e2e/vendor/github.com/google/cel-go/interpreter/prune.go
generated
vendored
@ -88,7 +88,7 @@ func PruneAst(expr ast.Expr, macroCalls map[int64]ast.Expr, state EvalState) *as
|
||||
|
||||
func (p *astPruner) maybeCreateLiteral(id int64, val ref.Val) (ast.Expr, bool) {
|
||||
switch v := val.(type) {
|
||||
case types.Bool, types.Bytes, types.Double, types.Int, types.Null, types.String, types.Uint:
|
||||
case types.Bool, types.Bytes, types.Double, types.Int, types.Null, types.String, types.Uint, *types.Optional:
|
||||
p.state.SetValue(id, val)
|
||||
return p.NewLiteral(id, val), true
|
||||
case types.Duration:
|
||||
@ -281,13 +281,29 @@ func (p *astPruner) prune(node ast.Expr) (ast.Expr, bool) {
|
||||
}
|
||||
if macro, found := p.macroCalls[node.ID()]; found {
|
||||
// Ensure that intermediate values for the comprehension are cleared during pruning
|
||||
pruneMacroCall := node.Kind() != ast.UnspecifiedExprKind
|
||||
if node.Kind() == ast.ComprehensionKind {
|
||||
compre := node.AsComprehension()
|
||||
visit(macro, clearIterVarVisitor(compre.IterVar(), p.state))
|
||||
// Only prune cel.bind() calls since the variables of the comprehension are all
|
||||
// visible to the user, so there's no chance of an incorrect value being observed
|
||||
// as a result of looking at intermediate computations within a comprehension.
|
||||
pruneMacroCall = isCelBindMacro(macro)
|
||||
}
|
||||
// prune the expression in terms of the macro call instead of the expanded form.
|
||||
if newMacro, pruned := p.prune(macro); pruned {
|
||||
p.macroCalls[node.ID()] = newMacro
|
||||
if pruneMacroCall {
|
||||
// prune the expression in terms of the macro call instead of the expanded form when
|
||||
// dealing with macro call tracking references.
|
||||
if newMacro, pruned := p.prune(macro); pruned {
|
||||
p.macroCalls[node.ID()] = newMacro
|
||||
}
|
||||
} else {
|
||||
// Otherwise just prune the macro target in keeping with the pruning behavior of the
|
||||
// comprehensions later in the call graph.
|
||||
macroCall := macro.AsCall()
|
||||
if macroCall.Target() != nil {
|
||||
if newTarget, pruned := p.prune(macroCall.Target()); pruned {
|
||||
macro = p.NewMemberCall(macro.ID(), macroCall.FunctionName(), newTarget, macroCall.Args()...)
|
||||
p.macroCalls[node.ID()] = macro
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -421,6 +437,19 @@ func (p *astPruner) prune(node ast.Expr) (ast.Expr, bool) {
|
||||
// the last iteration of the comprehension and not each step in the evaluation which
|
||||
// means that the any residuals computed in between might be inaccurate.
|
||||
if newRange, pruned := p.maybePrune(compre.IterRange()); pruned {
|
||||
if compre.HasIterVar2() {
|
||||
return p.NewComprehensionTwoVar(
|
||||
node.ID(),
|
||||
newRange,
|
||||
compre.IterVar(),
|
||||
compre.IterVar2(),
|
||||
compre.AccuVar(),
|
||||
compre.AccuInit(),
|
||||
compre.LoopCondition(),
|
||||
compre.LoopStep(),
|
||||
compre.Result(),
|
||||
), true
|
||||
}
|
||||
return p.NewComprehension(
|
||||
node.ID(),
|
||||
newRange,
|
||||
@ -468,16 +497,6 @@ func getMaxID(expr ast.Expr) int64 {
|
||||
return maxID
|
||||
}
|
||||
|
||||
func clearIterVarVisitor(varName string, state EvalState) astVisitor {
|
||||
return astVisitor{
|
||||
visitExpr: func(e ast.Expr) {
|
||||
if e.Kind() == ast.IdentKind && e.AsIdent() == varName {
|
||||
state.SetValue(e.ID(), nil)
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func maxIDVisitor(maxID *int64) astVisitor {
|
||||
return astVisitor{
|
||||
visitExpr: func(e ast.Expr) {
|
||||
@ -541,3 +560,15 @@ func visit(expr ast.Expr, visitor astVisitor) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func isCelBindMacro(macro ast.Expr) bool {
|
||||
if macro.Kind() != ast.CallKind {
|
||||
return false
|
||||
}
|
||||
macroCall := macro.AsCall()
|
||||
target := macroCall.Target()
|
||||
return macroCall.FunctionName() == "bind" &&
|
||||
macroCall.IsMemberFunction() &&
|
||||
target.Kind() == ast.IdentKind &&
|
||||
target.AsIdent() == "cel"
|
||||
}
|
||||
|
Reference in New Issue
Block a user