Disallow `$` as a unary operator unless as part of a variable variable variable.
[hiphop-php.git] / hphp / hack / src / parser / full_fidelity_syntax_error.mli
blob67dbafa10b935a9f40467079a02eda063c8b6846
1 (**
2 * Copyright (c) 2017, Facebook, Inc.
3 * All rights reserved.
5 * This source code is licensed under the MIT license found in the
6 * LICENSE file in the "hack" directory of this source tree.
8 *)
10 type error_type = ParseError | RuntimeError [@@deriving show]
12 type t = {
13 child : t option;
14 start_offset : int;
15 end_offset : int;
16 error_type : error_type;
17 message : string;
18 } [@@deriving show]
20 exception ParserFatal of t * Pos.t
22 val make :
23 ?child:t option -> ?error_type:error_type -> int -> int -> string -> t
25 val to_positioned_string : t -> (int -> int * int) -> string
27 val compare : t -> t -> int
29 val exactly_equal : t -> t -> bool
31 val error_type : t -> error_type
33 val message : t -> string
35 val start_offset : t -> int
36 val end_offset : t -> int
38 val error0001 : string
39 val error0002 : string
40 val error0003 : string
41 val error0006 : string
42 val error0007 : string
43 val error0008 : string
44 val error0010 : string
45 val error0011 : string
46 val error0012 : string
47 val error0013 : string
48 val error0014 : string
50 (* Syntactic errors *)
51 val error1001 : string
52 val error1003 : string
53 val error1004 : string
54 val error1006 : string
55 val error1007 : string
56 val error1008 : string
57 val error1010 : string
58 val error1011 : string
59 val error1013 : string
60 val error1014 : string
61 val error1015 : string
62 val error1016 : string
63 val error1017 : string
64 val error1018 : string
65 val error1019 : string
66 val error1020 : string
67 val error1021 : string
68 val error1022 : string
69 val error1023 : string
70 val error1025 : string
71 val error1026 : string
72 val error1028 : string
73 val error1029 : string
74 val error1031 : string
75 val error1032 : string
76 val error1033 : string
77 val error1034 : string
78 val error1035 : string
79 val error1036 : string
80 val error1038 : string
81 val error1039 : string
82 val error1041 : string
83 val error1044 : string
84 val error1045 : string
85 val error1046 : string
86 val error1047 : string
87 val error1048 : string
88 val error1050 : string
89 val error1051 : string
90 val error1052 : string
91 val error1053 : string
92 val error1054 : string
93 val error1055 : string
94 val error1056 : string
95 val error1057 : string -> string
96 val error1058 : string -> string -> string
97 val error1059 : Full_fidelity_token_kind.t -> string
99 val error2001 : string
100 val error2003 : string
101 val error2004 : string
102 val error2005 : string
103 val error2006 : string
104 val error2007 : string
105 val error2008 : string
106 val error2009 : string -> string -> string
107 val error2010 : string
108 val error2011 : string
109 val error2012 : string
110 val error2013 : string
111 val error2014 : string
112 val error2015 : string -> string -> string
113 val error2016 : string -> string -> string
114 val error2017 : string
115 val error2018 : string
116 val error2019 : string -> string -> string
117 val error2020 : string
118 val error2021 : string
119 val error2022 : string
121 val error2029 : string
122 val error2030 : string
123 val error2031 : string
124 val error2032 : string
125 val error2033 : string
126 val error2034 : string
127 val error2035 : string
128 val error2036 : string
129 val error2037 : string
130 val error2038 : string -> string
131 val error2039 : string -> string -> string -> string
132 val error2040 : string
133 val error2041 : string
134 val error2042 : string
135 val error2043 : string
136 val error2044 : string -> string -> string
137 val error2045 : string
138 val error2046 : string
139 val error2047 : string -> string
140 val error2048 : string
141 val error2049 : string
142 val error2050 : string
143 val error2051 : string
144 val error2052 : string
145 val error2053 : string
146 val error2054 : string
147 val error2055 : string
148 val error2056 : string
149 val error2057 : string
150 val error2058 : string
151 val error2060 : string
152 val error2061 : string
153 val error2062 : string
154 val error2063 : string
155 val error2064 : string
156 val error2065 : string
157 val error2066 : string
158 val error2067 : string
159 val error2068 : string
160 val error2069 : string
161 val error2070 : open_tag:string -> close_tag:string -> string
162 val error2071 : string -> string
163 val error2072 : string -> string
164 val error2073 : string
165 val error2074 : string -> string
166 val error2075 : string -> string
167 val error2076 : string
168 val error2077 : string
170 (* Start giving names rather than numbers *)
171 val async_not_last : string
172 val list_as_subscript : string
173 val vdarray_in_php : string
174 val using_st_function_scoped_top_level : string
175 val const_in_trait : string
176 val const_visibility : string
177 val strict_namespace_hh : string
178 val strict_namespace_not_hh : string
179 val original_definition : string
180 val name_is_already_in_use_php :
181 name:string -> short_name:string -> string
182 val name_is_already_in_use_hh :
183 line_num:int -> name:string -> short_name:string -> string
184 val name_is_already_in_use_implicit_hh :
185 line_num:int -> name:string -> short_name:string -> string
186 val declared_name_is_already_in_use_implicit_hh :
187 line_num:int -> name:string -> short_name:string -> string
188 val declared_name_is_already_in_use :
189 line_num:int -> name:string -> short_name:string -> string
190 val namespace_name_is_already_in_use : name:string -> short_name:string -> string
191 val function_name_is_already_in_use : name:string -> short_name:string -> string
192 val const_name_is_already_in_use : name:string -> short_name:string -> string
193 val type_name_is_already_in_use : name:string -> short_name:string -> string
194 val variadic_reference : string
195 val double_variadic : string
196 val double_reference : string
197 val global_in_const_decl : string
198 val conflicting_trait_require_clauses : name:string -> string
199 val shape_type_ellipsis_without_trailing_comma: string
200 val yield_in_magic_methods : string
201 val reference_not_allowed_on_key : string
202 val reference_not_allowed_on_value : string
203 val reference_not_allowed_on_element : string
204 val yield_outside_function : string
205 val coloncolonclass_on_dynamic : string
206 val enum_elem_name_is_class : string
207 val expected_as_or_insteadof : string
208 val expected_dotdotdot : string
209 val not_allowed_in_write : string -> string
210 val reassign_this : string
211 val strict_types_first_statement : string
212 val async_magic_method : name:string -> string
213 val reserved_keyword_as_class_name : string
214 val inout_param_in_async_generator : string
215 val inout_param_in_generator : string
216 val inout_param_in_async : string
217 val inout_param_in_construct : string
218 val fun_arg_inout_set : string
219 val fun_arg_inout_const : string
220 val fun_arg_invalid_arg : string
221 val fun_arg_inout_containers : string
222 val memoize_with_inout : string
223 val fn_with_inout_and_ref_params : string
224 val method_calls_on_xhp_attributes : string
225 val invalid_constant_initializer : string
226 val no_args_in_halt_compiler : string
227 val no_async_before_lambda_body : string
228 val halt_compiler_top_level_only : string
229 val trait_alias_rule_allows_only_final_and_visibility_modifiers : string
230 val namespace_decl_first_statement : string
231 val code_outside_namespace : string
232 val strict_types_in_declare_block_mode : string
233 val invalid_number_of_args : string -> int -> string
234 val invalid_args_by_ref : string -> string
235 val redeclaration_error : string -> string
236 val reference_to_static_scope_resolution : string
237 val class_with_abstract_method : string -> string
238 val interface_has_private_method : string
239 val redeclaration_of_function : name:string -> loc:string -> string
240 val redeclaration_of_method : name:string -> string
241 val self_or_parent_colon_colon_class_outside_of_class : string -> string
242 val variadic_param_with_type_in_php : string -> string -> string
243 val final_property : string
244 val var_property : string
245 val invalid_is_as_expression_hint : string -> string -> string
246 val elvis_operator_space : string
247 val property_has_multiple_visibilities : string -> string
248 val autoload_takes_one_argument : string
249 val clone_destruct_takes_no_arguments : string -> string -> string
250 val class_destructor_cannot_be_static : string -> string -> string
251 val clone_cannot_be_static : string -> string -> string
252 val namespace_not_a_classname : string
253 val parent_static_const_decl : string
254 val xhp_class_multiple_category_decls: string
255 val missing_double_quote: string
256 val for_with_as_expression: string
257 val sealed_val_not_classname: string
258 val sealed_final: string
259 val interface_implements: string
260 val memoize_on_lambda: string
261 val instanceof_paren: string -> string
262 val instanceof_invalid_scope_resolution: string
263 val instanceof_memberselection_inside_scoperesolution: string
264 val instanceof_missing_subscript_index: string
265 val instanceof_unknown_node: string -> string
266 val instanceof_reference: string
267 val invalid_await_use: string
268 val invalid_constructor_method_call: string
269 val invalid_default_argument: string -> string
270 val do_not_use_xor : string
271 val do_not_use_or : string
272 val do_not_use_and : string
273 val invalid_foreach_element: string
274 val invalid_scope_resolution_qualifier : string
275 val invalid_variable_name : string
276 val function_modifier : string -> string
277 val invalid_yield : string
278 val invalid_yield_from : string
279 val invalid_class_in_collection_initializer: string
280 val invalid_brace_kind_in_collection_initializer: string
281 val alternate_control_flow : string
282 val execution_operator : string
283 val invalid_octal_integer : string
284 val php7_anonymous_function : string
285 val prefixed_invalid_string_kind : string
286 val non_re_prefix : string
287 val collection_intrinsic_generic: string
288 val invalid_shape_field_name : string
289 val incorrect_byref_assignment : string
290 val invalid_hack_mode : string
291 val pair_initializer_needed : string
292 val pair_initializer_arity : string
293 val nested_unary_reference : string
294 val toplevel_statements : string
295 val dollar_unary : string