vb6parse 1.0.1

vb6parse is a library for parsing and analyzing VB6 code, from projects, to controls, to modules, and forms.
Documentation
---
source: src/syntax/library/functions/string/left.rs
expression: tree
---
root:
  kind: Root
  children:
    - kind: Newline
      text: "\n"
    - kind: FunctionStatement
      children:
        - kind: FunctionKeyword
          text: Function
        - kind: Whitespace
          text: " "
        - kind: Identifier
          text: Truncate
        - kind: ParameterList
          children:
            - kind: LeftParenthesis
              text: (
        - kind: TextKeyword
          text: text
        - kind: Whitespace
          text: " "
        - kind: AsKeyword
          text: As
        - kind: Whitespace
          text: " "
        - kind: StringKeyword
          text: String
        - kind: Comma
          text: ","
        - kind: Whitespace
          text: " "
        - kind: Identifier
          text: maxLen
        - kind: Whitespace
          text: " "
        - kind: AsKeyword
          text: As
        - kind: Whitespace
          text: " "
        - kind: LongKeyword
          text: Long
        - kind: RightParenthesis
          text: )
        - kind: Whitespace
          text: " "
        - kind: AsKeyword
          text: As
        - kind: Whitespace
          text: " "
        - kind: StringKeyword
          text: String
        - kind: Newline
          text: "\n"
        - kind: StatementList
          children:
            - kind: IfStatement
              children:
                - kind: Whitespace
                  text: "    "
                - kind: IfKeyword
                  text: If
                - kind: Whitespace
                  text: " "
                - kind: BinaryExpression
                  children:
                    - kind: CallExpression
                      children:
                        - kind: LenKeyword
                          text: Len
                        - kind: LeftParenthesis
                          text: (
                        - kind: ArgumentList
                          children:
                            - kind: Argument
                              children:
                                - kind: IdentifierExpression
                                  children:
                                    - kind: TextKeyword
                                      text: text
                        - kind: RightParenthesis
                          text: )
                    - kind: Whitespace
                      text: " "
                    - kind: GreaterThanOperator
                      text: ">"
                    - kind: Whitespace
                      text: " "
                    - kind: IdentifierExpression
                      children:
                        - kind: Identifier
                          text: maxLen
                - kind: Whitespace
                  text: " "
                - kind: ThenKeyword
                  text: Then
                - kind: Newline
                  text: "\n"
                - kind: StatementList
                  children:
                    - kind: Whitespace
                      text: "        "
                    - kind: AssignmentStatement
                      children:
                        - kind: IdentifierExpression
                          children:
                            - kind: Identifier
                              text: Truncate
                        - kind: Whitespace
                          text: " "
                        - kind: EqualityOperator
                          text: "="
                        - kind: Whitespace
                          text: " "
                        - kind: BinaryExpression
                          children:
                            - kind: CallExpression
                              children:
                                - kind: Identifier
                                  text: Left
                                - kind: LeftParenthesis
                                  text: (
                                - kind: ArgumentList
                                  children:
                                    - kind: Argument
                                      children:
                                        - kind: IdentifierExpression
                                          children:
                                            - kind: TextKeyword
                                              text: text
                                    - kind: Comma
                                      text: ","
                                    - kind: Whitespace
                                      text: " "
                                    - kind: Argument
                                      children:
                                        - kind: BinaryExpression
                                          children:
                                            - kind: IdentifierExpression
                                              children:
                                                - kind: Identifier
                                                  text: maxLen
                                            - kind: Whitespace
                                              text: " "
                                            - kind: SubtractionOperator
                                              text: "-"
                                            - kind: Whitespace
                                              text: " "
                                            - kind: NumericLiteralExpression
                                              children:
                                                - kind: IntegerLiteral
                                                  text: "3"
                                - kind: RightParenthesis
                                  text: )
                            - kind: Whitespace
                              text: " "
                            - kind: Ampersand
                              text: "&"
                            - kind: Whitespace
                              text: " "
                            - kind: StringLiteralExpression
                              children:
                                - kind: StringLiteral
                                  text: "\"...\""
                        - kind: Newline
                          text: "\n"
                    - kind: Whitespace
                      text: "    "
                - kind: ElseClause
                  children:
                    - kind: ElseKeyword
                      text: Else
                    - kind: Newline
                      text: "\n"
                    - kind: StatementList
                      children:
                        - kind: Whitespace
                          text: "        "
                        - kind: AssignmentStatement
                          children:
                            - kind: IdentifierExpression
                              children:
                                - kind: Identifier
                                  text: Truncate
                            - kind: Whitespace
                              text: " "
                            - kind: EqualityOperator
                              text: "="
                            - kind: Whitespace
                              text: " "
                            - kind: IdentifierExpression
                              children:
                                - kind: TextKeyword
                                  text: text
                            - kind: Newline
                              text: "\n"
                        - kind: Whitespace
                          text: "    "
                - kind: EndKeyword
                  text: End
                - kind: Whitespace
                  text: " "
                - kind: IfKeyword
                  text: If
                - kind: Newline
                  text: "\n"
        - kind: EndKeyword
          text: End
        - kind: Whitespace
          text: " "
        - kind: FunctionKeyword
          text: Function
        - kind: Newline
          text: "\n"