blark.transform.IndirectSimpleSpecification
- class blark.transform.IndirectSimpleSpecification(indirection: IndirectionType | None, type: SimpleSpecification, init_parameters: List[InputParameterAssignment] | None, meta: Meta | None = None)[source]
Bases:
TypeSpecificationBase
A simple specification with the possibility of indirection.
Examples:
TypeName POINTER TO TypeName REFERENCE TO TypeName REFERENCE TO POINTER TO TypeName
Initialization parameters such as these are parsed but otherwise ignored by TwinCAT:
POINTER TO TypeName(1, 2) POINTER TO TypeName(1, 2, C := 4)
Lark grammar
This class is used by the following grammar rules:
indirect_simple_specification
indirect_simple_specification: [ indirection_type ] simple_specification [ input_param_args ]
Methods
__init__
(indirection, type, init_parameters)from_lark
(indirection, type_, ...)Attributes
base_type_name
The full type name.
full_type_name
The full type name.
type_info
The base type name.
- indirection: IndirectionType | None
- type: SimpleSpecification
- init_parameters: List[InputParameterAssignment] | None
- static from_lark(indirection: IndirectionType | None, type_: SimpleSpecification, init_parameters_tree: Tree | None) IndirectSimpleSpecification [source]
- __init__(indirection: IndirectionType | None, type: SimpleSpecification, init_parameters: List[InputParameterAssignment] | None, meta: Meta | None = None) None