Module refinery.lib.scripts.au3.model

Expand source code Browse git
from __future__ import annotations

import enum

from dataclasses import dataclass, field

from refinery.lib.scripts import Expression, Node, Statement


class Au3ScopeKind(enum.Enum):
    DIM = 'Dim'
    LOCAL = 'Local'
    GLOBAL = 'Global'


@dataclass(repr=False, eq=False)
class Au3Script(Node):
    body: list[Statement] = field(default_factory=list)
    #: Every diagnostic the parser recorded: the error nodes it recovered whole and the repairs it
    #: synthesized. No pass reads the list: its texts also live in the tree — an error node is its
    #: own record, and a repair record names a token of a line the parser went on to read — while
    #: the list outlives the edits that remove those lines, so a pass over it would refuse a tree
    #: its own transforms had cleaned.
    errors: list[Au3ErrorNode] = field(default_factory=list)

    def early_errors(self) -> list[Au3WithMember]:
        """
        The leading-dot member accesses that no enclosing `With` statement owns: outside one, `.x`
        names nothing and no engine loads the file.
        """
        result = []
        for node in self.walk():
            if not isinstance(node, Au3WithMember):
                continue
            if not any(isinstance(a, Au3WithStatement) for a in _ancestors(node)):
                result.append(node)
        return result


def _ancestors(node: Node):
    cursor = node.parent
    while cursor is not None:
        yield cursor
        cursor = cursor.parent


@dataclass(repr=False, eq=False)
class Au3ErrorNode(Expression, Statement, unparsed=True):
    text: str = ''
    message: str = ''


@dataclass(repr=False, eq=False)
class Au3Directive(Statement):
    text: str = ''


@dataclass(repr=False, eq=False)
class Au3Include(Statement):
    library: bool = False
    path: str = ''


@dataclass(repr=False, eq=False)
class Au3IncludeOnce(Statement):
    pass


@dataclass(repr=False, eq=False)
class Au3IntLiteral(Expression, spelling='raw'):
    value: int = 0
    raw: str = '0'


@dataclass(repr=False, eq=False)
class Au3FloatLiteral(Expression, spelling='raw'):
    value: float = 0.0
    raw: str = '0.0'


@dataclass(repr=False, eq=False)
class Au3StringLiteral(Expression, spelling='raw'):
    value: str = ''
    raw: str = '""'


@dataclass(repr=False, eq=False)
class Au3BooleanLiteral(Expression):
    value: bool = False


@dataclass(repr=False, eq=False)
class Au3NullLiteral(Expression):
    pass


@dataclass(repr=False, eq=False)
class Au3DefaultLiteral(Expression):
    pass


@dataclass(repr=False, eq=False)
class Au3Variable(Expression, spelling='raw'):
    name: str = ''
    raw: str = '$'


@dataclass(repr=False, eq=False)
class Au3Macro(Expression, spelling='raw'):
    name: str = ''
    raw: str = '@'


@dataclass(repr=False, eq=False)
class Au3Identifier(Expression, spelling='raw'):
    name: str = ''
    raw: str = ''


@dataclass(repr=False, eq=False)
class Au3BinaryExpression(Expression):
    operator: str = ''
    left: Expression | None = None
    right: Expression | None = None


@dataclass(repr=False, eq=False)
class Au3UnaryExpression(Expression):
    operator: str = ''
    operand: Expression | None = None


@dataclass(repr=False, eq=False)
class Au3Assignment(Expression):
    target: Expression | None = None
    operator: str = '='
    value: Expression | None = None


@dataclass(repr=False, eq=False)
class Au3Ternary(Expression):
    condition: Expression | None = None
    consequent: Expression | None = None
    alternate: Expression | None = None


@dataclass(repr=False, eq=False)
class Au3ParenExpression(Expression):
    expression: Expression | None = None

    def canonical_form(self):
        return self.expression


@dataclass(repr=False, eq=False)
class Au3Call(Expression):
    callee: Expression | None = None
    arguments: list[Expression] = field(default_factory=list)


