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

Issue 2997563002: Implement support for static accessors (Closed)

Created:
3 years, 4 months ago by zhivkag
Modified:
3 years, 4 months ago
CC:
reviews_dartlang.org
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Implement support for static accessors - Evaluation of StaticPropertyGet expression by reading a value stored in the main environment, execution of static getter or creating a method tear off. - Evaluation of StaticPropertySet expression by modifying the value stored in main environment or execution of static setter. BUG= R=dmitryas@google.com, kmillikin@google.com Committed: https://github.com/dart-lang/sdk/commit/e89bbf96a5215cc3e622459b787f9d5c5d0d3dd4

Patch Set 1 #

Patch Set 2 : Fix execution of setter body #

Total comments: 3

Patch Set 3 : Make main environment immutable #

Total comments: 6

Patch Set 4 : Rename update to updateStore #

Patch Set 5 : Merge #

Patch Set 6 : Update env properly with static set when encountered for first time #

Patch Set 7 : Remove dill #

Unified diffs Side-by-side diffs Delta from patch set Stats (+278 lines, -13 lines) Patch
M pkg/kernel/lib/interpreter/interpreter.dart View 1 2 3 4 5 6 14 chunks +188 lines, -13 lines 0 comments Download
A pkg/kernel/testcases/interpreter/function_expressions_test.dart View 1 2 3 4 5 6 1 chunk +30 lines, -0 lines 0 comments Download
A pkg/kernel/testcases/interpreter/function_expressions_test.dart.expect View 1 2 3 4 5 6 1 chunk +14 lines, -0 lines 0 comments Download
A pkg/kernel/testcases/interpreter/static_accessors.dart View 1 1 chunk +41 lines, -0 lines 0 comments Download
A pkg/kernel/testcases/interpreter/static_accessors.dart.expect View 1 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 15 (4 generated)
zhivkag
3 years, 4 months ago (2017-08-09 07:07:59 UTC) #4
Dmitry Stefantsov
Please, find some questions below. https://codereview.chromium.org/2997563002/diff/20001/pkg/kernel/lib/interpreter/interpreter.dart File pkg/kernel/lib/interpreter/interpreter.dart (right): https://codereview.chromium.org/2997563002/diff/20001/pkg/kernel/lib/interpreter/interpreter.dart#newcode72 pkg/kernel/lib/interpreter/interpreter.dart:72: void update(Member member, Value ...
3 years, 4 months ago (2017-08-16 08:25:39 UTC) #5
zhivkag
Thanks for the comments, Dima! I would like to propose an alternative solution, since I ...
3 years, 4 months ago (2017-08-16 08:57:17 UTC) #6
Dmitry Stefantsov
On 2017/08/16 08:57:17, zhivkag wrote: > Thanks for the comments, Dima! > > I would ...
3 years, 4 months ago (2017-08-16 09:03:37 UTC) #7
zhivkag
PTAL.
3 years, 4 months ago (2017-08-16 10:39:01 UTC) #8
Dmitry Stefantsov
I have a few more questions :) https://codereview.chromium.org/2997563002/diff/40001/pkg/kernel/lib/interpreter/interpreter.dart File pkg/kernel/lib/interpreter/interpreter.dart (right): https://codereview.chromium.org/2997563002/diff/40001/pkg/kernel/lib/interpreter/interpreter.dart#newcode66 pkg/kernel/lib/interpreter/interpreter.dart:66: class MainEnvironment ...
3 years, 4 months ago (2017-08-16 12:06:47 UTC) #9
zhivkag
https://codereview.chromium.org/2997563002/diff/40001/pkg/kernel/lib/interpreter/interpreter.dart File pkg/kernel/lib/interpreter/interpreter.dart (right): https://codereview.chromium.org/2997563002/diff/40001/pkg/kernel/lib/interpreter/interpreter.dart#newcode66 pkg/kernel/lib/interpreter/interpreter.dart:66: class MainEnvironment { On 2017/08/16 12:06:46, Dmitry Stefantsov wrote: ...
3 years, 4 months ago (2017-08-16 12:27:44 UTC) #10
Dmitry Stefantsov
Thank you for the answers! LGTM. https://codereview.chromium.org/2997563002/diff/40001/pkg/kernel/lib/interpreter/interpreter.dart File pkg/kernel/lib/interpreter/interpreter.dart (right): https://codereview.chromium.org/2997563002/diff/40001/pkg/kernel/lib/interpreter/interpreter.dart#newcode66 pkg/kernel/lib/interpreter/interpreter.dart:66: class MainEnvironment { ...
3 years, 4 months ago (2017-08-16 12:38:51 UTC) #11
Kevin Millikin (Google)
LGTM. I do prefer the alternative semantics where the toplevel environment is initialized before program ...
3 years, 4 months ago (2017-08-18 11:06:56 UTC) #12
zhivkag
Thanks for the review! I will followup with another CL to fix the circular initialization ...
3 years, 4 months ago (2017-08-21 06:08:36 UTC) #13
zhivkag
3 years, 4 months ago (2017-08-21 06:24:31 UTC) #15
Message was sent while issue was closed.
Committed patchset #7 (id:120001) manually as
e89bbf96a5215cc3e622459b787f9d5c5d0d3dd4 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698