Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(87)

Issue 10915083: Change assert implementation to not depend on a top-level function called 'assert'. (Closed)

Created:
8 years, 3 months ago by Lasse Reichstein Nielsen
Modified:
8 years, 3 months ago
CC:
reviews_dartlang.org, ahe
Visibility:
Public.

Description

Removed/moved "assert" function to core_patch.dart as "_assert". Changed resolution of assert to only accepting assert in a statement position. Added more assert tests. Committed: https://code.google.com/p/dart/source/detail?r=12026

Patch Set 1 #

Total comments: 14

Patch Set 2 : Moved isAssert test to visitSend. #

Patch Set 3 : Moved _assert to js_helper. #

Total comments: 2

Patch Set 4 : Moved assert detection further down. Now demetered. #

Total comments: 6

Patch Set 5 : Revert to using lexicalScope #

Total comments: 19

Patch Set 6 : Addressed review comments. #

Patch Set 7 : Removed changes not related to assert. #

Total comments: 8

Patch Set 8 : Address review comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+659 lines, -500 lines) Patch
M editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/actions/CreateAndRevealProjectAction.java View 1 2 3 4 5 6 7 3 chunks +6 lines, -18 lines 0 comments Download
M editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/projects/ProjectMessages.java View 1 2 3 4 5 6 7 1 chunk +1 line, -2 lines 0 comments Download
M editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/projects/ProjectMessages.properties View 1 2 3 4 5 6 7 1 chunk +1 line, -2 lines 0 comments Download
M lib/compiler/implementation/compile_time_constants.dart View 1 2 3 4 5 6 7 4 chunks +88 lines, -10 lines 0 comments Download
M lib/compiler/implementation/compiler.dart View 1 2 3 4 5 6 7 2 chunks +5 lines, -1 line 0 comments Download
M lib/compiler/implementation/constants.dart View 1 2 3 4 5 6 7 23 chunks +154 lines, -42 lines 0 comments Download
M lib/compiler/implementation/elements/elements.dart View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
D lib/compiler/implementation/js_backend/constant_emitter.dart View 1 2 3 4 5 6 7 1 chunk +0 lines, -252 lines 0 comments Download
M lib/compiler/implementation/js_backend/emitter.dart View 1 2 3 4 5 6 7 7 chunks +6 lines, -22 lines 0 comments Download
M lib/compiler/implementation/js_backend/js_backend.dart View 1 2 3 4 5 6 7 1 chunk +0 lines, -2 lines 0 comments Download
M lib/compiler/implementation/js_backend/namer.dart View 1 2 3 4 5 6 7 2 chunks +4 lines, -19 lines 0 comments Download
M lib/compiler/implementation/lib/js_helper.dart View 1 2 3 4 1 chunk +8 lines, -0 lines 0 comments Download
M lib/compiler/implementation/lib/mock.dart View 1 2 3 4 5 6 1 chunk +0 lines, -5 lines 0 comments Download
M lib/compiler/implementation/resolver.dart View 1 2 3 4 5 6 7 12 chunks +60 lines, -28 lines 0 comments Download
M lib/compiler/implementation/ssa/codegen.dart View 1 2 3 4 5 6 7 2 chunks +9 lines, -7 lines 0 comments Download
M lib/compiler/implementation/universe.dart View 1 2 3 4 5 1 chunk +8 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -3 lines 0 comments Download
M runtime/vm/il_printer.cc View 1 2 3 4 5 6 7 7 chunks +59 lines, -67 lines 0 comments Download
M runtime/vm/intermediate_language.h View 1 2 3 4 5 6 7 4 chunks +3 lines, -4 lines 0 comments Download
M runtime/vm/intermediate_language.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M tests/co19/co19-dart2js.status View 1 2 3 4 5 6 2 chunks +7 lines, -1 line 0 comments Download
M tests/compiler/dart2js/mock_compiler.dart View 1 2 3 chunks +3 lines, -3 lines 0 comments Download
M tests/compiler/dart2js/unparser_test.dart View 1 2 1 chunk +0 lines, -1 line 0 comments Download
A tests/language/assert_lexical_scope_test.dart View 1 2 3 4 5 6 7 1 chunk +225 lines, -0 lines 0 comments Download
M tests/language/language.status View 1 2 3 4 5 6 1 chunk +2 lines, -0 lines 0 comments Download
M tests/language/language_dart2js.status View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M tests/standalone/assert_test.dart View 1 3 chunks +6 lines, -10 lines 0 comments Download