@dataclass(repr=False, eq=False)
class Au3ArrayAccess(Expression):
    array: Expression | None = None
    index: Expression | None = None


@dataclass(repr=False, eq=False)
class Au3MemberAccess(Expression, spelling='raw'):
    object: Expression | None = None
    member: str = ''
    raw: str = ''


@dataclass(repr=False, eq=False)
class Au3WithMember(Expression, spelling='raw'):
    member: str = ''
    raw: str = ''


@dataclass(repr=False, eq=False)
class Au3ArrayLiteral(Expression):
    elements: list[Expression] = field(default_factory=list)


@dataclass(repr=False, eq=False)
class Au3CaseRange(Node):
    start: Expression | None = None
    end: Expression | None = None


@dataclass(repr=False, eq=False)
class Au3ExpressionStatement(Statement):
    expression: Expression | None = None


@dataclass(repr=False, eq=False)
class Au3IfStatement(Statement):
    test: Expression | None = None
    body: list[Statement] = field(default_factory=list)
    elseifs: list[Au3ElseIf] = field(default_factory=list)
    else_body: list[Statement] | None = None


@dataclass(repr=False, eq=False)
class Au3ElseIf(Node):
    test: Expression | None = None
    body: list[Statement] = field(default_factory=list)


@dataclass(repr=False, eq=False)
class Au3WhileStatement(Statement):
    test: Expression | None = None
    body: list[Statement] = field(default_factory=list)


@dataclass(repr=False, eq=False)
class Au3DoUntilStatement(Statement):
    body: list[Statement] = field(default_factory=list)
    test: Expression | None = None


@dataclass(repr=False, eq=False)
class Au3ForStatement(Statement):
    variable: Au3Variable | None = None
    start: Expression | None = None
    limit: Expression | None = None
    step: Expression | None = None
    body: list[Statement] = field(default_factory=list)


@dataclass(repr=False, eq=False)
class Au3ForInStatement(Statement):
    variable: Au3Variable | None = None
    iterable: Expression | None = None
    body: list[Statement] = field(default_factory=list)


@dataclass(repr=False, eq=False)
class Au3SelectStatement(Statement):
    cases: list[Au3SelectCase] = field(default_factory=list)


@dataclass(repr=False, eq=False)
class Au3SelectCase(Node):
    test: Expression | None = None
    body: list[Statement] = field(default_factory=list)


@dataclass(repr=False, eq=False)
class Au3SwitchStatement(Statement):
    discriminant: Expression | None = None
    cases: list[Au3SwitchCase] = field(default_factory=list)


@dataclass(repr=False, eq=False)
class Au3SwitchCase(Node):
    values: list[Node] | None = None
    body: list[Statement] = field(default_factory=list)


@dataclass(repr=False, eq=False)
class Au3WithStatement(Statement):
    object: Expression | None = None
    body: list[Statement] = field(default_factory=list)


@dataclass(repr=False, eq=False)
class Au3VariableDeclaration(Statement):
    declarations: list[Au3VariableDeclarator] = field(default_factory=list)
    scope: Au3ScopeKind | None = None
    is_const: bool = False
    is_static: bool = False


@dataclass(repr=False, eq=False)
class Au3VariableDeclarator(Node):
    variable: Au3Variable | None = None
    dimensions: list[Expression | None] = field(default_factory=list)
    initializer: Expression | None = None


@dataclass(repr=False, eq=False)
class Au3EnumDeclaration(Statement):
    declarations: list[Au3EnumDeclarator] = field(default_factory=list)
    scope: Au3ScopeKind | None = None
    is_const: bool = False
    step_operator: str = '+'
    step_value: int = 1


@dataclass(repr=False, eq=False)
class Au3EnumDeclarator(Node):
    variable: Au3Variable | None = None
    initializer: Expression | None = None


