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

Issue 1504483002: Allow explicitly passing generic function type args (Closed)

Created:
5 years ago by Jennifer Messerly
Modified:
5 years ago
Reviewers:
Leaf, Brian Wilkerson
CC:
reviews_dartlang.org
Base URL:
git@github.com:dart-lang/sdk.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Allow explicitly passing generic function type args Also supports implicit dynamic correctly and ensures we have a sensible element, which fixes #25100 R=leafp@google.com Committed: https://github.com/dart-lang/sdk/commit/095310bb369fa0067e107ef710894cb434bdc31c

Patch Set 1 #

Patch Set 2 : #

Total comments: 1

Patch Set 3 : fix warnings #

Patch Set 4 : format #

Total comments: 16
Unified diffs Side-by-side diffs Delta from patch set Stats (+310 lines, -135 lines) Patch
M pkg/analyzer/lib/src/generated/element.dart View 1 2 3 28 chunks +187 lines, -118 lines 16 comments Download
M pkg/analyzer/lib/src/generated/element_resolver.dart View 1 chunk +40 lines, -0 lines 0 comments Download
M pkg/analyzer/lib/src/generated/resolver.dart View 1 1 chunk +1 line, -0 lines 0 comments Download
M pkg/analyzer/lib/src/generated/static_type_analyzer.dart View 1 chunk +34 lines, -17 lines 0 comments Download
M pkg/analyzer/test/generated/resolver_test.dart View 1 2 chunks +48 lines, -0 lines 0 comments Download

Messages

Total messages: 8 (3 generated)
Jennifer Messerly
This implements the last big missing case with generic methods.
5 years ago (2015-12-04 23:27:30 UTC) #3
Jennifer Messerly
https://codereview.chromium.org/1504483002/diff/20001/pkg/analyzer/lib/src/generated/static_type_analyzer.dart File pkg/analyzer/lib/src/generated/static_type_analyzer.dart (right): https://codereview.chromium.org/1504483002/diff/20001/pkg/analyzer/lib/src/generated/static_type_analyzer.dart#newcode1831 pkg/analyzer/lib/src/generated/static_type_analyzer.dart:1831: if (genericFunction.boundTypeParameters.isEmpty) { FYI, I'm not super happy that ...
5 years ago (2015-12-04 23:29:10 UTC) #4
Leaf
lgtm! This is exciting to see, looks great! https://codereview.chromium.org/1504483002/diff/60001/pkg/analyzer/lib/src/generated/element.dart File pkg/analyzer/lib/src/generated/element.dart (right): https://codereview.chromium.org/1504483002/diff/60001/pkg/analyzer/lib/src/generated/element.dart#newcode1997 pkg/analyzer/lib/src/generated/element.dart:1997: [FunctionType ...
5 years ago (2015-12-05 00:50:41 UTC) #5
Jennifer Messerly
Committed patchset #4 (id:60001) manually as 095310bb369fa0067e107ef710894cb434bdc31c (presubmit successful).
5 years ago (2015-12-07 17:46:43 UTC) #7
Jennifer Messerly
5 years ago (2015-12-07 17:46:58 UTC) #8
Message was sent while issue was closed.
Thanks!

https://codereview.chromium.org/1504483002/diff/60001/pkg/analyzer/lib/src/ge...
File pkg/analyzer/lib/src/generated/element.dart (right):

https://codereview.chromium.org/1504483002/diff/60001/pkg/analyzer/lib/src/ge...
pkg/analyzer/lib/src/generated/element.dart:1997: [FunctionType type])
On 2015/12/05 00:50:40, Leaf wrote:
> Document what type is in the comment?

Done.

https://codereview.chromium.org/1504483002/diff/60001/pkg/analyzer/lib/src/ge...
pkg/analyzer/lib/src/generated/element.dart:3933: [FunctionType type])
On 2015/12/05 00:50:40, Leaf wrote:
> ditto?

Done.

https://codereview.chromium.org/1504483002/diff/60001/pkg/analyzer/lib/src/ge...
pkg/analyzer/lib/src/generated/element.dart:4325: (definingType.element as
dynamic).type.typeArguments;
On 2015/12/05 00:50:40, Leaf wrote:
> Lack of a common superclass? Maybe at least a comment or assertion to document
> the intended types that reach here?

yup, exactly. I actually have an idea for how to fix this. Let me give it a
shot.

https://codereview.chromium.org/1504483002/diff/60001/pkg/analyzer/lib/src/ge...
pkg/analyzer/lib/src/generated/element.dart:4507: * [baseElement], defined by
the [definingType].
On 2015/12/05 00:50:40, Leaf wrote:
> Comment cut & pasted?

Done.

https://codereview.chromium.org/1504483002/diff/60001/pkg/analyzer/lib/src/ge...
pkg/analyzer/lib/src/generated/element.dart:4507: * [baseElement], defined by
the [definingType].
On 2015/12/05 00:50:40, Leaf wrote:
> Comment cut & pasted?

Done.

https://codereview.chromium.org/1504483002/diff/60001/pkg/analyzer/lib/src/ge...
pkg/analyzer/lib/src/generated/element.dart:8720: * [baseElement], defined by
the [definingType].
On 2015/12/05 00:50:40, Leaf wrote:
> update comment.

Done.

https://codereview.chromium.org/1504483002/diff/60001/pkg/analyzer/lib/src/ge...
pkg/analyzer/lib/src/generated/element.dart:9510: * [baseElement], defined by
the [definingType].
On 2015/12/05 00:50:40, Leaf wrote:
> update comment.  I think here and elsewhere there is a pre-existing cut&paste
> error - they all refer to "constructor".  :)

Done.

https://codereview.chromium.org/1504483002/diff/60001/pkg/analyzer/lib/src/ge...
pkg/analyzer/lib/src/generated/element.dart:11262: * [baseElement], defined by
the [definingType].
On 2015/12/05 00:50:40, Leaf wrote:
> comment.

Done.

Powered by Google App Engine
This is Rietveld 408576698