Freeciv-3.3
Loading...
Searching...
No Matches
Public Member Functions | Data Fields | Static Public Attributes | Protected Member Functions | Static Protected Member Functions
generate_packets.TypeRegistry Class Reference

Public Member Functions

 __init__ (self, FieldTypeConstructor fallback)
 
RawFieldType parse (self, str type_text)
 
RawFieldType __call__ (self, str dataio_type, str public_type)
 

Data Fields

 dataio_types
 
 dataio_patterns
 
 public_types
 
 public_patterns
 
 fallback
 

Static Public Attributes

 TYPE_INFO_PATTERN = re.compile(r"^([^()]*)\‍(([^()]*)\‍)$")
 
str dataio_types : "dict[str, FieldTypeConstructor]"
 
str dataio_patterns : "dict[typing.Pattern[str], FieldTypeConstructor]"
 
str public_types : "dict[str, FieldTypeConstructor]"
 
str public_patterns : "dict[typing.Pattern[str], FieldTypeConstructor]"
 
FieldTypeConstructor fallback
 

Protected Member Functions

RawFieldType _by_public (self, str dataio_type, str public_type)
 

Static Protected Member Functions

FieldTypeConstructor _resolve (str key, "dict[str, FieldTypeConstructor]" direct, "dict[typing.Pattern[str], FieldTypeConstructor]" patterns, FieldTypeConstructor fallback)
 

Detailed Description

Determines what Python class to use for field types based on their
dataio type and public type.

Definition at line 668 of file generate_packets.py.

Constructor & Destructor Documentation

◆ __init__()

generate_packets.TypeRegistry.__init__ (   self,
FieldTypeConstructor  fallback 
)

Definition at line 732 of file generate_packets.py.

Member Function Documentation

◆ __call__()

RawFieldType generate_packets.TypeRegistry.__call__ (   self,
str  dataio_type,
str  public_type 
)

Definition at line 746 of file generate_packets.py.

◆ _by_public()

RawFieldType generate_packets.TypeRegistry._by_public (   self,
str  dataio_type,
str  public_type 
)
protected

Definition at line 750 of file generate_packets.py.

◆ _resolve()

FieldTypeConstructor generate_packets.TypeRegistry._resolve ( str  key,
"dict[str, FieldTypeConstructor]"  direct,
"dict[typing.Pattern[str], FieldTypeConstructor]"  patterns,
FieldTypeConstructor   fallback 
)
staticprotected
Helper function. Figures out which constructor to use for a given
key (dataio type or public type), and caches the result.

Definition at line 708 of file generate_packets.py.

◆ parse()

RawFieldType generate_packets.TypeRegistry.parse (   self,
str  type_text 
)
Parse a single field type

Definition at line 739 of file generate_packets.py.

Field Documentation

◆ dataio_patterns [1/2]

str generate_packets.TypeRegistry.dataio_patterns : "dict[typing.Pattern[str], FieldTypeConstructor]"
static

Definition at line 686 of file generate_packets.py.

◆ dataio_patterns [2/2]

generate_packets.TypeRegistry.dataio_patterns

Definition at line 734 of file generate_packets.py.

◆ dataio_types [1/2]

str generate_packets.TypeRegistry.dataio_types : "dict[str, FieldTypeConstructor]"
static

Definition at line 679 of file generate_packets.py.

◆ dataio_types [2/2]

generate_packets.TypeRegistry.dataio_types

Definition at line 733 of file generate_packets.py.

◆ fallback [1/2]

FieldTypeConstructor generate_packets.TypeRegistry.fallback
static

Definition at line 703 of file generate_packets.py.

◆ fallback [2/2]

generate_packets.TypeRegistry.fallback

Definition at line 737 of file generate_packets.py.

◆ public_patterns [1/2]

str generate_packets.TypeRegistry.public_patterns : "dict[typing.Pattern[str], FieldTypeConstructor]"
static

Definition at line 698 of file generate_packets.py.

◆ public_patterns [2/2]

generate_packets.TypeRegistry.public_patterns

Definition at line 736 of file generate_packets.py.

◆ public_types [1/2]

str generate_packets.TypeRegistry.public_types : "dict[str, FieldTypeConstructor]"
static

Definition at line 692 of file generate_packets.py.

◆ public_types [2/2]

generate_packets.TypeRegistry.public_types

Definition at line 735 of file generate_packets.py.

◆ TYPE_INFO_PATTERN

generate_packets.TypeRegistry.TYPE_INFO_PATTERN = re.compile(r"^([^()]*)\‍(([^()]*)\‍)$")
static

Definition at line 672 of file generate_packets.py.