@dataclass(repr=False, eq=False)
class Au3ReDimStatement(Statement):
    targets: list[Au3ReDimTarget] = field(default_factory=list)


@dataclass(repr=False, eq=False)
class Au3ReDimTarget(Node):
    variable: Au3Variable | None = None
    dimensions: list[Expression] = field(default_factory=list)


@dataclass(repr=False, eq=False)
class Au3FunctionDeclaration(Statement):
    name: Au3Identifier | None = None
    params: list[Au3Parameter] = field(default_factory=list)
    body: list[Statement] = field(default_factory=list)
    is_volatile: bool = False


@dataclass(repr=False, eq=False)
class Au3Parameter(Node):
    variable: Au3Variable | None = None
    by_ref: bool = False
    is_const: bool = False
    default: Expression | None = None


@dataclass(repr=False, eq=False)
class Au3ReturnStatement(Statement):
    value: Expression | None = None


@dataclass(repr=False, eq=False)
class Au3ExitStatement(Statement):
    code: Expression | None = None


@dataclass(repr=False, eq=False)
class Au3ExitLoopStatement(Statement):
    level: Expression | None = None


@dataclass(repr=False, eq=False)
class Au3ContinueLoopStatement(Statement):
    level: Expression | None = None


@dataclass(repr=False, eq=False)
class Au3ContinueCaseStatement(Statement):
    pass

Classes

class Au3ScopeKind (*args, **kwds)

Create a collection of name/value pairs.

Example enumeration:

>>> class Color(Enum):
...     RED = 1
...     BLUE = 2
...     GREEN = 3

Access them by:

  • attribute access:

Color.RED

  • value lookup:

Color(1)

  • name lookup:

Color['RED']

Enumerations can be iterated over, and know how many members they have:

>>> len(Color)
3
>>> list(Color)
[<Color.RED: 1>, <Color.BLUE: 2>, <Color.GREEN: 3>]

Methods can be added to enumerations, and members can have their own attributes – see the documentation for details.

Expand source code Browse git
class Au3ScopeKind(enum.Enum):
    DIM = 'Dim'
    LOCAL = 'Local'
    GLOBAL = 'Global'

Ancestors

  • enum.Enum

Class variables

var DIM

The type of the None singleton.

var LOCAL

The type of the None singleton.

var GLOBAL

The type of the None singleton.

class Au3Script (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, body=<factory>, errors=<factory>)

Au3Script(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , body: 'list[Statement]' = , errors: 'list[Au3ErrorNode]' = )

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3Script(Node):
    body: list[Statement] = field(default_factory=list)
    #: Every diagnostic the parser recorded: the error nodes it recovered whole and the repairs it
    #: synthesized. No pass reads the list: its texts also live in the tree — an error node is its
    #: own record, and a repair record names a token of a line the parser went on to read — while
    #: the list outlives the edits that remove those lines, so a pass over it would refuse a tree
    #: its own transforms had cleaned.
    errors: list[Au3ErrorNode] = field(default_factory=list)

    def early_errors(self) -> list[Au3WithMember]:
        """
        The leading-dot member accesses that no enclosing `With` statement owns: outside one, `.x`
        names nothing and no engine loads the file.
        """
        result = []
        for node in self.walk():
            if not isinstance(node, Au3WithMember):
                continue
            if not any(isinstance(a, Au3WithStatement) for a in _ancestors(node)):
                result.append(node)
        return result

Ancestors

Instance variables

var body

The type of the None singleton.

var errors

Every diagnostic the parser recorded: the error nodes it recovered whole and the repairs it synthesized. No pass reads the list: its texts also live in the tree — an error node is its own record, and a repair record names a token of a line the parser went on to read — while the list outlives the edits that remove those lines, so a pass over it would refuse a tree its own transforms had cleaned.

Methods

def early_errors(self)

The leading-dot member accesses that no enclosing With statement owns: outside one, .x names nothing and no engine loads the file.

Expand source code Browse git
def early_errors(self) -> list[Au3WithMember]:
    """
    The leading-dot member accesses that no enclosing `With` statement owns: outside one, `.x`
    names nothing and no engine loads the file.
    """
    result = []
    for node in self.walk():
        if not isinstance(node, Au3WithMember):
            continue
        if not any(isinstance(a, Au3WithStatement) for a in _ancestors(node)):
            result.append(node)
    return result

Inherited members

class Au3ErrorNode (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, text='', message='')

Au3ErrorNode(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , text: 'str' = '', message: 'str' = '')

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3ErrorNode(Expression, Statement, unparsed=True):
    text: str = ''
    message: str = ''

Ancestors

Instance variables

var text

The type of the None singleton.

var message

The type of the None singleton.

Inherited members

class Au3Directive (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, text='')

Au3Directive(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , text: 'str' = '')

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3Directive(Statement):
    text: str = ''

Ancestors

Instance variables

var text

The type of the None singleton.

Inherited members

class Au3Include (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, library=False, path='')

Au3Include(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , library: 'bool' = False, path: 'str' = '')

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3Include(Statement):
    library: bool = False
    path: str = ''

Ancestors

Instance variables

var library

The type of the None singleton.

var path

The type of the None singleton.

Inherited members

class Au3IncludeOnce (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>)

Au3IncludeOnce(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = )

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3IncludeOnce(Statement):
    pass

Ancestors

Inherited members

class Au3IntLiteral (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, value=0, raw='0')

Au3IntLiteral(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , value: 'int' = 0, raw: 'str' = '0')

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3IntLiteral(Expression, spelling='raw'):
    value: int = 0
    raw: str = '0'

Ancestors

Instance variables

var value

The type of the None singleton.

var raw

The type of the None singleton.

Inherited members

class Au3FloatLiteral (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, value=0.0, raw='0.0')

Au3FloatLiteral(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , value: 'float' = 0.0, raw: 'str' = '0.0')

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3FloatLiteral(Expression, spelling='raw'):
    value: float = 0.0
    raw: str = '0.0'

Ancestors

Instance variables

var value

The type of the None singleton.

var raw

The type of the None singleton.

Inherited members

class Au3StringLiteral (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, value='', raw='""')

Au3StringLiteral(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , value: 'str' = '', raw: 'str' = '""')

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3StringLiteral(Expression, spelling='raw'):
    value: str = ''
    raw: str = '""'

Ancestors

Instance variables

var value

The type of the None singleton.

var raw

The type of the None singleton.

Inherited members

class Au3BooleanLiteral (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, value=False)

Au3BooleanLiteral(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , value: 'bool' = False)

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3BooleanLiteral(Expression):
    value: bool = False

Ancestors

Instance variables

var value

The type of the None singleton.

Inherited members

class Au3NullLiteral (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>)

Au3NullLiteral(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = )

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3NullLiteral(Expression):
    pass

Ancestors

Inherited members

class Au3DefaultLiteral (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>)

Au3DefaultLiteral(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = )

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3DefaultLiteral(Expression):
    pass

Ancestors

Inherited members

class Au3Variable (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, name='', raw='$')

Au3Variable(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , name: 'str' = '', raw: 'str' = '$')

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3Variable(Expression, spelling='raw'):
    name: str = ''
    raw: str = '$'

Ancestors

Instance variables

var name

The type of the None singleton.

var raw

The type of the None singleton.

Inherited members

class Au3Macro (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, name='', raw='@')

Au3Macro(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , name: 'str' = '', raw: 'str' = '@')

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3Macro(Expression, spelling='raw'):
    name: str = ''
    raw: str = '@'

Ancestors

Instance variables

var name

The type of the None singleton.

var raw

The type of the None singleton.

Inherited members

class Au3Identifier (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, name='', raw='')

Au3Identifier(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , name: 'str' = '', raw: 'str' = '')

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3Identifier(Expression, spelling='raw'):
    name: str = ''
    raw: str = ''

Ancestors

Instance variables

var name

The type of the None singleton.

