Skip to content

Commit a567daa

Browse files
fshcheglovCommit Queue
authored andcommitted
Add method and constructor formal parameter tests to class_test.
Change-Id: Ia30dbacc29a425adf7ceb3ca6e7e4826183a49dd Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/451141 Reviewed-by: Konstantin Shcheglov <[email protected]> Commit-Queue: Samuel Rawlins <[email protected]> Reviewed-by: Johnni Winther <[email protected]> Reviewed-by: Samuel Rawlins <[email protected]>
1 parent 9f70bc7 commit a567daa

File tree

8 files changed

+4013
-693
lines changed

8 files changed

+4013
-693
lines changed

pkg/analyzer/lib/src/dart/element/element.dart

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -849,6 +849,15 @@ class ConstructorElementImpl extends ExecutableElementImpl
849849
previous.addFragment(current);
850850
return current;
851851
});
852+
TypeParameterFragmentImpl._linkFragments(
853+
fragments,
854+
getFragments: (f) => f.typeParameters,
855+
);
856+
857+
FormalParameterFragmentImpl._linkFragments(
858+
fragments,
859+
getFragments: (f) => f.formalParameters,
860+
);
852861
}
853862

854863
@override
@@ -8301,6 +8310,10 @@ class MethodElementImpl extends ExecutableElementImpl
83018310
fragments,
83028311
getFragments: (f) => f.typeParameters,
83038312
);
8313+
FormalParameterFragmentImpl._linkFragments(
8314+
fragments,
8315+
getFragments: (f) => f.formalParameters,
8316+
);
83048317
}
83058318
}
83068319

pkg/analyzer/lib/src/summary2/bundle_reader.dart

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -351,8 +351,6 @@ class LibraryReader {
351351
element.linkFragments(fragments);
352352
element.readModifiers(_reader);
353353

354-
// TODO(scheglov): type parameters
355-
// TODO(scheglov): formal parameters
356354
element.deferReadResolution(
357355
_createDeferredReadResolutionCallback((reader) {
358356
var enclosingElement = element.enclosingElement;
@@ -914,12 +912,9 @@ class LibraryReader {
914912
firstFragment: fragments.first,
915913
);
916914
element.linkFragments(fragments);
917-
918915
element.readModifiers(_reader);
919916
element.typeInferenceError = _readTopLevelInferenceError();
920917

921-
// TODO(scheglov): type parameters
922-
// TODO(scheglov): formal parameters
923918
element.deferReadResolution(
924919
_createDeferredReadResolutionCallback((reader) {
925920
var enclosingElement = element.enclosingElement;

pkg/analyzer/lib/src/summary2/element_builder.dart

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -311,6 +311,18 @@ class ElementBuilder {
311311

312312
if (fragment.isAugmentation && lastFragment is ConstructorFragmentImpl) {
313313
lastFragment.addFragment(fragment);
314+
315+
_linkTypeParameters(
316+
lastFragments: lastFragment.typeParameters,
317+
fragments: fragment.typeParameters,
318+
add: fragment.addTypeParameter,
319+
);
320+
321+
fragment.formalParameters = _linkFormalParameters(
322+
previousFragments: lastFragment.formalParameters,
323+
currentFragments: fragment.formalParameters,
324+
);
325+
314326
return;
315327
}
316328

@@ -497,6 +509,11 @@ class ElementBuilder {
497509
add: fragment.addTypeParameter,
498510
);
499511

512+
fragment.formalParameters = _linkFormalParameters(
513+
previousFragments: lastFragment.formalParameters,
514+
currentFragments: fragment.formalParameters,
515+
);
516+
500517
return;
501518
}
502519

0 commit comments

Comments
 (0)