Skip to content

Commit f404b59

Browse files
sigmundchcommit-bot@chromium.org
authored andcommitted
Disable multi-inheritance error when using the kernel FE
Workaround for Issue #31118 Change-Id: I1d19eb1adeb7236501c276eeee5446ada36115a3 Reviewed-on: https://dart-review.googlesource.com/31240 Reviewed-by: Emily Fortuna <[email protected]> Commit-Queue: Sigmund Cherem <[email protected]>
1 parent 48eb231 commit f404b59

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

pkg/compiler/lib/src/kernel/types.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,10 @@ class _KernelOrderedTypeSetBuilder extends OrderedTypeSetBuilderBase {
9999
reporter: elementMap.reporter,
100100
objectType: elementMap.commonElements.objectType);
101101

102+
// TODO(sigmund): delete once Issue #31118 is fixed.
103+
@override
104+
bool get reportMultiInheritanceIssue => false;
105+
102106
InterfaceType getThisType(ClassEntity cls) {
103107
return elementMap._getThisType(cls);
104108
}

pkg/compiler/lib/src/ordered_typeset.dart

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,9 @@ abstract class OrderedTypeSetBuilderBase implements OrderedTypeSetBuilder {
228228
}
229229
}
230230

231+
// TODO(sigmund): delete once Issue #31118 is fixed.
232+
bool get reportMultiInheritanceIssue => true;
233+
231234
void _addAtDepth(InterfaceType type, int depth) {
232235
LinkEntry<InterfaceType> prev = null;
233236
LinkEntry<InterfaceType> link = map[depth];
@@ -236,11 +239,13 @@ abstract class OrderedTypeSetBuilderBase implements OrderedTypeSetBuilder {
236239
if (existingType == type) return;
237240
if (existingType.element == type.element) {
238241
if (reporter != null) {
239-
reporter.reportErrorMessage(cls, MessageKind.MULTI_INHERITANCE, {
240-
'thisType': getThisType(cls),
241-
'firstType': existingType,
242-
'secondType': type
243-
});
242+
if (reportMultiInheritanceIssue) {
243+
reporter.reportErrorMessage(cls, MessageKind.MULTI_INHERITANCE, {
244+
'thisType': getThisType(cls),
245+
'firstType': existingType,
246+
'secondType': type
247+
});
248+
}
244249
} else {
245250
assert(false, failedAt(cls, 'Invalid ordered typeset for $cls'));
246251
}

0 commit comments

Comments
 (0)