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

Method generate_parameter

compiler/fory_compiler/generators/scala.py:546–564  ·  view source on GitHub ↗
(self, field: Field, parent_stack: List[Message])

Source from the content-addressed store, hash-verified

544 return lines
545
546 def generate_parameter(self, field: Field, parent_stack: List[Message]) -> str:
547 field_name = self.safe_identifier(self.to_camel_case(field.name))
548 field_type = self.generate_type(
549 field.field_type,
550 nullable=field.optional,
551 element_optional=field.element_optional,
552 element_ref=field.element_ref,
553 # Message constructor parameters use @Ref on the parameter for
554 # top-level ref metadata. Nested refs still flow through
555 # element_ref/value_ref type-use annotations.
556 top_level_ref=False,
557 parent_stack=parent_stack,
558 )
559 ref_annotation = (
560 "@Ref "
561 if field.ref and self.is_ref_target_type(field.field_type, parent_stack)
562 else ""
563 )
564 return f"{ref_annotation}@ForyField(id = {field.number}) {field_name}: {field_type}"
565
566 def generate_type(
567 self,

Callers 1

generate_case_classMethod · 0.95

Calls 4

safe_identifierMethod · 0.95
generate_typeMethod · 0.95
is_ref_target_typeMethod · 0.95
to_camel_caseMethod · 0.80

Tested by

no test coverage detected