| Index: compiler/java/com/google/dart/compiler/backend/js/GenerateJavascriptAST.java
|
| ===================================================================
|
| --- compiler/java/com/google/dart/compiler/backend/js/GenerateJavascriptAST.java (revision 409)
|
| +++ compiler/java/com/google/dart/compiler/backend/js/GenerateJavascriptAST.java (working copy)
|
| @@ -98,6 +98,7 @@
|
| import com.google.dart.compiler.backend.js.ast.JsContinue;
|
| import com.google.dart.compiler.backend.js.ast.JsDefault;
|
| import com.google.dart.compiler.backend.js.ast.JsDoWhile;
|
| +import com.google.dart.compiler.backend.js.ast.JsEmpty;
|
| import com.google.dart.compiler.backend.js.ast.JsExprStmt;
|
| import com.google.dart.compiler.backend.js.ast.JsExpression;
|
| import com.google.dart.compiler.backend.js.ast.JsFor;
|
| @@ -2301,6 +2302,10 @@
|
| return translationContext.getProgram().getUndefinedLiteral();
|
| }
|
|
|
| + private JsEmpty empty() {
|
| + return translationContext.getProgram().getEmptyStmt();
|
| + }
|
| +
|
| @Override
|
| public JsNode visitTypeNode(DartTypeNode x) {
|
| // This backend does not need types.
|
| @@ -3423,18 +3428,21 @@
|
|
|
| @Override
|
| public JsNode visitAssertion(DartAssertion node) {
|
| - JsExpression expression = (JsExpression) generate(node.getExpression());
|
| - JsExpression message = (JsExpression) generate(node.getMessage());
|
| - JsNameRef assertName = new JsNameRef("assert");
|
| - JsInvocation jsInvoke;
|
| - if (message == null) {
|
| + if (inDevMode()) {
|
| + JsExpression expression = (JsExpression) generate(node.getExpression());
|
| + JsNameRef assertName = new JsNameRef("assert");
|
| + JsInvocation jsInvoke;
|
| jsInvoke = AstUtil.newInvocation(assertName, expression);
|
| - } else {
|
| - jsInvoke = AstUtil.newInvocation(assertName, expression, message);
|
| + return new JsExprStmt(jsInvoke).setSourceRef(node);
|
| }
|
| - return new JsExprStmt(jsInvoke).setSourceRef(node);
|
| + // Just emit an empty statement if not in checked mode.
|
| + return empty();
|
| }
|
|
|
| + private boolean inDevMode() {
|
| + return context.getCompilerConfiguration().developerModeChecks();
|
| + }
|
| +
|
| @Override
|
| public JsNode visitParenthesizedExpression(DartParenthesizedExpression node) {
|
| return node.getExpression().accept(this);
|
|
|