| Index: pkg/compiler/lib/src/resolution/member_impl.dart
|
| diff --git a/pkg/compiler/lib/src/resolution/member_impl.dart b/pkg/compiler/lib/src/resolution/member_impl.dart
|
| index 7597d366e6bc1adf846f1011c26b57d7d9174aab..8c4eb1c8c7ae1e706c398766eabd49d5b0a54c36 100644
|
| --- a/pkg/compiler/lib/src/resolution/member_impl.dart
|
| +++ b/pkg/compiler/lib/src/resolution/member_impl.dart
|
| @@ -138,13 +138,17 @@ class InheritedMember implements DeclaredMember {
|
| }
|
|
|
| DeclaredMember inheritFrom(InterfaceType newInstance) {
|
| - assert(() {
|
| + assert(invariant(declaration.element, () {
|
| // Assert that if [instance] contains type variables, then these are
|
| // defined in the declaration of [newInstance] and will therefore be
|
| // substituted into the context of [newInstance] in the created member.
|
| ClassElement contextClass = Types.getClassContext(instance);
|
| return contextClass == null || contextClass == newInstance.element;
|
| - });
|
| + }, message: () {
|
| + return "Context mismatch: Context class "
|
| + "${Types.getClassContext(instance)} from $instance does match "
|
| + "the new instance $newInstance.";
|
| + }));
|
| return _newInheritedMember(newInstance);
|
| }
|
|
|
| @@ -169,7 +173,7 @@ class InheritedMember implements DeclaredMember {
|
|
|
| String toString() {
|
| StringBuffer sb = new StringBuffer();
|
| - printOn(sb, instance);
|
| + printOn(sb, type);
|
| return sb.toString();
|
| }
|
| }
|
|
|