| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 part of js_ast; | 5 part of js_ast; |
| 6 | 6 |
| 7 | 7 |
| 8 class JavaScriptPrintingOptions { | 8 class JavaScriptPrintingOptions { |
| 9 final bool shouldCompressOutput; | 9 final bool shouldCompressOutput; |
| 10 final bool minifyLocalVariables; | 10 final bool minifyLocalVariables; |
| (...skipping 1030 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1041 void propertyNameOut(Expression node, {bool inMethod: false, | 1041 void propertyNameOut(Expression node, {bool inMethod: false, |
| 1042 bool inAccess: false}) { | 1042 bool inAccess: false}) { |
| 1043 | 1043 |
| 1044 if (node is LiteralNumber) { | 1044 if (node is LiteralNumber) { |
| 1045 LiteralNumber nameNumber = node; | 1045 LiteralNumber nameNumber = node; |
| 1046 if (inAccess) out('['); | 1046 if (inAccess) out('['); |
| 1047 out(nameNumber.value); | 1047 out(nameNumber.value); |
| 1048 if (inAccess) out(']'); | 1048 if (inAccess) out(']'); |
| 1049 } else { | 1049 } else { |
| 1050 if (node is LiteralString) { | 1050 if (node is LiteralString) { |
| 1051 var quotedName = node.value; | 1051 if (isValidJavaScriptId(node.value)) { |
| 1052 if (isValidJavaScriptId(quotedName)) { | |
| 1053 if (inAccess) out('.'); | 1052 if (inAccess) out('.'); |
| 1054 out(quotedName.substring(1, quotedName.length - 1)); | 1053 out(node.valueWithoutQuotes); |
| 1055 } else { | 1054 } else { |
| 1056 if (inMethod || inAccess) out("["); | 1055 if (inMethod || inAccess) out("["); |
| 1057 out(quotedName); | 1056 out(node.value); |
| 1058 if (inMethod || inAccess) out("]"); | 1057 if (inMethod || inAccess) out("]"); |
| 1059 } | 1058 } |
| 1060 } else { | 1059 } else { |
| 1061 // ComputedPropertyName | 1060 // ComputedPropertyName |
| 1062 out("["); | 1061 out("["); |
| 1063 visitNestedExpression(node, EXPRESSION, | 1062 visitNestedExpression(node, EXPRESSION, |
| 1064 newInForInit: false, newAtStatementBegin: false); | 1063 newInForInit: false, newAtStatementBegin: false); |
| 1065 out("]"); | 1064 out("]"); |
| 1066 } | 1065 } |
| 1067 } | 1066 } |
| (...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1435 declare(node.name); | 1434 declare(node.name); |
| 1436 node.function.accept(this); | 1435 node.function.accept(this); |
| 1437 } | 1436 } |
| 1438 | 1437 |
| 1439 visitClassExpression(ClassExpression node) { | 1438 visitClassExpression(ClassExpression node) { |
| 1440 declare(node.name); | 1439 declare(node.name); |
| 1441 if (node.heritage != null) node.heritage.accept(this); | 1440 if (node.heritage != null) node.heritage.accept(this); |
| 1442 for (Method element in node.methods) element.accept(this); | 1441 for (Method element in node.methods) element.accept(this); |
| 1443 } | 1442 } |
| 1444 } | 1443 } |
| OLD | NEW |