MCPcopy Create free account
hub / github.com/cel-expr/cel-cpp / RegisterOptionalDecls

Function RegisterOptionalDecls

checker/optional.cc:119–232  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

117};
118
119absl::Status RegisterOptionalDecls(TypeCheckerBuilder& builder, int version) {
120 CEL_ASSIGN_OR_RETURN(
121 auto of,
122 MakeFunctionDecl(OptionalNames::kOptionalOf,
123 MakeOverloadDecl(OptionalOverloads::kOptionalOf,
124 OptionalOfV(), TypeParamType("V"))));
125
126 CEL_ASSIGN_OR_RETURN(
127 auto of_non_zero,
128 MakeFunctionDecl(
129 OptionalNames::kOptionalOfNonZeroValue,
130 MakeOverloadDecl(OptionalOverloads::kOptionalOfNonZeroValue,
131 OptionalOfV(), TypeParamType("V"))));
132
133 CEL_ASSIGN_OR_RETURN(
134 auto none,
135 MakeFunctionDecl(
136 OptionalNames::kOptionalNone,
137 MakeOverloadDecl(OptionalOverloads::kOptionalNone, OptionalOfV())));
138
139 CEL_ASSIGN_OR_RETURN(
140 auto value, MakeFunctionDecl(OptionalNames::kOptionalValue,
141 MakeMemberOverloadDecl(
142 OptionalOverloads::kOptionalValue,
143 TypeParamType("V"), OptionalOfV())));
144
145 CEL_ASSIGN_OR_RETURN(
146 auto has_value, MakeFunctionDecl(OptionalNames::kOptionalHasValue,
147 MakeMemberOverloadDecl(
148 OptionalOverloads::kOptionalHasValue,
149 BoolType(), OptionalOfV())));
150
151 CEL_ASSIGN_OR_RETURN(
152 auto or_,
153 MakeFunctionDecl(
154 OptionalNames::kOptionalOr,
155 MakeMemberOverloadDecl(OptionalOverloads::kOptionalOr, OptionalOfV(),
156 OptionalOfV(), OptionalOfV())));
157
158 CEL_ASSIGN_OR_RETURN(auto or_value,
159 MakeFunctionDecl(OptionalNames::kOptionalOrValue,
160 MakeMemberOverloadDecl(
161 OptionalOverloads::kOptionalOrValue,
162 TypeParamType("V"), OptionalOfV(),
163 TypeParamType("V"))));
164
165 // This is special cased by the type checker -- just adding a Decl to prevent
166 // accidental user overloading.
167 CEL_ASSIGN_OR_RETURN(
168 auto select,
169 MakeFunctionDecl(
170 OptionalNames::kOptionalSelect,
171 MakeOverloadDecl(OptionalOverloads::kOptionalSelect, OptionalOfV(),
172 DynType(), StringType())));
173
174 CEL_ASSIGN_OR_RETURN(
175 auto opt_index,
176 MakeFunctionDecl(

Callers 1

OptionalCheckerLibraryFunction · 0.85

Calls 5

MakeVariableDeclFunction · 0.85
TypeOfOptionalOfVFunction · 0.85
AddVariableMethod · 0.80
MergeFunctionMethod · 0.80
AddFunctionMethod · 0.45

Tested by

no test coverage detected