Allow to interleave visibility and function modifiers
commitd2533d7bccaabc2c44a74926c277b4650ace24ab
authorVladimir Matveev <vladima@fb.com>
Mon, 11 Dec 2017 17:48:40 +0000 (11 09:48 -0800)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Mon, 11 Dec 2017 17:58:07 +0000 (11 09:58 -0800)
tree82ced1b7d0536be2edf8517a77fbbae0399d1997
parent37dbf2523b0f30a5498ef6b540b486aafb8cb390
Allow to interleave visibility and function modifiers

Summary:
HHVM allows to put visibility and function modifiers like `async` in any order - this diff enables similar capabilities for FFP

This diff includes lots of changes in FFP baselines but all of them are related to the fact that
- instead of two fields `async` and `coroutine` function declaration header now has only one `modifiers`
- modifiers are removed from methodish declarations
- error ranges over function declaration header for methods now include modifiers

Differential Revision: D6523113

fbshipit-source-id: 7c97c3ebce14c2facb69b8f7a74e9fd42c5eca22
51 files changed:
hphp/hack/src/generate_full_fidelity.ml
hphp/hack/src/hackfmt/hack_format.ml
hphp/hack/src/parser/coroutine/coroutine_closure_generator.ml
hphp/hack/src/parser/coroutine/coroutine_lowerer.ml
hphp/hack/src/parser/coroutine/coroutine_method_lowerer.ml
hphp/hack/src/parser/coroutine/coroutine_syntax.ml
hphp/hack/src/parser/full_fidelity_ast.ml
hphp/hack/src/parser/full_fidelity_declaration_parser.ml
hphp/hack/src/parser/full_fidelity_parser_errors.ml
hphp/hack/src/parser/full_fidelity_positioned_syntax.ml
hphp/hack/src/parser/full_fidelity_pretty_printer.ml
hphp/hack/src/parser/full_fidelity_syntax.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_editable.js
hphp/hack/src/parser/js/full_fidelity_schema.json
hphp/hack/src/parser/php/full_fidelity_editable.php
hphp/hack/src/parser/schema/full_fidelity_schema.ml
hphp/hack/src/parser/schema/schema_definition.ml
hphp/hack/src/parser/syntax_sig.ml
hphp/hack/src/server/ffpAutocompleteContextParser.ml
hphp/hack/test/full_fidelity/cases/context/test_extra_error_trivia.exp
hphp/hack/test/full_fidelity/cases/context/test_method_decl_extra_token.exp
hphp/hack/test/full_fidelity/cases/test_abstract_final_errors.exp
hphp/hack/test/full_fidelity/cases/test_array_expression.exp
hphp/hack/test/full_fidelity/cases/test_array_key_value_precedence.exp
hphp/hack/test/full_fidelity/cases/test_attribute_spec.exp
hphp/hack/test/full_fidelity/cases/test_awaitable_creation.exp
hphp/hack/test/full_fidelity/cases/test_class_method_declaration.exp
hphp/hack/test/full_fidelity/cases/test_closure_type.exp
hphp/hack/test/full_fidelity/cases/test_constructor_destructor.exp
hphp/hack/test/full_fidelity/cases/test_errors_method.exp
hphp/hack/test/full_fidelity/cases/test_for_statements.exp
hphp/hack/test/full_fidelity/cases/test_foreach_statements.exp
hphp/hack/test/full_fidelity/cases/test_function_call.exp
hphp/hack/test/full_fidelity/cases/test_inout_params.exp
hphp/hack/test/full_fidelity/cases/test_list_expression.exp
hphp/hack/test/full_fidelity/cases/test_list_precedence.exp
hphp/hack/test/full_fidelity/cases/test_literals.exp
hphp/hack/test/full_fidelity/cases/test_namespace.exp
hphp/hack/test/full_fidelity/cases/test_simple.exp
hphp/hack/test/full_fidelity/cases/test_spaces_preserved_in_string_containing_expression.exp
hphp/hack/test/full_fidelity/cases/test_statements.exp
hphp/hack/test/full_fidelity/cases/test_trailing_commas.exp
hphp/hack/test/full_fidelity/cases/test_try_statement.exp
hphp/hack/test/full_fidelity/cases/test_tuple_type_keyword.exp
hphp/hack/test/full_fidelity/cases/test_types_type_const.exp
hphp/hack/test/full_fidelity/cases/test_variadic_type_hint.exp
hphp/hack/test/full_fidelity/cases/test_varray_darray_expressions.exp
hphp/hack/test/full_fidelity/cases/test_visibility_modifier_errors.exp
hphp/test/hhcodegen_failing_tests_slow