@@ -176,7 +176,7 @@ Parser.prototype.initializeEvaluating = function() {
176176 if ( expr . argument . type === "MemberExpression" ) {
177177 var expression = expr . argument ;
178178 var exprName = [ ] ;
179- while ( expression . type === "MemberExpression" && expression . property . type === "Identifier" ) {
179+ while ( expression . type === "MemberExpression" && ! expression . computed ) {
180180 exprName . unshift ( this . scope . renames [ "$" + expression . property . name ] || expression . property . name ) ;
181181 expression = expression . object ;
182182 }
@@ -222,7 +222,7 @@ Parser.prototype.initializeEvaluating = function() {
222222 this . plugin ( "evaluate MemberExpression" , function ( expression ) {
223223 var expr = expression ;
224224 var exprName = [ ] ;
225- while ( expr . type === "MemberExpression" && expr . property . type === "Identifier" ) {
225+ while ( expr . type === "MemberExpression" && ! expr . computed ) {
226226 exprName . unshift ( expr . property . name ) ;
227227 expr = expr . object ;
228228 }
@@ -243,7 +243,7 @@ Parser.prototype.initializeEvaluating = function() {
243243 } ) ;
244244 this . plugin ( "evaluate CallExpression" , function ( expr ) {
245245 if ( expr . callee . type !== "MemberExpression" ) return ;
246- if ( expr . callee . property . type !== "Identifier" ) return ;
246+ if ( expr . callee . computed ) return ;
247247 var param = this . evaluateExpression ( expr . callee . object ) ;
248248 if ( ! param ) return ;
249249 return this . applyPluginsBailResult ( "evaluate CallExpression ." + expr . callee . property . name , expr , param ) ;
@@ -539,7 +539,7 @@ Parser.prototype.walkUnaryExpression = function walkUnaryExpression(expression)
539539 if ( expression . operator === "typeof" ) {
540540 var expr = expression . argument ;
541541 var exprName = [ ] ;
542- while ( expr . type === "MemberExpression" && expr . property . type === "Identifier" ) {
542+ while ( expr . type === "MemberExpression" && ! expr . computed ) {
543543 exprName . unshift ( expr . property . name ) ;
544544 expr = expr . object ;
545545 }
@@ -630,7 +630,7 @@ Parser.prototype.walkCallExpression = function walkCallExpression(expression) {
630630 this . walkExpression ( functionExpression . body ) ;
631631 } . bind ( this ) ) ;
632632 }
633- if ( expression . callee . type === "MemberExpression" && expression . callee . object . type === "FunctionExpression" && expression . callee . property . type === "Identifier" && [ "call" , "bind" ] . indexOf ( expression . callee . property . name ) >= 0 && expression . arguments && expression . arguments . length > 1 ) {
633+ if ( expression . callee . type === "MemberExpression" && expression . callee . object . type === "FunctionExpression" && ! expression . callee . computed && [ "call" , "bind" ] . indexOf ( expression . callee . property . name ) >= 0 && expression . arguments && expression . arguments . length > 1 ) {
634634 // (function(...) { }.call/bind(?, ...))
635635 walkIIFE . call ( this , expression . callee . object , expression . arguments . slice ( 1 ) ) ;
636636 this . walkExpression ( expression . arguments [ 0 ] ) ;
@@ -656,7 +656,7 @@ Parser.prototype.walkCallExpression = function walkCallExpression(expression) {
656656Parser . prototype . walkMemberExpression = function walkMemberExpression ( expression ) {
657657 var expr = expression ;
658658 var exprName = [ ] ;
659- while ( expr . type === "MemberExpression" && expr . property . type === "Identifier" ) {
659+ while ( expr . type === "MemberExpression" && ! expr . computed ) {
660660 exprName . unshift ( expr . property . name ) ;
661661 expr = expr . object ;
662662 }
0 commit comments