kubernetes/vendor/github.com/google/cel-go/checker/checker.go

type checker

// Check performs type checking, giving a typed AST.
//
// The input is a parsed AST and an env which encapsulates type binding of variables,
// declarations of built-in functions, descriptions of protocol buffers, and a registry for
// errors.
//
// Returns a type-checked AST, which might not be usable if there are errors in the error
// registry.
func Check(parsed *ast.AST, source common.Source, env *Env) (*ast.AST, *common.Errors) {}

func (c *checker) check(e ast.Expr) {}

func (c *checker) checkIdent(e ast.Expr) {}

func (c *checker) checkSelect(e ast.Expr) {}

func (c *checker) checkOptSelect(e ast.Expr) {}

func (c *checker) checkSelectField(e, operand ast.Expr, field string, optional bool) *types.Type {}

func (c *checker) checkCall(e ast.Expr) {}

func (c *checker) resolveOverloadOrError(
	e ast.Expr, fn *decls.FunctionDecl, target ast.Expr, args []ast.Expr) {}

func (c *checker) resolveOverload(
	call ast.Expr, fn *decls.FunctionDecl, target ast.Expr, args []ast.Expr) *overloadResolution {}

func (c *checker) checkCreateList(e ast.Expr) {}

func (c *checker) checkCreateMap(e ast.Expr) {}

func (c *checker) checkCreateStruct(e ast.Expr) {}

func (c *checker) checkComprehension(e ast.Expr) {}

// Checks compatibility of joined types, and returns the most general common type.
func (c *checker) joinTypes(e ast.Expr, previous, current *types.Type) *types.Type {}

func (c *checker) dynAggregateLiteralElementTypesEnabled() bool {}

func (c *checker) newTypeVar() *types.Type {}

func (c *checker) isAssignable(t1, t2 *types.Type) bool {}

func (c *checker) isAssignableList(l1, l2 []*types.Type) bool {}

func maybeUnwrapString(e ast.Expr) (string, bool) {}

func (c *checker) setType(e ast.Expr, t *types.Type) {}

func (c *checker) getType(e ast.Expr) *types.Type {}

func (c *checker) setReference(e ast.Expr, r *ast.ReferenceInfo) {}

func (c *checker) assertType(e ast.Expr, t *types.Type) {}

type overloadResolution

func newResolution(r *ast.ReferenceInfo, t *types.Type) *overloadResolution {}

func (c *checker) location(e ast.Expr) common.Location {}

func (c *checker) locationByID(id int64) common.Location {}

func (c *checker) lookupFieldType(exprID int64, structType, fieldName string) (*types.Type, bool) {}

func isWellKnownType(t *types.Type) bool {}

func getWellKnownTypeName(t *types.Type) string {}

var wellKnownTypes