blark.transform.Method

class blark.transform.Method(access: AccessSpecifier | None, name: Token, return_type: TypeInitialization | SubrangeTypeInitialization | EnumeratedTypeInitialization | ArrayTypeInitialization | InitializedStructure | StringTypeInitialization | None, declarations: List[VariableDeclarationBlock], body: StatementList | None, meta: Meta | None = None)[source]

Bases: object

A full, named method declaration.

Methods belong to function blocks. Methods may contain variable blocks and a return type, and may also contain an implementation.

Examples:

METHOD PRIVATE MethodName : ARRAY [1..2] OF INT
END_METHOD

METHOD MethodName : INT
    MethodName := 1;
END_METHOD

Lark grammar

This class is used by the following grammar rules:

function_block_method_declaration

function_block_method_declaration: "METHOD"i [ access_specifier ] DOTTED_IDENTIFIER [ ":" method_return_type ] ";"* method_var_declaration* [ function_block_body ] "END_METHOD"i ";"*

Methods

__init__(access, name, return_type, ...[, meta])

from_lark(access, name, return_type, *args)

Attributes

meta

access

name

return_type

declarations

body

access: AccessSpecifier | None
name: Token
return_type: TypeInitialization | SubrangeTypeInitialization | EnumeratedTypeInitialization | ArrayTypeInitialization | InitializedStructure | StringTypeInitialization | None
declarations: List[VariableDeclarationBlock]
body: StatementList | None
meta: Meta | None = None
static from_lark(access: AccessSpecifier | None, name: Token, return_type: TypeInitialization | SubrangeTypeInitialization | EnumeratedTypeInitialization | ArrayTypeInitialization | InitializedStructure | StringTypeInitialization | None, *args) Method[source]
__init__(access: AccessSpecifier | None, name: Token, return_type: TypeInitialization | SubrangeTypeInitialization | EnumeratedTypeInitialization | ArrayTypeInitialization | InitializedStructure | StringTypeInitialization | None, declarations: List[VariableDeclarationBlock], body: StatementList | None, meta: Meta | None = None) None