var raw

The type of the None singleton.

Inherited members

class Au3BinaryExpression (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, operator='', left=None, right=None)

Au3BinaryExpression(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , operator: 'str' = '', left: 'Expression | None' = None, right: 'Expression | None' = None)

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3BinaryExpression(Expression):
    operator: str = ''
    left: Expression | None = None
    right: Expression | None = None

Ancestors

Instance variables

var operator

The type of the None singleton.

var left

The type of the None singleton.

var right

The type of the None singleton.

Inherited members

class Au3UnaryExpression (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, operator='', operand=None)

Au3UnaryExpression(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , operator: 'str' = '', operand: 'Expression | None' = None)

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3UnaryExpression(Expression):
    operator: str = ''
    operand: Expression | None = None

Ancestors

Instance variables

var operator

The type of the None singleton.

var operand

The type of the None singleton.

Inherited members

class Au3Assignment (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, target=None, operator='=', value=None)

Au3Assignment(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , target: 'Expression | None' = None, operator: 'str' = '=', value: 'Expression | None' = None)

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3Assignment(Expression):
    target: Expression | None = None
    operator: str = '='
    value: Expression | None = None

Ancestors

Instance variables

var target

The type of the None singleton.

var operator

The type of the None singleton.

var value

The type of the None singleton.

Inherited members

class Au3Ternary (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, condition=None, consequent=None, alternate=None)

Au3Ternary(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , condition: 'Expression | None' = None, consequent: 'Expression | None' = None, alternate: 'Expression | None' = None)

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3Ternary(Expression):
    condition: Expression | None = None
    consequent: Expression | None = None
    alternate: Expression | None = None

Ancestors

Instance variables

var condition

The type of the None singleton.

var consequent

The type of the None singleton.

var alternate

The type of the None singleton.

Inherited members

class Au3ParenExpression (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, expression=None)

Au3ParenExpression(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , expression: 'Expression | None' = None)

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3ParenExpression(Expression):
    expression: Expression | None = None

    def canonical_form(self):
        return self.expression

Ancestors

Instance variables

var expression

The type of the None singleton.

Inherited members

class Au3Call (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, callee=None, arguments=<factory>)

Au3Call(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , callee: 'Expression | None' = None, arguments: 'list[Expression]' = )

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3Call(Expression):
    callee: Expression | None = None
    arguments: list[Expression] = field(default_factory=list)

Ancestors

Instance variables

var arguments

The type of the None singleton.

var callee

The type of the None singleton.

Inherited members

class Au3ArrayAccess (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, array=None, index=None)

Au3ArrayAccess(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , array: 'Expression | None' = None, index: 'Expression | None' = None)

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3ArrayAccess(Expression):
    array: Expression | None = None
    index: Expression | None = None

Ancestors

Instance variables

var array

The type of the None singleton.

var index

The type of the None singleton.

Inherited members

class Au3MemberAccess (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, object=None, member='', raw='')

Au3MemberAccess(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , object: 'Expression | None' = None, member: 'str' = '', raw: 'str' = '')

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3MemberAccess(Expression, spelling='raw'):
    object: Expression | None = None
    member: str = ''
    raw: str = ''

Ancestors

Instance variables

var object

The type of the None singleton.

var member

The type of the None singleton.

var raw

The type of the None singleton.

Inherited members

class Au3WithMember (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, member='', raw='')

Au3WithMember(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , member: 'str' = '', raw: 'str' = '')

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3WithMember(Expression, spelling='raw'):
    member: str = ''
    raw: str = ''

Ancestors

Instance variables

var member

The type of the None singleton.

var raw

The type of the None singleton.

Inherited members

class Au3ArrayLiteral (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, elements=<factory>)

Au3ArrayLiteral(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , elements: 'list[Expression]' = )

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3ArrayLiteral(Expression):
    elements: list[Expression] = field(default_factory=list)

Ancestors

Instance variables

var elements

The type of the None singleton.

Inherited members

