2 * Copyright (c) 2017, Facebook, Inc.
5 * This source code is licensed under the BSD-style license found in the
6 * LICENSE file in the "hack" directory of this source tree. An additional grant
7 * of patent rights can be found in the PATENTS file in the same directory.
12 method_attributes
: Hhas_attribute.t list
;
13 method_is_protected
: bool;
14 method_is_public
: bool;
15 method_is_private
: bool;
16 method_is_static
: bool;
17 method_is_final
: bool;
18 method_is_abstract
: bool;
19 method_no_injection
: bool;
20 method_inout_wrapper
: bool;
21 method_name
: Hhbc_id.Method.t
;
22 method_body
: Hhas_body.t
;
23 method_span
: Hhas_pos.span
;
24 method_is_async
: bool;
25 method_is_generator
: bool;
26 method_is_pair_generator
: bool;
27 method_is_closure_body
: bool;
45 method_is_pair_generator
46 method_is_closure_body
= {
61 method_is_pair_generator
;
62 method_is_closure_body
;
65 let attributes method_def
= method_def
.method_attributes
66 let is_protected method_def
= method_def
.method_is_protected
67 let is_private method_def
= method_def
.method_is_private
68 let is_public method_def
= method_def
.method_is_public
69 let is_static method_def
= method_def
.method_is_static
70 let is_final method_def
= method_def
.method_is_final
71 let is_abstract method_def
= method_def
.method_is_abstract
72 let no_injection method_def
= method_def
.method_no_injection
73 let inout_wrapper method_def
= method_def
.method_inout_wrapper
74 let name method_def
= method_def
.method_name
75 let with_name method_def method_name
= { method_def
with method_name
}
76 let make_private method_def
=
78 method_is_protected
= false;
79 method_is_public
= false;
80 method_is_private
= true }
81 let body method_def
= method_def
.method_body
82 let span method_def
= method_def
.method_span
83 let is_async method_def
= method_def
.method_is_async
84 let is_generator method_def
= method_def
.method_is_generator
85 let is_pair_generator method_def
= method_def
.method_is_pair_generator
86 let is_closure_body method_def
= method_def
.method_is_closure_body
87 let with_body method_def method_body
= { method_def
with method_body
}
88 let params m
= m
.method_body
.Hhas_body.body_params
89 let return_type m
= m
.method_body
.Hhas_body.body_return_type
90 let with_is_async m method_is_async
= { m
with method_is_async
}