MCPcopy Create free account
hub / github.com/apache/fory / validate_enum

Method validate_enum

compiler/fory_compiler/ir/validator.py:250–266  ·  view source on GitHub ↗
(enum: Enum, parent_path: str = "")

Source from the content-addressed store, hash-verified

248 validate_message(nested_msg, full_name)
249
250 def validate_enum(enum: Enum, parent_path: str = ""):
251 full_name = f"{parent_path}.{enum.name}" if parent_path else enum.name
252 value_numbers = {}
253 value_names = {}
254 for v in enum.values:
255 if v.value in value_numbers:
256 self._error(
257 f"Duplicate enum value {v.value} in {full_name}: {v.name} and {value_numbers[v.value].name}",
258 v.location,
259 )
260 value_numbers.setdefault(v.value, v)
261 if v.name in value_names:
262 self._error(
263 f"Duplicate enum value name in {full_name}: {v.name}",
264 v.location,
265 )
266 value_names.setdefault(v.name, v)
267
268 def validate_union(union: Union, parent_path: str = ""):
269 full_name = f"{parent_path}.{union.name}" if parent_path else union.name

Callers

nothing calls this directly

Calls 2

_errorMethod · 0.95
setdefaultMethod · 0.80

Tested by

no test coverage detected