class Au3CaseRange (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, start=None, end=None)

Au3CaseRange(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , start: 'Expression | None' = None, end: 'Expression | None' = None)

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3CaseRange(Node):
    start: Expression | None = None
    end: Expression | None = None

Ancestors

Instance variables

var start

The type of the None singleton.

var end

The type of the None singleton.

Inherited members

class Au3ExpressionStatement (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, expression=None)

Au3ExpressionStatement(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , expression: 'Expression | None' = None)

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3ExpressionStatement(Statement):
    expression: Expression | None = None

Ancestors

Instance variables

var expression

The type of the None singleton.

Inherited members

class Au3IfStatement (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, test=None, body=<factory>, elseifs=<factory>, else_body=None)

Au3IfStatement(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , test: 'Expression | None' = None, body: 'list[Statement]' = , elseifs: 'list[Au3ElseIf]' = , else_body: 'list[Statement] | None' = None)

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3IfStatement(Statement):
    test: Expression | None = None
    body: list[Statement] = field(default_factory=list)
    elseifs: list[Au3ElseIf] = field(default_factory=list)
    else_body: list[Statement] | None = None

Ancestors

Instance variables

var body

The type of the None singleton.

var elseifs

The type of the None singleton.

var test

The type of the None singleton.

var else_body

The type of the None singleton.

Inherited members

class Au3ElseIf (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, test=None, body=<factory>)

Au3ElseIf(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , test: 'Expression | None' = None, body: 'list[Statement]' = )

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3ElseIf(Node):
    test: Expression | None = None
    body: list[Statement] = field(default_factory=list)

Ancestors

Instance variables

var body

The type of the None singleton.

var test

The type of the None singleton.

Inherited members

class Au3WhileStatement (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, test=None, body=<factory>)

Au3WhileStatement(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , test: 'Expression | None' = None, body: 'list[Statement]' = )

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3WhileStatement(Statement):
    test: Expression | None = None
    body: list[Statement] = field(default_factory=list)

Ancestors

Instance variables

var body

The type of the None singleton.

var test

The type of the None singleton.

Inherited members

class Au3DoUntilStatement (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, body=<factory>, test=None)

Au3DoUntilStatement(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , body: 'list[Statement]' = , test: 'Expression | None' = None)

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3DoUntilStatement(Statement):
    body: list[Statement] = field(default_factory=list)
    test: Expression | None = None

Ancestors

Instance variables

var body

The type of the None singleton.

var test

The type of the None singleton.

Inherited members

class Au3ForStatement (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, variable=None, start=None, limit=None, step=None, body=<factory>)

Au3ForStatement(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , variable: 'Au3Variable | None' = None, start: 'Expression | None' = None, limit: 'Expression | None' = None, step: 'Expression | None' = None, body: 'list[Statement]' = )

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3ForStatement(Statement):
    variable: Au3Variable | None = None
    start: Expression | None = None
    limit: Expression | None = None
    step: Expression | None = None
    body: list[Statement] = field(default_factory=list)

Ancestors

Instance variables

var body

The type of the None singleton.

var variable

The type of the None singleton.

var start

The type of the None singleton.

var limit

The type of the None singleton.

var step

The type of the None singleton.

Inherited members

class Au3ForInStatement (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, variable=None, iterable=None, body=<factory>)

Au3ForInStatement(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , variable: 'Au3Variable | None' = None, iterable: 'Expression | None' = None, body: 'list[Statement]' = )

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3ForInStatement(Statement):
    variable: Au3Variable | None = None
    iterable: Expression | None = None
    body: list[Statement] = field(default_factory=list)

Ancestors

Instance variables

var body

The type of the None singleton.

var variable

The type of the None singleton.

var iterable

The type of the None singleton.

Inherited members

class Au3SelectStatement (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, cases=<factory>)

Au3SelectStatement(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , cases: 'list[Au3SelectCase]' = )

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3SelectStatement(Statement):
    cases: list[Au3SelectCase] = field(default_factory=list)

