type: program
id: 0
range: 1:1 - 14:1
dataflow_sources:
    - 1
children:
    - type: class_declaration
      id: 1
      range: 1:1 - 13:2
      dataflow_sources:
        - 2
        - 4
        - 5
        - 6
      queries:
        - 1
      children:
        - type: modifiers
          id: 2
          range: 1:1 - 1:7
          dataflow_sources:
            - 3
          children:
            - type: '"public"'
              id: 3
              range: 1:1 - 1:7
        - type: '"class"'
          id: 4
          range: 1:8 - 1:13
        - type: identifier
          id: 5
          range: 1:14 - 1:19
          content: Greet
        - type: class_body
          id: 6
          range: 1:20 - 13:2
          children:
            - type: '"{"'
              id: 7
              range: 1:20 - 1:21
            - type: field_declaration
              id: 8
              range: 2:3 - 2:34
              dataflow_sources:
                - 9
                - 10
                - 14
              children:
                - type: type_identifier
                  id: 9
                  range: 2:3 - 2:8
                  content: const
                - type: variable_declarator
                  id: 10
                  range: 2:9 - 2:33
                  children:
                    - type: identifier
                      id: 11
                      range: 2:9 - 2:17
                      content: Greeting
                      alias_of:
                        - 8
                        - 13
                    - type: '"="'
                      id: 12
                      range: 2:18 - 2:19
                    - type: string_literal
                      id: 13
                      range: 2:20 - 2:33
                      content: '"Hello World"'
                - type: '";"'
                  id: 14
                  range: 2:33 - 2:34
            - type: method_declaration
              id: 15
              range: 4:3 - 12:4
              children:
                - type: modifiers
                  id: 16
                  range: 4:3 - 4:16
                  dataflow_sources:
                    - 17
                    - 18
                  children:
                    - type: '"public"'
                      id: 17
                      range: 4:3 - 4:9
                    - type: '"static"'
                      id: 18
                      range: 4:10 - 4:16
                - type: void_type
                  id: 19
                  range: 4:17 - 4:21
                  content: void
                - type: identifier
                  id: 20
                  range: 4:22 - 4:26
                  content: main
                - type: formal_parameters
                  id: 21
                  range: 4:26 - 4:41
                  dataflow_sources:
                    - 22
                    - 23
                    - 30
                  children:
                    - type: '"("'
                      id: 22
                      range: 4:26 - 4:27
                    - type: formal_parameter
                      id: 23
                      range: 4:27 - 4:40
                      alias_of:
                        - 29
                      children:
                        - type: array_type
                          id: 24
                          range: 4:27 - 4:35
                          dataflow_sources:
                            - 25
                            - 26
                          children:
                            - type: type_identifier
                              id: 25
                              range: 4:27 - 4:33
                              content: String
                            - type: dimensions
                              id: 26
                              range: 4:33 - 4:35
                              dataflow_sources:
                                - 27
                                - 28
                              children:
                                - type: '"["'
                                  id: 27
                                  range: 4:33 - 4:34
                                - type: '"]"'
                                  id: 28
                                  range: 4:34 - 4:35
                        - type: identifier
                          id: 29
                          range: 4:36 - 4:40
                          content: args
                    - type: '")"'
                      id: 30
                      range: 4:40 - 4:41
                - type: block
                  id: 31
                  range: 5:3 - 12:4
                  children:
                    - type: '"{"'
                      id: 32
                      range: 5:3 - 5:4
                    - type: local_variable_declaration
                      id: 33
                      range: 6:5 - 6:28
                      dataflow_sources:
                        - 34
                        - 35
                        - 42
                      children:
                        - type: type_identifier
                          id: 34
                          range: 6:5 - 6:8
                          content: var
                        - type: variable_declarator
                          id: 35
                          range: 6:9 - 6:27
                          children:
                            - type: identifier
                              id: 36
                              range: 6:9 - 6:10
                              content: s
                              alias_of:
                                - 33
                                - 38
                            - type: '"="'
                              id: 37
                              range: 6:11 - 6:12
                            - type: binary_expression
                              id: 38
                              range: 6:13 - 6:27
                              dataflow_sources:
                                - 39
                                - 40
                                - 41
                              children:
                                - type: identifier
                                  id: 39
                                  range: 6:13 - 6:21
                                  content: Greeting
                                  alias_of:
                                    - 11
                                - type: '"+"'
                                  id: 40
                                  range: 6:22 - 6:23
                                - type: string_literal
                                  id: 41
                                  range: 6:24 - 6:27
                                  content: '"!"'
                        - type: '";"'
                          id: 42
                          range: 6:27 - 6:28
                    - type: expression_statement
                      id: 43
                      range: 7:5 - 7:15
                      dataflow_sources:
                        - 44
                        - 48
                      children:
                        - type: assignment_expression
                          id: 44
                          range: 7:5 - 7:14
                          dataflow_sources:
                            - 45
                            - 47
                          queries:
                            - 0
                          children:
                            - type: identifier
                              id: 45
                              range: 7:5 - 7:6
                              content: s
                              alias_of:
                                - 36
                            - type: '"+="'
                              id: 46
                              range: 7:7 - 7:9
                            - type: string_literal
                              id: 47
                              range: 7:10 - 7:14
                              content: '"!!"'
                        - type: '";"'
                          id: 48
                          range: 7:14 - 7:15
                    - type: local_variable_declaration
                      id: 49
                      range: 9:5 - 9:24
                      dataflow_sources:
                        - 50
                        - 51
                        - 55
                      children:
                        - type: type_identifier
                          id: 50
                          range: 9:5 - 9:11
                          content: String
                        - type: variable_declarator
                          id: 51
                          range: 9:12 - 9:23
                          children:
                            - type: identifier
                              id: 52
                              range: 9:12 - 9:14
                              content: s2
                              alias_of:
                                - 49
                                - 54
                            - type: '"="'
                              id: 53
                              range: 9:15 - 9:16
                            - type: string_literal
                              id: 54
                              range: 9:17 - 9:23
                              content: '"hey "'
                        - type: '";"'
                          id: 55
                          range: 9:23 - 9:24
                    - type: expression_statement
                      id: 56
                      range: 10:5 - 10:19
                      dataflow_sources:
                        - 57
                        - 65
                      children:
                        - type: assignment_expression
                          id: 57
                          range: 10:5 - 10:18
                          dataflow_sources:
                            - 58
                            - 60
                          queries:
                            - 0
                          children:
                            - type: identifier
                              id: 58
                              range: 10:5 - 10:7
                              content: s2
                              alias_of:
                                - 52
                            - type: '"+="'
                              id: 59
                              range: 10:8 - 10:10
                            - type: array_access
                              id: 60
                              range: 10:11 - 10:18
                              dataflow_sources:
                                - 61
                                - 62
                                - 63
                                - 64
                              children:
                                - type: identifier
                                  id: 61
                                  range: 10:11 - 10:15
                                  content: args
                                  alias_of:
                                    - 29
                                - type: '"["'
                                  id: 62
                                  range: 10:15 - 10:16
                                - type: decimal_integer_literal
                                  id: 63
                                  range: 10:16 - 10:17
                                  content: "0"
                                - type: '"]"'
                                  id: 64
                                  range: 10:17 - 10:18
                        - type: '";"'
                          id: 65
                          range: 10:18 - 10:19
                    - type: expression_statement
                      id: 66
                      range: 11:5 - 11:20
                      dataflow_sources:
                        - 67
                        - 71
                      children:
                        - type: assignment_expression
                          id: 67
                          range: 11:5 - 11:19
                          dataflow_sources:
                            - 68
                            - 70
                          queries:
                            - 0
                          children:
                            - type: identifier
                              id: 68
                              range: 11:5 - 11:7
                              content: s2
                              alias_of:
                                - 57
                            - type: '"+="'
                              id: 69
                              range: 11:8 - 11:10
                            - type: string_literal
                              id: 70
                              range: 11:11 - 11:19
                              content: '" there"'
                        - type: '";"'
                          id: 71
                          range: 11:19 - 11:20
                    - type: '"}"'
                      id: 72
                      range: 12:3 - 12:4
            - type: '"}"'
              id: 73
              range: 13:1 - 13:2

- node: 13
  content: '"Hello World"'
  data:
    value: Hello World
    isliteral: true
- node: 44
  content: s += "!!"
  data:
    value: Hello World!!!
    isliteral: true
- node: 57
  content: s2 += args[0]
  data:
    value: hey �
    isliteral: false
- node: 67
  content: s2 += " there"
  data:
    value: hey � there
    isliteral: false
- node: 38
  content: Greeting + "!"
  data:
    value: Hello World!
    isliteral: true
- node: 47
  content: '"!!"'
  data:
    value: '!!'
    isliteral: true
- node: 54
  content: '"hey "'
  data:
    value: 'hey '
    isliteral: true
- node: 70
  content: '" there"'
  data:
    value: ' there'
    isliteral: true
- node: 41
  content: '"!"'
  data:
    value: '!'
    isliteral: true