Messages

Total messages: 16 (0 generated)
Lasse Reichstein Nielsen
8 years, 3 months ago (2012-09-05 08:48:26 UTC) #1
Johnni Winther
lgtm https://chromiumcodereview.appspot.com/10915083/diff/1/lib/compiler/implementation/scanner/keyword.dart File lib/compiler/implementation/scanner/keyword.dart (right): https://chromiumcodereview.appspot.com/10915083/diff/1/lib/compiler/implementation/scanner/keyword.dart#newcode43 lib/compiler/implementation/scanner/keyword.dart:43: // And "Dynamic". Is there no const for ...
8 years, 3 months ago (2012-09-05 09:07:05 UTC) #2
ngeoffray
+ahe https://chromiumcodereview.appspot.com/10915083/diff/1/lib/compiler/implementation/lib/core_patch.dart File lib/compiler/implementation/lib/core_patch.dart (right): https://chromiumcodereview.appspot.com/10915083/diff/1/lib/compiler/implementation/lib/core_patch.dart#newcode19 lib/compiler/implementation/lib/core_patch.dart:19: * Helper function for implementing asserts. The compiler ...
8 years, 3 months ago (2012-09-05 10:37:10 UTC) #3
ahe
Please don't submit as is. https://chromiumcodereview.appspot.com/10915083/diff/1/lib/compiler/implementation/resolver.dart File lib/compiler/implementation/resolver.dart (right): https://chromiumcodereview.appspot.com/10915083/diff/1/lib/compiler/implementation/resolver.dart#newcode1153 lib/compiler/implementation/resolver.dart:1153: if (isAssertSyntax(node.expression)) { I'm ...
8 years, 3 months ago (2012-09-05 11:09:54 UTC) #4
Lasse Reichstein Nielsen
Please take another look. https://chromiumcodereview.appspot.com/10915083/diff/1/lib/compiler/implementation/lib/core_patch.dart File lib/compiler/implementation/lib/core_patch.dart (right): https://chromiumcodereview.appspot.com/10915083/diff/1/lib/compiler/implementation/lib/core_patch.dart#newcode19 lib/compiler/implementation/lib/core_patch.dart:19: * Helper function for implementing ...
8 years, 3 months ago (2012-09-05 12:51:20 UTC) #5
ahe
https://chromiumcodereview.appspot.com/10915083/diff/4002/lib/compiler/implementation/resolver.dart File lib/compiler/implementation/resolver.dart (right): https://chromiumcodereview.appspot.com/10915083/diff/4002/lib/compiler/implementation/resolver.dart#newcode1347 lib/compiler/implementation/resolver.dart:1347: if (selector.source.stringValue !== "assert") return false; I would think ...
8 years, 3 months ago (2012-09-05 13:12:24 UTC) #6
Lasse Reichstein Nielsen
I'm ready to chat, and in anticipation, I have made another, and I think better, ...
8 years, 3 months ago (2012-09-06 08:21:36 UTC) #7
ahe
Much much much better! Haven't done a full review yet. https://chromiumcodereview.appspot.com/10915083/diff/2002/lib/compiler/implementation/resolver.dart File lib/compiler/implementation/resolver.dart (right): https://chromiumcodereview.appspot.com/10915083/diff/2002/lib/compiler/implementation/resolver.dart#newcode1209 ...
8 years, 3 months ago (2012-09-06 08:50:41 UTC) #8
Lasse Reichstein Nielsen
https://chromiumcodereview.appspot.com/10915083/diff/2002/lib/compiler/implementation/resolver.dart File lib/compiler/implementation/resolver.dart (right): https://chromiumcodereview.appspot.com/10915083/diff/2002/lib/compiler/implementation/resolver.dart#newcode1209 lib/compiler/implementation/resolver.dart:1209: for (Scope scope = this.scope; scope !== null; scope ...
8 years, 3 months ago (2012-09-06 09:12:36 UTC) #9
ngeoffray
https://chromiumcodereview.appspot.com/10915083/diff/2002/lib/compiler/implementation/resolver.dart File lib/compiler/implementation/resolver.dart (right): https://chromiumcodereview.appspot.com/10915083/diff/2002/lib/compiler/implementation/resolver.dart#newcode1205 lib/compiler/implementation/resolver.dart:1205: * This does not find setters, since their name ...
8 years, 3 months ago (2012-09-06 09:37:31 UTC) #10
Lasse Reichstein Nielsen
https://chromiumcodereview.appspot.com/10915083/diff/2002/lib/compiler/implementation/resolver.dart File lib/compiler/implementation/resolver.dart (right): https://chromiumcodereview.appspot.com/10915083/diff/2002/lib/compiler/implementation/resolver.dart#newcode1205 lib/compiler/implementation/resolver.dart:1205: * This does not find setters, since their name ...
8 years, 3 months ago (2012-09-06 11:16:14 UTC) #11
Lasse Reichstein Nielsen
Reverted to lexical lookup on the scope. We don't handle setters correctly, but neither does ...
8 years, 3 months ago (2012-09-06 12:49:07 UTC) #12
ahe
I'd like to do one thing at a time, removing mock.dart is not a good ...
8 years, 3 months ago (2012-09-06 22:25:52 UTC) #13
Lasse Reichstein Nielsen
I'll split this CL in two, and upload the non-assert part separately. https://chromiumcodereview.appspot.com/10915083/diff/13001/lib/compiler/implementation/lib/mock.dart File lib/compiler/implementation/lib/mock.dart ...
8 years, 3 months ago (2012-09-07 10:18:57 UTC) #14
ahe
LGTM! https://chromiumcodereview.appspot.com/10915083/diff/9019/lib/compiler/implementation/resolver.dart File lib/compiler/implementation/resolver.dart (right): https://chromiumcodereview.appspot.com/10915083/diff/9019/lib/compiler/implementation/resolver.dart#newcode1236 lib/compiler/implementation/resolver.dart:1236: bool isExpressionStatementBody(Node node) { I still don't like ...
8 years, 3 months ago (2012-09-07 11:38:05 UTC) #15
Lasse Reichstein Nielsen
8 years, 3 months ago (2012-09-07 12:00:28 UTC) #16
https://chromiumcodereview.appspot.com/10915083/diff/9019/lib/compiler/implem...
File lib/compiler/implementation/resolver.dart (right):

https://chromiumcodereview.appspot.com/10915083/diff/9019/lib/compiler/implem...
lib/compiler/implementation/resolver.dart:1236: bool
isExpressionStatementBody(Node node) {
Crap, I changed that.
One ctrl-Z too many I guess.

https://chromiumcodereview.appspot.com/10915083/diff/9019/tests/language/asse...
File tests/language/assert_lexical_scope_test.dart (right):

https://chromiumcodereview.appspot.com/10915083/diff/9019/tests/language/asse...
tests/language/assert_lexical_scope_test.dart:3: // BSD-style license that can
be found in the LICENSE file.
Some changed, some added.

https://chromiumcodereview.appspot.com/10915083/diff/9019/tests/language/asse...
tests/language/assert_lexical_scope_test.dart:17: // (Super)classes that declare
an "assert" member.
This comment applies to the four following classes.
Rewritten for clarity.

https://chromiumcodereview.appspot.com/10915083/diff/9019/tests/language/asse...
tests/language/assert_lexical_scope_test.dart:202: void assert(x) => poly(x);
Comment added.

Powered by Google App Engine
This is Rietveld 408576698