Skip to content

Commit ed3b948

Browse files
johnniwinthercommit-bot@chromium.org
authored andcommitted
[cfe] Use origin location for member signatures
This is relanding https://dart-review.googlesource.com/c/sdk/+/168203 after it was reverted due to a problem in https://dart-review.googlesource.com/c/sdk/+/168200 Change-Id: Id70d3e960b1edf1c5cdf92518b8e476084b1bb49 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/168645 Commit-Queue: Johnni Winther <[email protected]> Reviewed-by: Dmitry Stefantsov <[email protected]>
1 parent 1514336 commit ed3b948

File tree

3,162 files changed

+59501
-59539
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

3,162 files changed

+59501
-59539
lines changed

pkg/front_end/lib/src/fasta/kernel/combined_member_signature.dart

Lines changed: 22 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,7 @@ abstract class CombinedMemberSignatureBase<T> {
311311

312312
/// Create a member signature with the [combinedMemberSignatureType] using the
313313
/// [canonicalMember] as member signature origin.
314-
Procedure createMemberFromSignature({bool copyLocation: true}) {
314+
Procedure createMemberFromSignature() {
315315
if (canonicalMemberIndex == null) {
316316
return null;
317317
}
@@ -320,21 +320,18 @@ abstract class CombinedMemberSignatureBase<T> {
320320
switch (member.kind) {
321321
case ProcedureKind.Getter:
322322
return _createGetterMemberSignature(
323-
member, combinedMemberSignatureType,
324-
copyLocation: copyLocation);
323+
member, combinedMemberSignatureType);
325324
case ProcedureKind.Setter:
326325
VariableDeclaration parameter =
327326
member.function.positionalParameters.first;
328327
return _createSetterMemberSignature(
329328
member, combinedMemberSignatureType,
330329
isGenericCovariantImpl: parameter.isGenericCovariantImpl,
331330
isCovariant: parameter.isCovariant,
332-
parameterName: parameter.name,
333-
copyLocation: copyLocation);
331+
parameterName: parameter.name);
334332
case ProcedureKind.Method:
335333
case ProcedureKind.Operator:
336-
return _createMethodSignature(member, combinedMemberSignatureType,
337-
copyLocation: copyLocation);
334+
return _createMethodSignature(member, combinedMemberSignatureType);
338335
case ProcedureKind.Factory:
339336
default:
340337
throw new UnsupportedError(
@@ -344,11 +341,10 @@ abstract class CombinedMemberSignatureBase<T> {
344341
if (forSetter) {
345342
return _createSetterMemberSignature(member, combinedMemberSignatureType,
346343
isGenericCovariantImpl: member.isGenericCovariantImpl,
347-
isCovariant: member.isCovariant,
348-
copyLocation: copyLocation);
344+
isCovariant: member.isCovariant);
349345
} else {
350-
return _createGetterMemberSignature(member, combinedMemberSignatureType,
351-
copyLocation: copyLocation);
346+
return _createGetterMemberSignature(
347+
member, combinedMemberSignatureType);
352348
}
353349
} else {
354350
throw new UnsupportedError(
@@ -358,27 +354,17 @@ abstract class CombinedMemberSignatureBase<T> {
358354

359355
/// Creates a getter member signature for [member] with the given
360356
/// [type].
361-
Member _createGetterMemberSignature(Member member, DartType type,
362-
{bool copyLocation}) {
363-
assert(copyLocation != null);
357+
Member _createGetterMemberSignature(Member member, DartType type) {
364358
Class enclosingClass = classBuilder.cls;
365359
Procedure referenceFrom;
366360
if (classBuilder.referencesFromIndexed != null) {
367361
referenceFrom = classBuilder.referencesFromIndexed
368362
.lookupProcedureNotSetter(member.name.text);
369363
}
370-
Uri fileUri;
371-
int startFileOffset;
372-
int fileOffset;
373-
if (copyLocation) {
374-
fileUri = member.fileUri;
375-
startFileOffset =
376-
member is Procedure ? member.startFileOffset : member.fileOffset;
377-
fileOffset = member.fileOffset;
378-
} else {
379-
fileUri = enclosingClass.fileUri;
380-
startFileOffset = fileOffset = enclosingClass.fileOffset;
381-
}
364+
Uri fileUri = member.fileUri;
365+
int startFileOffset =
366+
member is Procedure ? member.startFileOffset : member.fileOffset;
367+
int fileOffset = member.fileOffset;
382368
return new Procedure(member.name, ProcedureKind.Getter,
383369
new FunctionNode(null, returnType: type),
384370
isAbstract: true,
@@ -395,31 +381,19 @@ abstract class CombinedMemberSignatureBase<T> {
395381
/// [type]. The flags of parameter is set according to [isCovariant] and
396382
/// [isGenericCovariantImpl] and the [parameterName] is used, if provided.
397383
Member _createSetterMemberSignature(Member member, DartType type,
398-
{bool isCovariant,
399-
bool isGenericCovariantImpl,
400-
String parameterName,
401-
bool copyLocation}) {
384+
{bool isCovariant, bool isGenericCovariantImpl, String parameterName}) {
402385
assert(isCovariant != null);
403386
assert(isGenericCovariantImpl != null);
404-
assert(copyLocation != null);
405387
Class enclosingClass = classBuilder.cls;
406388
Procedure referenceFrom;
407389
if (classBuilder.referencesFromIndexed != null) {
408390
referenceFrom = classBuilder.referencesFromIndexed
409391
.lookupProcedureSetter(member.name.text);
410392
}
411-
Uri fileUri;
412-
int startFileOffset;
413-
int fileOffset;
414-
if (copyLocation) {
415-
fileUri = member.fileUri;
416-
startFileOffset =
417-
member is Procedure ? member.startFileOffset : member.fileOffset;
418-
fileOffset = member.fileOffset;
419-
} else {
420-
fileUri = enclosingClass.fileUri;
421-
startFileOffset = fileOffset = enclosingClass.fileOffset;
422-
}
393+
Uri fileUri = member.fileUri;
394+
int startFileOffset =
395+
member is Procedure ? member.startFileOffset : member.fileOffset;
396+
int fileOffset = member.fileOffset;
423397
return new Procedure(
424398
member.name,
425399
ProcedureKind.Setter,
@@ -440,26 +414,17 @@ abstract class CombinedMemberSignatureBase<T> {
440414
..parent = enclosingClass;
441415
}
442416

443-
Member _createMethodSignature(Procedure procedure, FunctionType functionType,
444-
{bool copyLocation}) {
445-
assert(copyLocation != null);
417+
Member _createMethodSignature(
418+
Procedure procedure, FunctionType functionType) {
446419
Class enclosingClass = classBuilder.cls;
447420
Procedure referenceFrom;
448421
if (classBuilder.referencesFromIndexed != null) {
449422
referenceFrom = classBuilder.referencesFromIndexed
450423
.lookupProcedureNotSetter(procedure.name.text);
451424
}
452-
Uri fileUri;
453-
int startFileOffset;
454-
int fileOffset;
455-
if (copyLocation) {
456-
fileUri = procedure.fileUri;
457-
startFileOffset = procedure.startFileOffset;
458-
fileOffset = procedure.fileOffset;
459-
} else {
460-
fileUri = enclosingClass.fileUri;
461-
startFileOffset = fileOffset = enclosingClass.fileOffset;
462-
}
425+
Uri fileUri = procedure.fileUri;
426+
int startFileOffset = procedure.startFileOffset;
427+
int fileOffset = procedure.fileOffset;
463428
FunctionNode function = procedure.function;
464429
List<VariableDeclaration> positionalParameters = [];
465430
for (int i = 0; i < function.positionalParameters.length; i++) {

pkg/front_end/lib/src/fasta/kernel/forwarding_node.dart

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -98,10 +98,7 @@ class ForwardingNode {
9898
// Covariance can only come from [interfaceMember] so we never need a
9999
// forwarding stub.
100100
if (_combinedMemberSignature.neededLegacyErasure) {
101-
return _combinedMemberSignature.createMemberFromSignature(
102-
// TODO(johnniwinther): Change member signatures to use location
103-
// of origin.
104-
copyLocation: false);
101+
return _combinedMemberSignature.createMemberFromSignature();
105102
} else {
106103
// Nothing to do.
107104
return interfaceMember;

pkg/front_end/testcases/extensions/ambiguous.dart.outline.expect

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,16 @@ import "dart:core" as core;
55
class C extends core::Object {
66
synthetic constructor •() → self::C*
77
;
8-
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
9-
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
10-
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
11-
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
12-
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
13-
abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
14-
abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
15-
abstract member-signature method toString() → core::String*; -> core::Object::toString
16-
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
17-
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
8+
abstract member-signature get /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ _identityHashCode() → core::int*; -> core::Object::_identityHashCode
9+
abstract member-signature method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
10+
abstract member-signature method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
11+
abstract member-signature method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
12+
abstract member-signature method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
13+
abstract member-signature operator /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ ==(dynamic other) → core::bool*; -> core::Object::==
14+
abstract member-signature get /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ hashCode() → core::int*; -> core::Object::hashCode
15+
abstract member-signature method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ toString() → core::String*; -> core::Object::toString
16+
abstract member-signature method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
17+
abstract member-signature get /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ runtimeType() → core::Type*; -> core::Object::runtimeType
1818
}
1919
extension A on self::C* {
2020
method method = self::A|method;

pkg/front_end/testcases/extensions/ambiguous.dart.strong.expect

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -153,16 +153,16 @@ class C extends core::Object {
153153
synthetic constructor •() → self::C*
154154
: super core::Object::•()
155155
;
156-
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
157-
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
158-
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
159-
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
160-
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
161-
abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
162-
abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
163-
abstract member-signature method toString() → core::String*; -> core::Object::toString
164-
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
165-
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
156+
abstract member-signature get /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ _identityHashCode() → core::int*; -> core::Object::_identityHashCode
157+
abstract member-signature method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
158+
abstract member-signature method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
159+
abstract member-signature method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
160+
abstract member-signature method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
161+
abstract member-signature operator /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ ==(dynamic other) → core::bool*; -> core::Object::==
162+
abstract member-signature get /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ hashCode() → core::int*; -> core::Object::hashCode
163+
abstract member-signature method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ toString() → core::String*; -> core::Object::toString
164+
abstract member-signature method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
165+
abstract member-signature get /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ runtimeType() → core::Type*; -> core::Object::runtimeType
166166
}
167167
extension A on self::C* {
168168
method method = self::A|method;

pkg/front_end/testcases/extensions/ambiguous.dart.strong.transformed.expect

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -153,16 +153,16 @@ class C extends core::Object {
153153
synthetic constructor •() → self::C*
154154
: super core::Object::•()
155155
;
156-
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
157-
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
158-
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
159-
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
160-
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
161-
abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
162-
abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
163-
abstract member-signature method toString() → core::String*; -> core::Object::toString
164-
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
165-
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
156+
abstract member-signature get /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ _identityHashCode() → core::int*; -> core::Object::_identityHashCode
157+
abstract member-signature method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
158+
abstract member-signature method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
159+
abstract member-signature method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
160+
abstract member-signature method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
161+
abstract member-signature operator /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ ==(dynamic other) → core::bool*; -> core::Object::==
162+
abstract member-signature get /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ hashCode() → core::int*; -> core::Object::hashCode
163+
abstract member-signature method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ toString() → core::String*; -> core::Object::toString
164+
abstract member-signature method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
165+
abstract member-signature get /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ runtimeType() → core::Type*; -> core::Object::runtimeType
166166
}
167167
extension A on self::C* {
168168
method method = self::A|method;

pkg/front_end/testcases/extensions/annotations.dart.outline.expect

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,16 @@ class Class extends core::Object {
1111
@core::pragma::_("dart2js:noInline")
1212
static method staticMethod() → dynamic
1313
;
14-
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
15-
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
16-
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
17-
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
18-
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
19-
abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
20-
abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
21-
abstract member-signature method toString() → core::String*; -> core::Object::toString
22-
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
23-
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
14+
abstract member-signature get /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ _identityHashCode() → core::int*; -> core::Object::_identityHashCode
15+
abstract member-signature method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
16+
abstract member-signature method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
17+
abstract member-signature method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
18+
abstract member-signature method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
19+
abstract member-signature operator /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ ==(dynamic other) → core::bool*; -> core::Object::==
20+
abstract member-signature get /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ hashCode() → core::int*; -> core::Object::hashCode
21+
abstract member-signature method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ toString() → core::String*; -> core::Object::toString
22+
abstract member-signature method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
23+
abstract member-signature get /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/object_patch.dart */ runtimeType() → core::Type*; -> core::Object::runtimeType
2424
}
2525
extension Extension on self::Class* {
2626
method extensionInstanceMethod = self::Extension|extensionInstanceMethod;

0 commit comments

Comments
 (0)