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

Issue 2713163002: Pass type arguments as a list in generic methods invocations (Closed)

Created:
3 years, 10 months ago by Dmitry Stefantsov
Modified:
3 years, 9 months ago
Reviewers:
karlklose
CC:
reviews_dartlang.org, Kevin Millikin (Google)
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Pass type arguments as a list in generic methods invocations All generic methods are equipped with one extra named parameter for passing type arguments as a list of type values. Additinally, this change forces strong mode usage for 'dartk' in 'reified_dart'. Strong mode is required for loader to not strip away type arguments from generic methods. In future, a command line argument may be implemented for that (e.g. --generic-methods), if generic method support will land before the strong mode. R=karlklose@google.com Committed: https://github.com/dart-lang/sdk/commit/b87a479c2befd7f6b1f5bd3f3c53132368986042

Patch Set 1 #

Total comments: 14

Patch Set 2 : Adjust reification in accordance to changes in master #

Total comments: 3

Patch Set 3 : Simplify 'isGenericMethod' procedure #

Unified diffs Side-by-side diffs Delta from patch set Stats (+333 lines, -224 lines) Patch
M pkg/kernel/bin/reified_dart.dart View 1 chunk +1 line, -0 lines 0 comments Download
M pkg/kernel/lib/target/vm.dart View 2 chunks +5 lines, -1 line 0 comments Download
M pkg/kernel/lib/target/vmreify.dart View 1 chunk +6 lines, -0 lines 0 comments Download
M pkg/kernel/lib/transformations/closure/converter.dart View 1 1 chunk +1 line, -1 line 0 comments Download
M pkg/kernel/lib/transformations/reify/transformation/builder.dart View 1 1 chunk +2 lines, -6 lines 0 comments Download
M pkg/kernel/lib/transformations/reify/transformation/remove_generics.dart View 1 3 chunks +25 lines, -6 lines 0 comments Download
M pkg/kernel/lib/transformations/reify/transformation/transformer.dart View 1 2 4 chunks +49 lines, -0 lines 0 comments Download
M pkg/kernel/test/reify/suite.dart View 1 6 chunks +50 lines, -34 lines 0 comments Download
M pkg/kernel/testcases/reify/closure2_test.dart.expect View 1 3 chunks +3 lines, -3 lines 0 comments Download
M pkg/kernel/testcases/reify/closure_test.dart.expect View 1 3 chunks +40 lines, -80 lines 0 comments Download
M pkg/kernel/testcases/reify/field_initializer2_test.dart.expect View 1 2 chunks +9 lines, -6 lines 0 comments Download
M pkg/kernel/testcases/reify/field_initializer_test.dart.expect View 1 1 chunk +1 line, -1 line 0 comments Download
M pkg/kernel/testcases/reify/function_type_test.dart.expect View 1 2 chunks +33 lines, -33 lines 0 comments Download
A pkg/kernel/testcases/reify/generic_methods_simple_test.dart View 1 1 chunk +15 lines, -0 lines 0 comments Download
A pkg/kernel/testcases/reify/generic_methods_simple_test.dart.expect View 1 1 chunk +35 lines, -0 lines 0 comments Download
M pkg/kernel/testcases/reify/is1_test.dart.expect View 1 1 chunk +2 lines, -2 lines 0 comments Download
M pkg/kernel/testcases/reify/native_types_test.dart.expect View 1 7 chunks +11 lines, -11 lines 0 comments Download
M pkg/kernel/testcases/reify/reuse_type_variables_test.dart.expect View 1 1 chunk +4 lines, -4 lines 0 comments Download
M pkg/kernel/testcases/reify/simple_test.dart.expect View 1 1 chunk +3 lines, -3 lines 0 comments Download
M pkg/kernel/testcases/reify/subclass_test.dart.expect View 1 1 chunk +8 lines, -8 lines 0 comments Download
M pkg/kernel/testcases/reify/super1_test.dart.expect View 1 3 chunks +24 lines, -22 lines 0 comments Download
M pkg/kernel/testcases/reify/super3_test.dart.expect View 1 1 chunk +1 line, -1 line 0 comments Download
M pkg/kernel/testcases/reify/typevariable1_test.dart.expect View 1 1 chunk +1 line, -1 line 0 comments Download
M pkg/kernel/testcases/reify/typevariable3_test.dart.expect View 1 2 chunks +4 lines, -1 line 0 comments Download

Messages

Total messages: 11 (4 generated)
Dmitry Stefantsov
3 years, 10 months ago (2017-02-24 11:50:39 UTC) #3
karlklose
Could you add a 'golden' test? https://codereview.chromium.org/2713163002/diff/1/pkg/kernel/lib/target/vmreify.dart File pkg/kernel/lib/target/vmreify.dart (right): https://codereview.chromium.org/2713163002/diff/1/pkg/kernel/lib/target/vmreify.dart#newcode44 pkg/kernel/lib/target/vmreify.dart:44: // Here we ...
3 years, 10 months ago (2017-02-24 12:07:24 UTC) #4
Dmitry Stefantsov
https://codereview.chromium.org/2713163002/diff/1/pkg/kernel/lib/target/vmreify.dart File pkg/kernel/lib/target/vmreify.dart (right): https://codereview.chromium.org/2713163002/diff/1/pkg/kernel/lib/target/vmreify.dart#newcode44 pkg/kernel/lib/target/vmreify.dart:44: // Here we disable Erasure pass of VmTarget class. ...
3 years, 9 months ago (2017-02-28 11:32:16 UTC) #5
Dmitry Stefantsov
PTAL. Currently, 'reify' transformation works with latest updates from 'master', and the golden tests, that ...
3 years, 9 months ago (2017-03-15 13:41:16 UTC) #7
karlklose
LGTM https://codereview.chromium.org/2713163002/diff/20001/pkg/kernel/lib/transformations/reify/transformation/transformer.dart File pkg/kernel/lib/transformations/reify/transformation/transformer.dart (right): https://codereview.chromium.org/2713163002/diff/20001/pkg/kernel/lib/transformations/reify/transformation/transformer.dart#newcode590 pkg/kernel/lib/transformations/reify/transformation/transformer.dart:590: if (node.parent is Constructor) { If you stored ...
3 years, 9 months ago (2017-03-15 15:20:22 UTC) #8
Dmitry Stefantsov
https://codereview.chromium.org/2713163002/diff/20001/pkg/kernel/lib/transformations/reify/transformation/transformer.dart File pkg/kernel/lib/transformations/reify/transformation/transformer.dart (right): https://codereview.chromium.org/2713163002/diff/20001/pkg/kernel/lib/transformations/reify/transformation/transformer.dart#newcode590 pkg/kernel/lib/transformations/reify/transformation/transformer.dart:590: if (node.parent is Constructor) { On 2017/03/15 15:20:22, karlklose ...
3 years, 9 months ago (2017-03-16 09:30:42 UTC) #9
Dmitry Stefantsov
3 years, 9 months ago (2017-03-16 09:47:20 UTC) #11
Message was sent while issue was closed.
Committed patchset #3 (id:40001) manually as
b87a479c2befd7f6b1f5bd3f3c53132368986042 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698