vb6parse 1.2.2

vb6parse is a library for parsing and analyzing VB6 code, from projects, to controls, to modules, and forms.
Documentation
---
source: vb6parse/tests/class/environment.rs
expression: class
---
header:
  version:
    major: 1
    minor: 0
  properties:
    multi_use: MultiUse
    persistable: NotPersistable
    data_binding_behavior: None
    data_source_behavior: None
    mts_transaction_mode: NotAnMTSObject
  attributes:
    name: XmlNode
    global_name_space: Local
    creatable: "True"
    predeclared_id: "False"
    exposed: "True"
    description: ~
    ext_key: {}
cst:
  root:
    kind: Root
    children:
      - kind: EndOfLineComment
        text: "' Node class"
      - kind: Newline
        text: "\r\n"
      - kind: DimStatement
        children:
          - kind: PrivateKeyword
            text: Private
          - kind: Whitespace
            text: " "
          - kind: Identifier
            text: node
          - kind: Comma
            text: ","
          - kind: Whitespace
            text: " "
          - kind: Identifier
            text: iamobject
          - kind: Whitespace
            text: " "
          - kind: AsKeyword
            text: As
          - kind: Whitespace
            text: " "
          - kind: BooleanKeyword
            text: Boolean
          - kind: Newline
            text: "\r\n"
      - kind: SubStatement
        children:
          - kind: FriendKeyword
            text: Friend
          - kind: Whitespace
            text: " "
          - kind: SubKeyword
            text: Sub
          - kind: Whitespace
            text: " "
          - kind: Identifier
            text: CreateNodeArray
          - kind: ParameterList
            children:
              - kind: LeftParenthesis
                text: (
              - kind: Identifier
                text: v
              - kind: RightParenthesis
                text: )
          - kind: Newline
            text: "\r\n"
          - kind: StatementList
            children:
              - kind: Whitespace
                text: "    "
              - kind: AssignmentStatement
                children:
                  - kind: IdentifierExpression
                    children:
                      - kind: Identifier
                        text: node
                  - kind: Whitespace
                    text: " "
                  - kind: EqualityOperator
                    text: "="
                  - kind: Whitespace
                    text: " "
                  - kind: IdentifierExpression
                    children:
                      - kind: Identifier
                        text: v
                  - kind: Newline
                    text: "\r\n"
              - kind: Whitespace
                text: "    "
              - kind: AssignmentStatement
                children:
                  - kind: IdentifierExpression
                    children:
                      - kind: Identifier
                        text: iamobject
                  - kind: Whitespace
                    text: " "
                  - kind: EqualityOperator
                    text: "="
                  - kind: Whitespace
                    text: " "
                  - kind: BooleanLiteralExpression
                    children:
                      - kind: FalseKeyword
                        text: "False"
                  - kind: Newline
                    text: "\r\n"
          - kind: EndKeyword
            text: End
          - kind: Whitespace
            text: " "
          - kind: SubKeyword
            text: Sub
          - kind: Newline
            text: "\r\n"
      - kind: Newline
        text: "\r\n"
      - kind: SubStatement
        children:
          - kind: FriendKeyword
            text: Friend
          - kind: Whitespace
            text: " "
          - kind: SubKeyword
            text: Sub
          - kind: Whitespace
            text: " "
          - kind: Identifier
            text: putnode
          - kind: ParameterList
            children:
              - kind: LeftParenthesis
                text: (
              - kind: ByRefKeyword
                text: ByRef
              - kind: Whitespace
                text: " "
              - kind: Identifier
                text: v
              - kind: RightParenthesis
                text: )
          - kind: Newline
            text: "\r\n"
          - kind: StatementList
            children:
              - kind: IfStatement
                children:
                  - kind: IfKeyword
                    text: If
                  - kind: Whitespace
                    text: " "
                  - kind: CallExpression
                    children:
                      - kind: Identifier
                        text: IsObject
                      - kind: LeftParenthesis
                        text: (
                      - kind: ArgumentList
                        children:
                          - kind: Argument
                            children:
                              - kind: IdentifierExpression
                                children:
                                  - kind: Identifier
                                    text: v
                      - kind: RightParenthesis
                        text: )
                  - kind: Whitespace
                    text: " "
                  - kind: ThenKeyword
                    text: Then
                  - kind: Newline
                    text: "\r\n"
                  - kind: StatementList
                    children:
                      - kind: SetStatement
                        children:
                          - kind: SetKeyword
                            text: Set
                          - kind: Whitespace
                            text: " "
                          - kind: Identifier
                            text: node
                          - kind: Whitespace
                            text: " "
                          - kind: EqualityOperator
                            text: "="
                          - kind: Whitespace
                            text: " "
                          - kind: Identifier
                            text: v
                          - kind: Newline
                            text: "\r\n"
                      - kind: AssignmentStatement
                        children:
                          - kind: IdentifierExpression
                            children:
                              - kind: Identifier
                                text: iamobject
                          - kind: Whitespace
                            text: " "
                          - kind: EqualityOperator
                            text: "="
                          - kind: Whitespace
                            text: " "
                          - kind: BooleanLiteralExpression
                            children:
                              - kind: TrueKeyword
                                text: "True"
                          - kind: Newline
                            text: "\r\n"
                  - kind: ElseClause
                    children:
                      - kind: ElseKeyword
                        text: Else
                      - kind: Newline
                        text: "\r\n"
                      - kind: StatementList
                        children:
                          - kind: AssignmentStatement
                            children:
                              - kind: IdentifierExpression
                                children:
                                  - kind: Identifier
                                    text: node
                              - kind: Whitespace
                                text: " "
                              - kind: EqualityOperator
                                text: "="
                              - kind: Whitespace
                                text: " "
                              - kind: IdentifierExpression
                                children:
                                  - kind: Identifier
                                    text: v
                              - kind: Newline
                                text: "\r\n"
                          - kind: AssignmentStatement
                            children:
                              - kind: IdentifierExpression
                                children:
                                  - kind: Identifier
                                    text: iamobject
                              - kind: Whitespace
                                text: " "
                              - kind: EqualityOperator
                                text: "="
                              - kind: Whitespace
                                text: " "
                              - kind: BooleanLiteralExpression
                                children:
                                  - kind: FalseKeyword
                                    text: "False"
                              - kind: Newline
                                text: "\r\n"
                  - kind: EndKeyword
                    text: End
                  - kind: Whitespace
                    text: " "
                  - kind: IfKeyword
                    text: If
                  - kind: Newline
                    text: "\r\n"
          - kind: EndKeyword
            text: End
          - kind: Whitespace
            text: " "
          - kind: SubKeyword
            text: Sub
          - kind: Newline
            text: "\r\n"
      - kind: SubStatement
        children:
          - kind: FriendKeyword
            text: Friend
          - kind: Whitespace
            text: " "
          - kind: SubKeyword
            text: Sub
          - kind: Whitespace
            text: " "
          - kind: Identifier
            text: getnode
          - kind: ParameterList
            children:
              - kind: LeftParenthesis
                text: (
              - kind: ByRefKeyword
                text: ByRef
              - kind: Whitespace
                text: " "
              - kind: Identifier
                text: v
              - kind: RightParenthesis
                text: )
          - kind: Newline
            text: "\r\n"
          - kind: StatementList
            children:
              - kind: IfStatement
                children:
                  - kind: IfKeyword
                    text: If
                  - kind: Whitespace
                    text: " "
                  - kind: IdentifierExpression
                    children:
                      - kind: Identifier
                        text: iamobject
                  - kind: Whitespace
                    text: " "
                  - kind: ThenKeyword
                    text: Then
                  - kind: Newline
                    text: "\r\n"
                  - kind: StatementList
                    children:
                      - kind: SetStatement
                        children:
                          - kind: Whitespace
                            text: "    "
                          - kind: SetKeyword
                            text: Set
                          - kind: Whitespace
                            text: " "
                          - kind: Identifier
                            text: v
                          - kind: Whitespace
                            text: " "
                          - kind: EqualityOperator
                            text: "="
                          - kind: Whitespace
                            text: " "
                          - kind: Identifier
                            text: node
                          - kind: Newline
                            text: "\r\n"
                  - kind: ElseClause
                    children:
                      - kind: ElseKeyword
                        text: Else
                      - kind: Newline
                        text: "\r\n"
                      - kind: StatementList
                        children:
                          - kind: Whitespace
                            text: "    "
                          - kind: AssignmentStatement
                            children:
                              - kind: IdentifierExpression
                                children:
                                  - kind: Identifier
                                    text: v
                              - kind: Whitespace
                                text: " "
                              - kind: EqualityOperator
                                text: "="
                              - kind: Whitespace
                                text: " "
                              - kind: IdentifierExpression
                                children:
                                  - kind: Identifier
                                    text: node
                              - kind: Newline
                                text: "\r\n"
                  - kind: EndKeyword
                    text: End
                  - kind: Whitespace
                    text: " "
                  - kind: IfKeyword
                    text: If
                  - kind: Newline
                    text: "\r\n"
          - kind: EndKeyword
            text: End
          - kind: Whitespace
            text: " "
          - kind: SubKeyword
            text: Sub
          - kind: Newline
            text: "\r\n"