type: program
id: 0
range: 1:1 - 4:1
dataflow_sources:
    - 1
    - 9
children:
    - type: expression_statement
      id: 1
      range: 1:1 - 1:8
      children:
        - type: binary_expression
          id: 2
          range: 1:1 - 1:8
          dataflow_sources:
            - 3
            - 7
            - 8
          children:
            - type: string
              id: 3
              range: 1:1 - 1:4
              dataflow_sources:
                - 4
                - 5
                - 6
              children:
                - type: '"""'
                  id: 4
                  range: 1:1 - 1:2
                - type: string_fragment
                  id: 5
                  range: 1:2 - 1:3
                  content: a
                - type: '"""'
                  id: 6
                  range: 1:3 - 1:4
            - type: '"+"'
              id: 7
              range: 1:5 - 1:6
            - type: identifier
              id: 8
              range: 1:7 - 1:8
              content: x
    - type: expression_statement
      id: 9
      range: 3:1 - 3:9
      children:
        - type: template_string
          id: 10
          range: 3:1 - 3:9
          dataflow_sources:
            - 11
            - 12
            - 16
          children:
            - type: '"`"'
              id: 11
              range: 3:1 - 3:2
            - type: template_substitution
              id: 12
              range: 3:2 - 3:6
              dataflow_sources:
                - 13
                - 14
                - 15
              children:
                - type: '"${"'
                  id: 13
                  range: 3:2 - 3:4
                - type: identifier
                  id: 14
                  range: 3:4 - 3:5
                  content: x
                - type: '"}"'
                  id: 15
                  range: 3:5 - 3:6
            - type: '"`"'
              id: 16
              range: 3:8 - 3:9

- node: 2
  content: '"a" + x'
  data:
    value: a�
    isliteral: false
- node: 10
  content: '`${x} b`'
  data:
    value: � b
    isliteral: false
- node: 3
  content: '"a"'
  data:
    value: a
    isliteral: true
- node: 5
  content: a
  data:
    value: a
    isliteral: true

