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

Issue 1493693002: Make ?? a compile-time constant operator. (Closed)

Created:
5 years ago by Lasse Reichstein Nielsen
Modified:
4 years, 11 months ago
CC:
reviews_dartlang.org, vm-dev_dartlang.org, Siggi Cherem (dart-lang), proppy
Base URL:
https://github.com/dart-lang/sdk.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Make ?? a compile-time constant operator. Update specification, change analyzer, VM and dart2js. Fixes issue #25054. BUG= http://dartbug.com/25054 R=floitsch@google.com, gbracha@google.com Committed: https://github.com/dart-lang/sdk/commit/fd59c87146cabc0ba359ad17d28ffe17cfa7cf19

Patch Set 1 #

Total comments: 6

Patch Set 2 : #

Patch Set 3 : Fix test, runs in dart2js and analyzer. #

Total comments: 6

Patch Set 4 : Make VM implementation more general. #

Patch Set 5 : Move VM/analyzer parts to separate CLs. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+156 lines, -1 line) Patch
M docs/language/dartLangSpec.tex View 1 1 chunk +1 line, -0 lines 0 comments Download
M pkg/compiler/lib/src/constant_system_dart.dart View 2 chunks +11 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/constants/constant_system.dart View 2 chunks +2 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/constants/expressions.dart View 2 chunks +2 lines, -1 line 0 comments Download
M pkg/compiler/lib/src/js_backend/constant_system_javascript.dart View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
A tests/language/const_qq_test.dart View 1 2 1 chunk +136 lines, -0 lines 0 comments Download
M tests/language/language.status View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M tests/language/language_analyzer2.status View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 31 (7 generated)
Lasse Reichstein Nielsen
Proposal for spec fix-up. If accepted, also contains implementations.
5 years ago (2015-12-02 11:21:10 UTC) #2
Ivan Posva
Please add tests so that we can see what kind of behaviour would be allowed ...
5 years ago (2015-12-02 15:58:47 UTC) #4
Brian Wilkerson
Is there a DEP proposal for this? The analyzer changes, while fine, are incomplete. I'll ...
5 years ago (2015-12-02 16:10:24 UTC) #6
sra1
dart2js lgtm with tests. https://codereview.chromium.org/1493693002/diff/1/docs/language/dartLangSpec.tex File docs/language/dartLangSpec.tex (right): https://codereview.chromium.org/1493693002/diff/1/docs/language/dartLangSpec.tex#newcode38 docs/language/dartLangSpec.tex:38: A conforming implementation of the ...
5 years ago (2015-12-02 17:21:20 UTC) #8
hausner
DBC: why only the ?? operator. Seems arbitrary. Could also consider ?. On the other ...
5 years ago (2015-12-02 18:29:38 UTC) #10
sra1
On 2015/12/02 18:29:38, hausner wrote: > DBC: why only the ?? operator. Seems arbitrary. Could ...
5 years ago (2015-12-02 18:50:08 UTC) #11
hausner
That is only marginally different from var name ??= String.fromEnvironment('NAME') ?? String.fromEnvironment('HERO_NAME') ?? 'Hercules'; In ...
5 years ago (2015-12-02 19:00:18 UTC) #12
sra1
On 2015/12/02 19:00:18, hausner wrote: > That is only marginally different from > > var ...
5 years ago (2015-12-02 19:08:21 UTC) #13
Lasse Reichstein Nielsen
I'm adding tests - and finding out the the VM changes are also not complete, ...
5 years ago (2015-12-02 20:33:11 UTC) #14
floitsch
On 2015/12/02 19:08:21, sra1 wrote: > On 2015/12/02 19:00:18, hausner wrote: > > That is ...
5 years ago (2015-12-02 20:54:18 UTC) #15
floitsch
LGTM. Couldn't find the changed spec changes, and Matthias already commented on the VM changes. ...
5 years ago (2015-12-02 20:59:26 UTC) #16
gbracha
5 years ago (2015-12-03 11:59:35 UTC) #17
gbracha
5 years ago (2015-12-03 12:03:03 UTC) #18
Ivan Posva
On 2015/12/02 20:59:26, floitsch wrote: > LGTM. > Couldn't find the changed spec changes, and ...
5 years ago (2015-12-03 21:23:00 UTC) #19
Ivan Posva
DBC https://codereview.chromium.org/1493693002/diff/40001/runtime/vm/ast.cc File runtime/vm/ast.cc (right): https://codereview.chromium.org/1493693002/diff/40001/runtime/vm/ast.cc#newcode377 runtime/vm/ast.cc:377: if (left_val->IsNull()) return right_val; {} as is the ...
5 years ago (2015-12-03 21:29:04 UTC) #20
Lasse Reichstein Nielsen
https://codereview.chromium.org/1493693002/diff/1/docs/language/dartLangSpec.tex File docs/language/dartLangSpec.tex (right): https://codereview.chromium.org/1493693002/diff/1/docs/language/dartLangSpec.tex#newcode38 docs/language/dartLangSpec.tex:38: A conforming implementation of the Dart programming language must ...
5 years ago (2015-12-04 12:11:46 UTC) #21
floitsch
On 2015/12/04 12:11:46, Lasse Reichstein Nielsen wrote: > https://codereview.chromium.org/1493693002/diff/1/docs/language/dartLangSpec.tex > File docs/language/dartLangSpec.tex (right): > > ...
5 years ago (2015-12-04 22:03:43 UTC) #22
Lasse Reichstein Nielsen
Yes/no?
5 years ago (2015-12-18 11:13:11 UTC) #24
gbracha
On 2015/12/18 11:13:11, Lasse Reichstein Nielsen wrote: > Yes/no? AFIK, no for now. No minor ...
5 years ago (2015-12-21 18:45:48 UTC) #25
floitsch
On 2015/12/21 18:45:48, gbracha wrote: > On 2015/12/18 11:13:11, Lasse Reichstein Nielsen wrote: > > ...
4 years, 11 months ago (2016-01-11 15:44:06 UTC) #26
gbracha
On 2016/01/11 15:44:06, floitsch wrote: > On 2015/12/21 18:45:48, gbracha wrote: > > On 2015/12/18 ...
4 years, 11 months ago (2016-01-11 18:39:57 UTC) #27
gbracha
lgtm
4 years, 11 months ago (2016-01-11 19:00:28 UTC) #28
Lasse Reichstein Nielsen
Excellent. I'll split the VM and analyzer changes into separate CLs since they need more ...
4 years, 11 months ago (2016-01-12 07:02:39 UTC) #29
Lasse Reichstein Nielsen
4 years, 11 months ago (2016-01-12 11:30:14 UTC) #31
Message was sent while issue was closed.
Committed patchset #5 (id:80001) manually as
fd59c87146cabc0ba359ad17d28ffe17cfa7cf19 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698