type: program
id: 0
range: 1:1 - 18:1
dataflow_sources:
    - 1
    - 2
    - 117
children:
    - type: php_tag
      id: 1
      range: 1:1 - 1:6
      content: <?php
    - type: class_declaration
      id: 2
      range: 2:1 - 16:2
      queries:
        - 1
      children:
        - type: '"class"'
          id: 3
          range: 2:1 - 2:6
        - type: name
          id: 4
          range: 2:7 - 2:12
          content: Greet
        - type: declaration_list
          id: 5
          range: 2:13 - 16:2
          children:
            - type: '"{"'
              id: 6
              range: 2:13 - 2:14
            - type: const_declaration
              id: 7
              range: 3:5 - 3:36
              children:
                - type: '"const"'
                  id: 8
                  range: 3:5 - 3:10
                - type: const_element
                  id: 9
                  range: 3:11 - 3:35
                  dataflow_sources:
                    - 10
                    - 11
                    - 12
                  children:
                    - type: name
                      id: 10
                      range: 3:11 - 3:19
                      content: Greeting
                      alias_of:
                        - 12
                    - type: '"="'
                      id: 11
                      range: 3:20 - 3:21
                    - type: encapsed_string
                      id: 12
                      range: 3:22 - 3:35
                      dataflow_sources:
                        - 13
                        - 14
                        - 15
                      children:
                        - type: '"""'
                          id: 13
                          range: 3:22 - 3:23
                        - type: string_value
                          id: 14
                          range: 3:23 - 3:34
                          content: Hello World
                        - type: '"""'
                          id: 15
                          range: 3:34 - 3:35
                - type: '";"'
                  id: 16
                  range: 3:35 - 3:36
            - type: method_declaration
              id: 17
              range: 5:5 - 15:6
              children:
                - type: visibility_modifier
                  id: 18
                  range: 5:5 - 5:11
                  dataflow_sources:
                    - 19
                  children:
                    - type: '"public"'
                      id: 19
                      range: 5:5 - 5:11
                - type: static_modifier
                  id: 20
                  range: 5:12 - 5:18
                  dataflow_sources:
                    - 21
                  children:
                    - type: '"static"'
                      id: 21
                      range: 5:12 - 5:18
                - type: '"function"'
                  id: 22
                  range: 5:19 - 5:27
                - type: name
                  id: 23
                  range: 5:28 - 5:32
                  content: main
                - type: formal_parameters
                  id: 24
                  range: 5:32 - 5:39
                  dataflow_sources:
                    - 25
                    - 26
                    - 30
                  children:
                    - type: '"("'
                      id: 25
                      range: 5:32 - 5:33
                    - type: simple_parameter
                      id: 26
                      range: 5:33 - 5:38
                      alias_of:
                        - 27
                      children:
                        - type: variable_name
                          id: 27
                          range: 5:33 - 5:38
                          children:
                            - type: '"$"'
                              id: 28
                              range: 5:33 - 5:34
                            - type: name
                              id: 29
                              range: 5:34 - 5:38
                              content: args
                    - type: '")"'
                      id: 30
                      range: 5:38 - 5:39
                - type: compound_statement
                  id: 31
                  range: 6:5 - 15:6
                  children:
                    - type: '"{"'
                      id: 32
                      range: 6:5 - 6:6
                    - type: expression_statement
                      id: 33
                      range: 7:9 - 7:35
                      children:
                        - type: assignment_expression
                          id: 34
                          range: 7:9 - 7:34
                          alias_of:
                            - 39
                          queries:
                            - 0
                          children:
                            - type: variable_name
                              id: 35
                              range: 7:9 - 7:11
                              children:
                                - type: '"$"'
                                  id: 36
                                  range: 7:9 - 7:10
                                - type: name
                                  id: 37
                                  range: 7:10 - 7:11
                                  content: s
                            - type: '"="'
                              id: 38
                              range: 7:12 - 7:13
                            - type: binary_expression
                              id: 39
                              range: 7:14 - 7:34
                              dataflow_sources:
                                - 40
                                - 45
                                - 46
                              children:
                                - type: class_constant_access_expression
                                  id: 40
                                  range: 7:14 - 7:28
                                  dataflow_sources:
                                    - 41
                                    - 43
                                    - 44
                                  alias_of:
                                    - 12
                                  children:
                                    - type: relative_scope
                                      id: 41
                                      range: 7:14 - 7:18
                                      dataflow_sources:
                                        - 42
                                      children:
                                        - type: '"self"'
                                          id: 42
                                          range: 7:14 - 7:18
                                    - type: '"::"'
                                      id: 43
                                      range: 7:18 - 7:20
                                    - type: name
                                      id: 44
                                      range: 7:20 - 7:28
                                      content: Greeting
                                - type: '"."'
                                  id: 45
                                  range: 7:29 - 7:30
                                - type: encapsed_string
                                  id: 46
                                  range: 7:31 - 7:34
                                  dataflow_sources:
                                    - 47
                                    - 48
                                    - 49
                                  children:
                                    - type: '"""'
                                      id: 47
                                      range: 7:31 - 7:32
                                    - type: string_value
                                      id: 48
                                      range: 7:32 - 7:33
                                      content: '!'
                                    - type: '"""'
                                      id: 49
                                      range: 7:33 - 7:34
                        - type: '";"'
                          id: 50
                          range: 7:34 - 7:35
                    - type: expression_statement
                      id: 51
                      range: 8:9 - 8:20
                      children:
                        - type: augmented_assignment_expression
                          id: 52
                          range: 8:9 - 8:19
                          dataflow_sources:
                            - 53
                            - 57
                          children:
                            - type: variable_name
                              id: 53
                              range: 8:9 - 8:11
                              alias_of:
                                - 34
                              children:
                                - type: '"$"'
                                  id: 54
                                  range: 8:9 - 8:10
                                - type: name
                                  id: 55
                                  range: 8:10 - 8:11
                                  content: s
                            - type: '".="'
                              id: 56
                              range: 8:12 - 8:14
                            - type: encapsed_string
                              id: 57
                              range: 8:15 - 8:19
                              dataflow_sources:
                                - 58
                                - 59
                                - 60
                              children:
                                - type: '"""'
                                  id: 58
                                  range: 8:15 - 8:16
                                - type: string_value
                                  id: 59
                                  range: 8:16 - 8:18
                                  content: '!!'
                                - type: '"""'
                                  id: 60
                                  range: 8:18 - 8:19
                        - type: '";"'
                          id: 61
                          range: 8:19 - 8:20
                    - type: expression_statement
                      id: 62
                      range: 10:9 - 10:22
                      children:
                        - type: assignment_expression
                          id: 63
                          range: 10:9 - 10:21
                          alias_of:
                            - 68
                          queries:
                            - 0
                          children:
                            - type: variable_name
                              id: 64
                              range: 10:9 - 10:12
                              children:
                                - type: '"$"'
                                  id: 65
                                  range: 10:9 - 10:10
                                - type: name
                                  id: 66
                                  range: 10:10 - 10:12
                                  content: s2
                            - type: '"="'
                              id: 67
                              range: 10:13 - 10:14
                            - type: encapsed_string
                              id: 68
                              range: 10:15 - 10:21
                              dataflow_sources:
                                - 69
                                - 70
                                - 71
                              children:
                                - type: '"""'
                                  id: 69
                                  range: 10:15 - 10:16
                                - type: string_value
                                  id: 70
                                  range: 10:16 - 10:20
                                  content: 'hey '
                                - type: '"""'
                                  id: 71
                                  range: 10:20 - 10:21
                        - type: '";"'
                          id: 72
                          range: 10:21 - 10:22
                    - type: expression_statement
                      id: 73
                      range: 11:9 - 11:25
                      children:
                        - type: augmented_assignment_expression
                          id: 74
                          range: 11:9 - 11:24
                          dataflow_sources:
                            - 75
                            - 79
                          children:
                            - type: variable_name
                              id: 75
                              range: 11:9 - 11:12
                              alias_of:
                                - 63
                              children:
                                - type: '"$"'
                                  id: 76
                                  range: 11:9 - 11:10
                                - type: name
                                  id: 77
                                  range: 11:10 - 11:12
                                  content: s2
                            - type: '".="'
                              id: 78
                              range: 11:13 - 11:15
                            - type: subscript_expression
                              id: 79
                              range: 11:16 - 11:24
                              dataflow_sources:
                                - 80
                              queries:
                                - 4
                              children:
                                - type: variable_name
                                  id: 80
                                  range: 11:16 - 11:21
                                  alias_of:
                                    - 27
                                  children:
                                    - type: '"$"'
                                      id: 81
                                      range: 11:16 - 11:17
                                    - type: name
                                      id: 82
                                      range: 11:17 - 11:21
                                      content: args
                                - type: '"["'
                                  id: 83
                                  range: 11:21 - 11:22
                                - type: integer
                                  id: 84
                                  range: 11:22 - 11:23
                                  content: "0"
                                - type: '"]"'
                                  id: 85
                                  range: 11:23 - 11:24
                        - type: '";"'
                          id: 86
                          range: 11:24 - 11:25
                    - type: expression_statement
                      id: 87
                      range: 12:9 - 12:25
                      children:
                        - type: augmented_assignment_expression
                          id: 88
                          range: 12:9 - 12:24
                          dataflow_sources:
                            - 89
                            - 93
                          children:
                            - type: variable_name
                              id: 89
                              range: 12:9 - 12:12
                              alias_of:
                                - 74
                              children:
                                - type: '"$"'
                                  id: 90
                                  range: 12:9 - 12:10
                                - type: name
                                  id: 91
                                  range: 12:10 - 12:12
                                  content: s2
                            - type: '".="'
                              id: 92
                              range: 12:13 - 12:15
                            - type: encapsed_string
                              id: 93
                              range: 12:16 - 12:24
                              dataflow_sources:
                                - 94
                                - 95
                                - 96
                              children:
                                - type: '"""'
                                  id: 94
                                  range: 12:16 - 12:17
                                - type: string_value
                                  id: 95
                                  range: 12:17 - 12:23
                                  content: ' there'
                                - type: '"""'
                                  id: 96
                                  range: 12:23 - 12:24
                        - type: '";"'
                          id: 97
                          range: 12:24 - 12:25
                    - type: expression_statement
                      id: 98
                      range: 14:9 - 14:33
                      children:
                        - type: assignment_expression
                          id: 99
                          range: 14:9 - 14:32
                          alias_of:
                            - 104
                          queries:
                            - 0
                          children:
                            - type: variable_name
                              id: 100
                              range: 14:9 - 14:12
                              children:
                                - type: '"$"'
                                  id: 101
                                  range: 14:9 - 14:10
                                - type: name
                                  id: 102
                                  range: 14:10 - 14:12
                                  content: s3
                            - type: '"="'
                              id: 103
                              range: 14:13 - 14:14
                            - type: encapsed_string
                              id: 104
                              range: 14:15 - 14:32
                              dataflow_sources:
                                - 105
                                - 106
                                - 107
                                - 108
                                - 111
                                - 112
                                - 113
                              children:
                                - type: '"""'
                                  id: 105
                                  range: 14:15 - 14:16
                                - type: string_value
                                  id: 106
                                  range: 14:16 - 14:21
                                  content: foo '
                                - type: '"{"'
                                  id: 107
                                  range: 14:21 - 14:22
                                - type: variable_name
                                  id: 108
                                  range: 14:22 - 14:25
                                  alias_of:
                                    - 88
                                  children:
                                    - type: '"$"'
                                      id: 109
                                      range: 14:22 - 14:23
                                    - type: name
                                      id: 110
                                      range: 14:23 - 14:25
                                      content: s2
                                - type: '"}"'
                                  id: 111
                                  range: 14:25 - 14:26
                                - type: string_value
                                  id: 112
                                  range: 14:26 - 14:31
                                  content: ''' bar'
                                - type: '"""'
                                  id: 113
                                  range: 14:31 - 14:32
                        - type: '";"'
                          id: 114
                          range: 14:32 - 14:33
                    - type: '"}"'
                      id: 115
                      range: 15:5 - 15:6
            - type: '"}"'
              id: 116
              range: 16:1 - 16:2
    - type: text_interpolation
      id: 117
      range: 17:1 - 17:3
      dataflow_sources:
        - 118
      children:
        - type: '"?>"'
          id: 118
          range: 17:1 - 17:3

- node: 12
  content: '"Hello World"'
  data:
    value: Hello World
    isliteral: true
- node: 14
  content: Hello World
  data:
    value: Hello World
    isliteral: true
- node: 52
  content: $s .= "!!"
  data:
    value: Hello World!!!
    isliteral: true
- node: 74
  content: $s2 .= $args[0]
  data:
    value: hey �
    isliteral: false
- node: 88
  content: $s2 .= " there"
  data:
    value: hey � there
    isliteral: false
- node: 39
  content: self::Greeting . "!"
  data:
    value: Hello World!
    isliteral: true
- node: 57
  content: '"!!"'
  data:
    value: '!!'
    isliteral: true
- node: 68
  content: '"hey "'
  data:
    value: 'hey '
    isliteral: true
- node: 93
  content: '" there"'
  data:
    value: ' there'
    isliteral: true
- node: 104
  content: '"foo ''{$s2}'' bar"'
  data:
    value: foo 'hey � there' bar
    isliteral: false
- node: 46
  content: '"!"'
  data:
    value: '!'
    isliteral: true
- node: 59
  content: '!!'
  data:
    value: '!!'
    isliteral: true
- node: 70
  content: 'hey '
  data:
    value: 'hey '
    isliteral: true
- node: 95
  content: ' there'
  data:
    value: ' there'
    isliteral: true
- node: 106
  content: foo '
  data:
    value: foo '
    isliteral: true
- node: 112
  content: ''' bar'
  data:
    value: ''' bar'
    isliteral: true
- node: 48
  content: '!'
  data:
    value: '!'
    isliteral: true

