Skip to content

Instantly share code, notes, and snippets.

@fredemmott
Created December 9, 2017 01:10
Show Gist options
  • Save fredemmott/85632d66bc09413e00ebf8710e5fa0af to your computer and use it in GitHub Desktop.
Save fredemmott/85632d66bc09413e00ebf8710e5fa0af to your computer and use it in GitHub Desktop.
diff --git a/tmp/schema-b b/tmp/schema-c
index e5cd03a..f0d039f 100644
--- a/tmp/schema-b
+++ b/tmp/schema-c
@@ -1,6 +1,6 @@
{ "description" :
"@generated JSON schema of the Hack Full Fidelity Parser AST",
- "version" : "2017-10-31-0001",
+ "version" : "2017-12-01-0001",
"trivia" : [
{ "trivia_kind_name" : "WhiteSpace",
"trivia_type_name" : "whitespace" },
@@ -21,7 +21,9 @@
{ "trivia_kind_name" : "FallThrough",
"trivia_type_name" : "fall_through" },
{ "trivia_kind_name" : "ExtraTokenError",
- "trivia_type_name" : "extra_token_error" } ],
+ "trivia_type_name" : "extra_token_error" },
+ { "trivia_kind_name" : "AfterHaltCompiler",
+ "trivia_type_name" : "after_halt_compiler" } ],
"tokens" : [
{ "token_kind" : "Abstract",
"token_text" : "abstract" },
@@ -67,6 +69,8 @@
"token_text" : "coroutine" },
{ "token_kind" : "Darray",
"token_text" : "darray" },
+ { "token_kind" : "Declare",
+ "token_text" : "declare" },
{ "token_kind" : "Default",
"token_text" : "default" },
{ "token_kind" : "Define",
@@ -299,6 +303,8 @@
"token_text" : "||" },
{ "token_kind" : "Question",
"token_text" : "?" },
+ { "token_kind" : "QuestionColon",
+ "token_text" : "?:" },
{ "token_kind" : "QuestionQuestion",
"token_text" : "??" },
{ "token_kind" : "Colon",
@@ -359,6 +365,8 @@
"token_text" : "<?" },
{ "token_kind" : "QuestionGreaterThan",
"token_text" : "?>" },
+ { "token_kind" : "HaltCompiler",
+ "token_text" : "__halt_compiler" },
{ "token_kind" : "ErrorToken",
"token_text" : null },
@@ -684,7 +692,7 @@
"fields" : [
{ "field_name" : "aliasing_name" },
{ "field_name" : "keyword" },
- { "field_name" : "visibility" },
+ { "field_name" : "modifiers" },
{ "field_name" : "aliased_name" }
] },
{ "kind_name" : "TraitUseConflictResolution",
@@ -745,6 +753,7 @@
{ "field_name" : "keyword" },
{ "field_name" : "type_keyword" },
{ "field_name" : "name" },
+ { "field_name" : "type_parameters" },
{ "field_name" : "type_constraint" },
{ "field_name" : "equal" },
{ "field_name" : "type_specifier" },
@@ -775,6 +784,7 @@
"description" : "variadic_parameter",
"prefix" : "variadic_parameter",
"fields" : [
+ { "field_name" : "call_convention" },
{ "field_name" : "type" },
{ "field_name" : "ellipsis" }
] },
@@ -881,6 +891,28 @@
{ "field_name" : "expression" },
{ "field_name" : "semicolon" }
] },
+ { "kind_name" : "DeclareDirectiveStatement",
+ "type_name" : "declare_directive_statement",
+ "description" : "declare_directive_statement",
+ "prefix" : "declare_directive",
+ "fields" : [
+ { "field_name" : "keyword" },
+ { "field_name" : "left_paren" },
+ { "field_name" : "expression" },
+ { "field_name" : "right_paren" },
+ { "field_name" : "semicolon" }
+ ] },
+ { "kind_name" : "DeclareBlockStatement",
+ "type_name" : "declare_block_statement",
+ "description" : "declare_block_statement",
+ "prefix" : "declare_block",
+ "fields" : [
+ { "field_name" : "keyword" },
+ { "field_name" : "left_paren" },
+ { "field_name" : "expression" },
+ { "field_name" : "right_paren" },
+ { "field_name" : "body" }
+ ] },
{ "kind_name" : "WhileStatement",
"type_name" : "while_statement",
"description" : "while_statement",
@@ -1178,6 +1210,21 @@
{ "field_name" : "equal" },
{ "field_name" : "value" }
] },
+ { "kind_name" : "AnonymousClass",
+ "type_name" : "anonymous_class",
+ "description" : "anonymous_class",
+ "prefix" : "anonymous_class",
+ "fields" : [
+ { "field_name" : "class_keyword" },
+ { "field_name" : "left_paren" },
+ { "field_name" : "argument_list" },
+ { "field_name" : "right_paren" },
+ { "field_name" : "extends_keyword" },
+ { "field_name" : "extends_list" },
+ { "field_name" : "implements_keyword" },
+ { "field_name" : "implements_list" },
+ { "field_name" : "body" }
+ ] },
{ "kind_name" : "AnonymousFunction",
"type_name" : "anonymous_function",
"description" : "anonymous_function",
@@ -1195,6 +1242,23 @@
{ "field_name" : "use" },
{ "field_name" : "body" }
] },
+ { "kind_name" : "Php7AnonymousFunction",
+ "type_name" : "php7_anonymous_function",
+ "description" : "php7_anonymous_function",
+ "prefix" : "php7_anonymous",
+ "fields" : [
+ { "field_name" : "static_keyword" },
+ { "field_name" : "async_keyword" },
+ { "field_name" : "coroutine_keyword" },
+ { "field_name" : "function_keyword" },
+ { "field_name" : "left_paren" },
+ { "field_name" : "parameters" },
+ { "field_name" : "right_paren" },
+ { "field_name" : "use" },
+ { "field_name" : "colon" },
+ { "field_name" : "type" },
+ { "field_name" : "body" }
+ ] },
{ "kind_name" : "AnonymousFunctionUseClause",
"type_name" : "anonymous_function_use_clause",
"description" : "anonymous_function_use_clause",
@@ -1374,6 +1438,16 @@
{ "field_name" : "argument_list" },
{ "field_name" : "right_paren" }
] },
+ { "kind_name" : "HaltCompilerExpression",
+ "type_name" : "halt_compiler_expression",
+ "description" : "halt_compiler_expression",
+ "prefix" : "halt_compiler",
+ "fields" : [
+ { "field_name" : "keyword" },
+ { "field_name" : "left_paren" },
+ { "field_name" : "argument_list" },
+ { "field_name" : "right_paren" }
+ ] },
{ "kind_name" : "IssetExpression",
"type_name" : "isset_expression",
"description" : "isset_expression",
@@ -1458,6 +1532,13 @@
"prefix" : "object_creation",
"fields" : [
{ "field_name" : "new_keyword" },
+ { "field_name" : "object" }
+ ] },
+ { "kind_name" : "ConstructorCall",
+ "type_name" : "constructor_call",
+ "description" : "constructor_call",
+ "prefix" : "constructor_call",
+ "fields" : [
{ "field_name" : "type" },
{ "field_name" : "left_paren" },
{ "field_name" : "argument_list" },
@@ -1602,6 +1683,7 @@
"description" : "xhp_enum_type",
"prefix" : "xhp_enum",
"fields" : [
+ { "field_name" : "optional" },
{ "field_name" : "keyword" },
{ "field_name" : "left_brace" },
{ "field_name" : "values" },
@@ -1641,15 +1723,25 @@
"fields" : [
{ "field_name" : "type" }
] },
- { "kind_name" : "XHPAttribute",
- "type_name" : "xhp_attribute",
- "description" : "xhp_attribute",
- "prefix" : "xhp_attribute",
+ { "kind_name" : "XHPSimpleAttribute",
+ "type_name" : "xhp_simple_attribute",
+ "description" : "xhp_simple_attribute",
+ "prefix" : "xhp_simple_attribute",
"fields" : [
{ "field_name" : "name" },
{ "field_name" : "equal" },
{ "field_name" : "expression" }
] },
+ { "kind_name" : "XHPSpreadAttribute",
+ "type_name" : "xhp_spread_attribute",
+ "description" : "xhp_spread_attribute",
+ "prefix" : "xhp_spread_attribute",
+ "fields" : [
+ { "field_name" : "left_brace" },
+ { "field_name" : "spread_operator" },
+ { "field_name" : "expression" },
+ { "field_name" : "right_brace" }
+ ] },
{ "kind_name" : "XHPOpen",
"type_name" : "xhp_open",
"description" : "xhp_open",
@@ -1801,12 +1893,20 @@
{ "field_name" : "coroutine" },
{ "field_name" : "function_keyword" },
{ "field_name" : "inner_left_paren" },
- { "field_name" : "parameter_types" },
+ { "field_name" : "parameter_list" },
{ "field_name" : "inner_right_paren" },
{ "field_name" : "colon" },
{ "field_name" : "return_type" },
{ "field_name" : "outer_right_paren" }
] },
+ { "kind_name" : "ClosureParameterTypeSpecifier",
+ "type_name" : "closure_parameter_type_specifier",
+ "description" : "closure_parameter_type_specifier",
+ "prefix" : "closure_parameter",
+ "fields" : [
+ { "field_name" : "call_convention" },
+ { "field_name" : "type" }
+ ] },
{ "kind_name" : "ClassnameTypeSpecifier",
"type_name" : "classname_type_specifier",
"description" : "classname_type_specifier",
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment