============================================
Simple
============================================
const Named =
{{ (doubled foo) }}
----
(program
(lexical_declaration
(variable_declarator
(identifier)
(glimmer_template
(glimmer_opening_tag)
(glimmer_closing_tag)))))
============================================
Empty
============================================
----
(program
(expression_statement
(glimmer_template
(glimmer_opening_tag)
(glimmer_closing_tag))))
============================================
Two Components
============================================
const WithSemi =
{{ (doubled foo) }}
;
;
----
(program
(lexical_declaration
(variable_declarator
(identifier)
(glimmer_template
(glimmer_opening_tag)
(glimmer_closing_tag))))
(expression_statement
(glimmer_template
(glimmer_opening_tag)
(glimmer_closing_tag))))
============================================
Multiple Assignment
============================================
const Empty =
const WithSemi =
{{ (doubled foo) }}
;
;
----
(program
(lexical_declaration
(variable_declarator
(identifier)
(glimmer_template
(glimmer_opening_tag)
(glimmer_closing_tag))))
(lexical_declaration
(variable_declarator
(identifier)
(glimmer_template
(glimmer_opening_tag)
(glimmer_closing_tag))))
(expression_statement
(glimmer_template
(glimmer_opening_tag)
(glimmer_closing_tag))))
============================================
Class Component
============================================
class InClass {
{{this.whatever}}
}
----
(program
(class_declaration
(identifier)
(class_body
(glimmer_template
(glimmer_opening_tag)
(glimmer_closing_tag)))))
============================================
JS Regex Evasion
============================================
{{#if true}}
{{/if}}
----
(program
(expression_statement
(glimmer_template
(glimmer_opening_tag)
(glimmer_closing_tag)
)))