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

Issue 10829379: Add erroneous elements for function types and use them to allow unresolvable constructors to be han… (Closed)

Created:
8 years, 4 months ago by karlklose
Modified:
8 years, 3 months ago
CC:
reviews_dartlang.org, kasperl, Johnni Winther, Lasse Reichstein Nielsen
Visibility:
Public.

Description

Add erroneous elements for function types and use them to allow unresolvable constructors to be handled in the backend. This is the first step towards runtime error handling of unresolvable constructors, library prefixes and constructor names in new-expressions.

Patch Set 1 #

Total comments: 18

Patch Set 2 : Address comments and rebase. #

Total comments: 6
Unified diffs Side-by-side diffs Delta from patch set Stats (+105 lines, -31 lines) Patch
M lib/compiler/implementation/elements/elements.dart View 1 5 chunks +62 lines, -6 lines 6 comments Download
M lib/compiler/implementation/resolver.dart View 1 4 chunks +34 lines, -23 lines 0 comments Download
M lib/compiler/implementation/ssa/builder.dart View 1 1 chunk +7 lines, -1 line 0 comments Download
M lib/compiler/implementation/typechecker.dart View 1 2 chunks +2 lines, -1 line 0 comments Download

Messages

Total messages: 7 (0 generated)
karlklose
8 years, 4 months ago (2012-08-17 13:32:06 UTC) #1
ngeoffray
LGTM
8 years, 4 months ago (2012-08-20 14:39:20 UTC) #2
ahe
I really like where this is going, but it would be great if we can ...
8 years, 4 months ago (2012-08-20 15:06:47 UTC) #3
Johnni Winther
lgtm
8 years, 4 months ago (2012-08-21 07:56:54 UTC) #4
karlklose
Thanks for the reviews. https://chromiumcodereview.appspot.com/10829379/diff/1/lib/compiler/implementation/elements/elements.dart File lib/compiler/implementation/elements/elements.dart (right): https://chromiumcodereview.appspot.com/10829379/diff/1/lib/compiler/implementation/elements/elements.dart#newcode164 lib/compiler/implementation/elements/elements.dart:164: bool isValid() => true; On ...
8 years, 4 months ago (2012-08-21 11:44:09 UTC) #5
ahe
LGTM! https://chromiumcodereview.appspot.com/10829379/diff/1007/lib/compiler/implementation/elements/elements.dart File lib/compiler/implementation/elements/elements.dart (right): https://chromiumcodereview.appspot.com/10829379/diff/1007/lib/compiler/implementation/elements/elements.dart#newcode295 lib/compiler/implementation/elements/elements.dart:295: * Represents an unresolvable element. I imagine this ...
8 years, 4 months ago (2012-08-21 12:55:25 UTC) #6
karlklose
8 years, 4 months ago (2012-08-21 13:05:58 UTC) #7
Thanks, Peter.

https://chromiumcodereview.appspot.com/10829379/diff/1007/lib/compiler/implem...
File lib/compiler/implementation/elements/elements.dart (right):

https://chromiumcodereview.appspot.com/10829379/diff/1007/lib/compiler/implem...
lib/compiler/implementation/elements/elements.dart:295: * Represents an
unresolvable element.
On 2012/08/21 12:55:25, ahe wrote:
> I imagine this could also be used for duplicated elements.

Done.

https://chromiumcodereview.appspot.com/10829379/diff/1007/lib/compiler/implem...
lib/compiler/implementation/elements/elements.dart:297: * [ErroneousElement]s
are used instead of [null] to provide additional
On 2012/08/21 12:55:25, ahe wrote:
> Perhaps more elegant:
> 
> An [ErroneousElement] is used ...

Done.

https://chromiumcodereview.appspot.com/10829379/diff/1007/lib/compiler/implem...
lib/compiler/implementation/elements/elements.dart:305: * Code that does not
handle [ErroneousElement]s should use
On 2012/08/21 12:55:25, ahe wrote:
> Perhaps more elegant:
> 
> Code that cannot handle an [ErroneousElement] should ...

Done.

Powered by Google App Engine
This is Rietveld 408576698