import { Node , ESTree } from "../../Node" ; import { BaseClosure , } from '../../Closure' ; import { Messages } from '../../Message' ; import { Interpreter } from '../../../interpreter/main' ; import { isSymbol , storeKey } from '../../Symbols' ; export function memberExpressionHandler ( this , node ) { const objectGetter = this . createClosure ( node . object ) ; const keyGetter = this . createMemberKeyGetter ( node ) ; return ( ) => { const MArray = this . globalScope . data [ 'Array' ] ; const obj = objectGetter ( ) ; let key = keyGetter ( ) ; if ( isSymbol ( key ) ) { return obj [ storeKey ( key ) ] ; } return obj [ key ] ; } ; }