| // Copyright 2019 the V8 project authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| @generateCppClass |
| extern class CallHandlerInfo extends Struct { |
| callback: NonNullForeign|Undefined|Zero; |
| js_callback: NonNullForeign|Undefined|Zero; |
| data: Object; |
| } |
| |
| bitfield struct InterceptorInfoFlags extends uint31 { |
| can_intercept_symbols: bool: 1 bit; |
| all_can_read: bool: 1 bit; |
| non_masking: bool: 1 bit; |
| named: bool: 1 bit; |
| has_no_side_effect: bool: 1 bit; |
| } |
| |
| @generateCppClass |
| @generatePrint |
| extern class InterceptorInfo extends Struct { |
| getter: NonNullForeign|Zero|Undefined; |
| setter: NonNullForeign|Zero|Undefined; |
| query: NonNullForeign|Zero|Undefined; |
| descriptor: NonNullForeign|Zero|Undefined; |
| deleter: NonNullForeign|Zero|Undefined; |
| enumerator: NonNullForeign|Zero|Undefined; |
| definer: NonNullForeign|Zero|Undefined; |
| data: Object; |
| flags: SmiTagged<InterceptorInfoFlags>; |
| } |
| |
| @generateCppClass |
| @generatePrint |
| extern class AccessCheckInfo extends Struct { |
| callback: Foreign|Zero|Undefined; |
| named_interceptor: InterceptorInfo|Zero|Undefined; |
| indexed_interceptor: InterceptorInfo|Zero|Undefined; |
| data: Object; |
| } |
| |
| type SideEffectType extends int32 constexpr 'SideEffectType'; |
| |
| bitfield struct AccessorInfoFlags extends uint31 { |
| all_can_read: bool: 1 bit; |
| all_can_write: bool: 1 bit; |
| is_special_data_property: bool: 1 bit; |
| is_sloppy: bool: 1 bit; |
| replace_on_access: bool: 1 bit; |
| getter_side_effect_type: SideEffectType: 2 bit; |
| setter_side_effect_type: SideEffectType: 2 bit; |
| initial_attributes: PropertyAttributes: 3 bit; |
| } |
| |
| @generateCppClass |
| @generatePrint |
| extern class AccessorInfo extends Struct { |
| name: Name; |
| flags: SmiTagged<AccessorInfoFlags>; |
| expected_receiver_type: Object; |
| setter: NonNullForeign|Zero; |
| getter: NonNullForeign|Zero; |
| // This either points at the same as above, or a trampoline in case we are |
| // running with the simulator. Use these entries from generated code. |
| js_getter: NonNullForeign|Zero; |
| data: Object; |
| } |