Index: lib/src/js/builder.dart |
diff --git a/lib/src/js/builder.dart b/lib/src/js/builder.dart |
index dfedaa2c461a1a274cbe4277dca9fa6228b75e9d..239bb91a0871aaf8b8eae2937551ae6ec3a66326 100644 |
--- a/lib/src/js/builder.dart |
+++ b/lib/src/js/builder.dart |
@@ -1481,13 +1481,16 @@ class MiniJsParser { |
interpolatedValues.add(member); |
return member; |
} |
- name = parseInterpolatedExpression(); |
+ var interpolated = new InterpolatedExpression(parseHash()); |
+ interpolatedValues.add(interpolated); |
+ name = interpolated; |
} else { |
name = parsePropertyName(); |
} |
// Allow get or set to be followed by another property name. |
- if (lastCategory == ALPHA && name is PropertyName) { |
+ if (name is PropertyName && |
+ (lastCategory == ALPHA || lastCategory == HASH)) { |
PropertyName p = name; |
isGetter = p.name == 'get'; |
isSetter = p.name == 'set'; |
@@ -1520,16 +1523,12 @@ class MiniJsParser { |
expectCategory(RSQUARE); |
return expr; |
} else if (acceptCategory(HASH)) { |
- return parseInterpolatedExpression(); |
+ var member = new InterpolatedPropertyName(parseHash()); |
+ interpolatedValues.add(member); |
+ return member; |
} else { |
error('Expected property name'); |
return null; |
} |
} |
- |
- InterpolatedExpression parseInterpolatedExpression() { |
- var interpolated = new InterpolatedExpression(parseHash()); |
- interpolatedValues.add(interpolated); |
- return interpolated; |
- } |
} |