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

Issue 8974014: Resolve initializers in constructors. (Closed)

Created:
9 years ago by karlklose
Modified:
9 years ago
Reviewers:
ahe, floitsch, ngeoffray
CC:
reviews_dartlang.org, ahe, Lasse Reichstein Nielsen
Visibility:
Public.

Description

Resolve initializers in constructors. R=floitsch@google.com Committed: https://code.google.com/p/dart/source/detail?r=2703

Patch Set 1 #

Patch Set 2 : Fix wrong diff base. #

Patch Set 3 : Fix a bug. #

Patch Set 4 : Remove debug code. #

Patch Set 5 : Add tests. #

Total comments: 24

Patch Set 6 : Address comments. #

Patch Set 7 : Put element on correct node. #

Patch Set 8 : Don't call function that does not exist. #

Total comments: 28

Patch Set 9 : Address 2nd round of comments. #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+182 lines, -37 lines) Patch
M frog/leg/elements/elements.dart View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -2 lines 0 comments Download
M frog/leg/resolver.dart View 1 2 3 4 5 6 7 8 8 chunks +75 lines, -9 lines 4 comments Download
M frog/leg/warnings.dart View 1 2 3 4 5 6 7 8 2 chunks +12 lines, -0 lines 0 comments Download
M frog/tests/leg/src/ResolverTest.dart View 1 2 3 4 5 6 7 8 7 chunks +69 lines, -5 lines 0 comments Download
M frog/tests/leg/src/TypeCheckerTest.dart View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -21 lines 0 comments Download
M frog/tests/leg/src/mock_compiler.dart View 1 2 3 4 5 6 7 8 2 chunks +22 lines, -0 lines 0 comments Download
M tests/language/language-leg.status View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 10 (0 generated)
karlklose
9 years ago (2011-12-19 17:05:20 UTC) #1
floitsch
I will let nicolas do a full review. Just a question/observation... http://codereview.chromium.org/8974014/diff/5001/frog/leg/resolver.dart File frog/leg/resolver.dart (right): ...
9 years ago (2011-12-19 17:25:28 UTC) #2
ahe
LGTM for now, but perhaps add a few TODOs :-) http://codereview.chromium.org/8974014/diff/5001/frog/leg/resolver.dart File frog/leg/resolver.dart (right): http://codereview.chromium.org/8974014/diff/5001/frog/leg/resolver.dart#newcode172 ...
9 years ago (2011-12-19 18:07:26 UTC) #3
floitsch
http://codereview.chromium.org/8974014/diff/5001/frog/leg/resolver.dart File frog/leg/resolver.dart (right): http://codereview.chromium.org/8974014/diff/5001/frog/leg/resolver.dart#newcode192 frog/leg/resolver.dart:192: useElement(init.selector, target); This should be useElement(init, target);
9 years ago (2011-12-20 14:18:27 UTC) #4
ngeoffray
http://codereview.chromium.org/8974014/diff/5001/frog/leg/resolver.dart File frog/leg/resolver.dart (right): http://codereview.chromium.org/8974014/diff/5001/frog/leg/resolver.dart#newcode166 frog/leg/resolver.dart:166: if (node.initializers !== null) { As discussed, I don't ...
9 years ago (2011-12-20 15:09:51 UTC) #5
karlklose
PTAL. http://codereview.chromium.org/8974014/diff/5001/frog/leg/resolver.dart File frog/leg/resolver.dart (right): http://codereview.chromium.org/8974014/diff/5001/frog/leg/resolver.dart#newcode31 frog/leg/resolver.dart:31: SendSet init = link.head; Done, added a test. ...
9 years ago (2011-12-21 10:19:43 UTC) #6
ngeoffray
http://codereview.chromium.org/8974014/diff/15001/frog/leg/resolver.dart File frog/leg/resolver.dart (right): http://codereview.chromium.org/8974014/diff/15001/frog/leg/resolver.dart#newcode40 frog/leg/resolver.dart:40: void resolveInitializers(element, node, visitor) { Types on parameters? http://codereview.chromium.org/8974014/diff/15001/frog/leg/resolver.dart#newcode62 ...
9 years ago (2011-12-21 11:52:11 UTC) #7
ahe
LGTM, but I think you need to look at isInitializer before you commit. I'd like ...
9 years ago (2011-12-21 12:01:57 UTC) #8
karlklose
http://codereview.chromium.org/8974014/diff/15001/frog/leg/resolver.dart File frog/leg/resolver.dart (right): http://codereview.chromium.org/8974014/diff/15001/frog/leg/resolver.dart#newcode40 frog/leg/resolver.dart:40: void resolveInitializers(element, node, visitor) { On 2011/12/21 11:52:11, ngeoffray ...
9 years ago (2011-12-21 16:33:46 UTC) #9
ngeoffray
9 years ago (2011-12-21 16:44:08 UTC) #10
LGTM if you fix the getInitializerFieldName bug.

http://codereview.chromium.org/8974014/diff/16002/frog/leg/resolver.dart
File frog/leg/resolver.dart (right):

http://codereview.chromium.org/8974014/diff/16002/frog/leg/resolver.dart#newc...
frog/leg/resolver.dart:63: SourceString name = getInitializerFieldName(init,
onError);
If it's not an identifier, what do you get as a name? I think you can get rid of
getInitializerFieldName, and handle the problem here.

http://codereview.chromium.org/8974014/diff/16002/frog/leg/resolver.dart#newc...
frog/leg/resolver.dart:65: Element target =
classElement.lookupLocalElement(name);
lookupLocalElement -> lookupLocalMember (after merging with my changes)

http://codereview.chromium.org/8974014/diff/16002/frog/leg/resolver.dart#newc...
frog/leg/resolver.dart:78: [name]);
@ahe: not sure, but splitting the warning in two, is that ok for the IDE?

http://codereview.chromium.org/8974014/diff/16002/frog/leg/resolver.dart#newc...
frog/leg/resolver.dart:85: compiler.cancel('uniplemented', node:link.head);
uniMplemented

Powered by Google App Engine
This is Rietveld 408576698