Ancestors

Instance variables

var cases

The type of the None singleton.

Inherited members

class Au3SelectCase (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, test=None, body=<factory>)

Au3SelectCase(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , test: 'Expression | None' = None, body: 'list[Statement]' = )

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3SelectCase(Node):
    test: Expression | None = None
    body: list[Statement] = field(default_factory=list)

Ancestors

Instance variables

var body

The type of the None singleton.

var test

The type of the None singleton.

Inherited members

class Au3SwitchStatement (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, discriminant=None, cases=<factory>)

Au3SwitchStatement(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , discriminant: 'Expression | None' = None, cases: 'list[Au3SwitchCase]' = )

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3SwitchStatement(Statement):
    discriminant: Expression | None = None
    cases: list[Au3SwitchCase] = field(default_factory=list)

Ancestors

Instance variables

var cases

The type of the None singleton.

var discriminant

The type of the None singleton.

Inherited members

class Au3SwitchCase (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, values=None, body=<factory>)

Au3SwitchCase(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , values: 'list[Node] | None' = None, body: 'list[Statement]' = )

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3SwitchCase(Node):
    values: list[Node] | None = None
    body: list[Statement] = field(default_factory=list)

Ancestors

Instance variables

var body

The type of the None singleton.

var values

The type of the None singleton.

Inherited members

class Au3WithStatement (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, object=None, body=<factory>)

Au3WithStatement(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , object: 'Expression | None' = None, body: 'list[Statement]' = )

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3WithStatement(Statement):
    object: Expression | None = None
    body: list[Statement] = field(default_factory=list)

Ancestors

Instance variables

var body

The type of the None singleton.

var object

The type of the None singleton.

Inherited members

class Au3VariableDeclaration (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, declarations=<factory>, scope=None, is_const=False, is_static=False)

Au3VariableDeclaration(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , declarations: 'list[Au3VariableDeclarator]' = , scope: 'Au3ScopeKind | None' = None, is_const: 'bool' = False, is_static: 'bool' = False)

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3VariableDeclaration(Statement):
    declarations: list[Au3VariableDeclarator] = field(default_factory=list)
    scope: Au3ScopeKind | None = None
    is_const: bool = False
    is_static: bool = False

Ancestors

Instance variables

var declarations

The type of the None singleton.

var scope

The type of the None singleton.

var is_const

The type of the None singleton.

var is_static

The type of the None singleton.

Inherited members

class Au3VariableDeclarator (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, variable=None, dimensions=<factory>, initializer=None)

Au3VariableDeclarator(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , variable: 'Au3Variable | None' = None, dimensions: 'list[Expression | None]' = , initializer: 'Expression | None' = None)

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3VariableDeclarator(Node):
    variable: Au3Variable | None = None
    dimensions: list[Expression | None] = field(default_factory=list)
    initializer: Expression | None = None

Ancestors

Instance variables

var dimensions

The type of the None singleton.

var variable

The type of the None singleton.

var initializer

The type of the None singleton.

Inherited members

class Au3EnumDeclaration (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, declarations=<factory>, scope=None, is_const=False, step_operator='+', step_value=1)

Au3EnumDeclaration(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , declarations: 'list[Au3EnumDeclarator]' = , scope: 'Au3ScopeKind | None' = None, is_const: 'bool' = False, step_operator: 'str' = '+', step_value: 'int' = 1)

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3EnumDeclaration(Statement):
    declarations: list[Au3EnumDeclarator] = field(default_factory=list)
    scope: Au3ScopeKind | None = None
    is_const: bool = False
    step_operator: str = '+'
    step_value: int = 1

Ancestors

Instance variables

var declarations

The type of the None singleton.

var scope

The type of the None singleton.

var is_const

The type of the None singleton.

var step_operator

The type of the None singleton.

var step_value

The type of the None singleton.

Inherited members

class Au3EnumDeclarator (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, variable=None, initializer=None)

