Use ${...} for splicing
commit15d91bf35862f2ec13492f16356486ff69704497
authorWilfred Hughes <wilfred@fb.com>
Tue, 15 Dec 2020 18:44:59 +0000 (15 10:44 -0800)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Tue, 15 Dec 2020 18:46:57 +0000 (15 10:46 -0800)
treea4472e7cd0ed23b76139ac66b4450ee1cbf3146c
parent8edcbf83a2322200d808f08c668c15d3db498280
Use ${...} for splicing

Summary:
Introduce a new ETSpliceExpression node to the FFP, and lower it to ET_Splice in the AAST.

Remove the `__splice__` special function previously used, and update the relevant tests.

Differential Revision: D24665691

fbshipit-source-id: 4ba6f05ae389e732523c7fa7b326e1a96425c61b
87 files changed:
hphp/hack/src/decl/direct_decl_smart_constructors_generated.rs
hphp/hack/src/facts/facts_smart_constructors_generated.rs
hphp/hack/src/hackfmt/hack_format.ml
hphp/hack/src/naming/naming_special_names.rs
hphp/hack/src/parser/core/expression_parser.rs
hphp/hack/src/parser/decl_mode_smart_constructors_generated.rs
hphp/hack/src/parser/flatten_smart_constructors.rs
hphp/hack/src/parser/full_fidelity_syntax.ml
hphp/hack/src/parser/full_fidelity_syntax_kind.ml
hphp/hack/src/parser/full_fidelity_syntax_type.ml
hphp/hack/src/parser/full_fidelity_validated_syntax.ml
hphp/hack/src/parser/js/full_fidelity_schema.json
hphp/hack/src/parser/lowerer/desugar_expression_tree.rs
hphp/hack/src/parser/lowerer/lowerer.rs
hphp/hack/src/parser/minimal_smart_constructors.rs
hphp/hack/src/parser/ocaml_syntax_generated.rs
hphp/hack/src/parser/positioned_smart_constructors.rs
hphp/hack/src/parser/rust_parser_errors.rs
hphp/hack/src/parser/schema/full_fidelity_schema.ml
hphp/hack/src/parser/schema/schema_definition.ml
hphp/hack/src/parser/smart_constructors_generated.rs
hphp/hack/src/parser/smart_constructors_wrappers.rs
hphp/hack/src/parser/syntax_by_ref/syntax_children_iterator_generated.rs
hphp/hack/src/parser/syntax_by_ref/syntax_impl_generated.rs
hphp/hack/src/parser/syntax_by_ref/syntax_type_impl_generated.rs
hphp/hack/src/parser/syntax_by_ref/syntax_variant_generated.rs
hphp/hack/src/parser/syntax_error.rs
hphp/hack/src/parser/syntax_generated.rs
hphp/hack/src/parser/syntax_kind.rs
hphp/hack/src/parser/syntax_sig.ml
hphp/hack/src/parser/syntax_smart_constructors_generated.rs
hphp/hack/src/parser/syntax_type.rs
hphp/hack/src/parser/verify_smart_constructors_generated.rs
hphp/hack/test/full_fidelity/cases/test_eval_deref.php.json.exp
hphp/hack/test/full_fidelity/cases/test_lambda_byref_assign.php.json.exp
hphp/hack/test/full_fidelity/cases/test_splice.php
hphp/hack/test/full_fidelity/cases/test_splice.php.errors.exp
hphp/hack/test/full_fidelity/cases/test_splice.php.json.exp
hphp/hack/test/nast/expression_tree_splice.php
hphp/hack/test/nast/expression_tree_splice.php.exp
hphp/hack/test/typecheck/expression_trees/consecutive_splicing.php
hphp/hack/test/typecheck/expression_trees/consecutive_splicing.php.like_types.exp
hphp/hack/test/typecheck/expression_trees/nested_expression_trees.php
hphp/hack/test/typecheck/expression_trees/nested_expression_trees.php.exp
hphp/hack/test/typecheck/expression_trees/nested_splicing.php
hphp/hack/test/typecheck/expression_trees/nested_splicing.php.exp
hphp/hack/test/typecheck/expression_trees/nested_splicing.php.like_types.exp
hphp/hack/test/typecheck/expression_trees/nested_splicing2.php
hphp/hack/test/typecheck/expression_trees/nested_splicing2.php.exp
hphp/hack/test/typecheck/expression_trees/nested_splicing2.php.like_types.exp
hphp/hack/test/typecheck/expression_trees/splice.php
hphp/hack/test/typecheck/expression_trees/splice2.php
hphp/hack/test/typecheck/expression_trees/splice2.php.like_types.exp
hphp/hack/test/typecheck/expression_trees/splice_call.php
hphp/hack/test/typecheck/expression_trees/splice_call.php.like_types.exp
hphp/hack/test/typecheck/expression_trees/splice_err1.php
hphp/hack/test/typecheck/expression_trees/splice_err1.php.exp
hphp/hack/test/typecheck/expression_trees/splice_err2.php
hphp/hack/test/typecheck/expression_trees/splice_err2.php.exp
hphp/hack/test/typecheck/expression_trees/splice_err3.php
hphp/hack/test/typecheck/expression_trees/splice_err3.php.exp
hphp/hack/test/typecheck/expression_trees/splice_err4.php
hphp/hack/test/typecheck/expression_trees/splice_err4.php.exp
hphp/hack/test/typecheck/expression_trees/splice_err4.php.like_types.exp
hphp/hack/test/typecheck/expression_trees/splice_infer.php
hphp/hack/test/typecheck/expression_trees/splice_infer.php.like_types.exp
hphp/hack/test/typecheck/expression_trees/splice_state.php
hphp/hack/test/typecheck/expression_trees/splice_state.php.exp
hphp/hack/test/typecheck/expression_trees/splice_state.php.like_types.exp
hphp/hack/test/typecheck/expression_trees/splice_state2.php
hphp/hack/test/typecheck/expression_trees/splice_state2.php.exp
hphp/hack/test/typecheck/expression_trees/splice_state2.php.like_types.exp
hphp/hack/test/typecheck/expression_trees/splice_state3.php
hphp/hack/test/typecheck/expression_trees/splice_state3.php.exp
hphp/hack/test/typecheck/expression_trees/splice_state3.php.like_types.exp
hphp/hack/test/typecheck/expression_trees/splice_state4.php
hphp/hack/test/typecheck/expression_trees/splice_state4.php.exp
hphp/hack/test/typecheck/expression_trees/splice_state4.php.like_types.exp
hphp/hack/test/typecheck/expression_trees/splice_variable.php
hphp/hack/test/typecheck/expression_trees/splice_variable.php.like_types.exp
hphp/hack/test/typecheck/expression_trees/splice_variable3.php
hphp/hack/test/typecheck/expression_trees/splice_variable3.php.like_types.exp
hphp/hack/test/typecheck/expression_trees/splice_variable4.php
hphp/hack/test/typecheck/expression_trees/splice_variable4.php.like_types.exp
hphp/hack/test/typecheck/expression_trees/splice_variable_state.php
hphp/hack/test/typecheck/expression_trees/splice_variable_state.php.like_types.exp
hphp/hack/test/typecheck/ffp/invalid_variable_name3_fail.php.exp