Au3EnumDeclarator(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , variable: 'Au3Variable | None' = None, initializer: 'Expression | None' = None)

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3EnumDeclarator(Node):
    variable: Au3Variable | None = None
    initializer: Expression | None = None

Ancestors

Instance variables

var variable

The type of the None singleton.

var initializer

The type of the None singleton.

Inherited members

class Au3ReDimStatement (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, targets=<factory>)

Au3ReDimStatement(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , targets: 'list[Au3ReDimTarget]' = )

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3ReDimStatement(Statement):
    targets: list[Au3ReDimTarget] = field(default_factory=list)

Ancestors

Instance variables

var targets

The type of the None singleton.

Inherited members

class Au3ReDimTarget (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, variable=None, dimensions=<factory>)

Au3ReDimTarget(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , variable: 'Au3Variable | None' = None, dimensions: 'list[Expression]' = )

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3ReDimTarget(Node):
    variable: Au3Variable | None = None
    dimensions: list[Expression] = field(default_factory=list)

Ancestors

Instance variables

var dimensions

The type of the None singleton.

var variable

The type of the None singleton.

Inherited members

class Au3FunctionDeclaration (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, name=None, params=<factory>, body=<factory>, is_volatile=False)

Au3FunctionDeclaration(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , name: 'Au3Identifier | None' = None, params: 'list[Au3Parameter]' = , body: 'list[Statement]' = , is_volatile: 'bool' = False)

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3FunctionDeclaration(Statement):
    name: Au3Identifier | None = None
    params: list[Au3Parameter] = field(default_factory=list)
    body: list[Statement] = field(default_factory=list)
    is_volatile: bool = False

Ancestors

Instance variables

var params

The type of the None singleton.

var body

The type of the None singleton.

var name

The type of the None singleton.

var is_volatile

The type of the None singleton.

Inherited members

class Au3Parameter (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, variable=None, by_ref=False, is_const=False, default=None)

Au3Parameter(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , variable: 'Au3Variable | None' = None, by_ref: 'bool' = False, is_const: 'bool' = False, default: 'Expression | None' = None)

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3Parameter(Node):
    variable: Au3Variable | None = None
    by_ref: bool = False
    is_const: bool = False
    default: Expression | None = None

Ancestors

Instance variables

var variable

The type of the None singleton.

var by_ref

The type of the None singleton.

var is_const

The type of the None singleton.

var default

The type of the None singleton.

Inherited members

class Au3ReturnStatement (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, value=None)

Au3ReturnStatement(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , value: 'Expression | None' = None)

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3ReturnStatement(Statement):
    value: Expression | None = None

Ancestors

Instance variables

var value

The type of the None singleton.

Inherited members

class Au3ExitStatement (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, code=None)

Au3ExitStatement(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , code: 'Expression | None' = None)

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3ExitStatement(Statement):
    code: Expression | None = None

Ancestors

Instance variables

var code

The type of the None singleton.

Inherited members

class Au3ExitLoopStatement (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, level=None)

Au3ExitLoopStatement(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , level: 'Expression | None' = None)

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3ExitLoopStatement(Statement):
    level: Expression | None = None

Ancestors

Instance variables

var level

The type of the None singleton.

Inherited members

class Au3ContinueLoopStatement (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>, level=None)

Au3ContinueLoopStatement(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = , level: 'Expression | None' = None)

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3ContinueLoopStatement(Statement):
    level: Expression | None = None

Ancestors

Instance variables

var level

The type of the None singleton.

Inherited members

class Au3ContinueCaseStatement (offset=-1, parent=None, leading_comments=<factory>, trailing_comments=<factory>)

Au3ContinueCaseStatement(offset: 'int' = -1, parent: 'Node | None' = None, leading_comments: 'list[str]' = , trailing_comments: 'list[str]' = )

Expand source code Browse git
@dataclass(repr=False, eq=False)
class Au3ContinueCaseStatement(Statement):
    pass

Ancestors

Inherited members