| Index: pkg/compiler/lib/src/resolution/send_resolver.dart
|
| diff --git a/pkg/compiler/lib/src/resolution/send_resolver.dart b/pkg/compiler/lib/src/resolution/send_resolver.dart
|
| index b8eeb2fed37369f53c94d4f66365632b04a4e9ed..58a6df3c1b9c8642a48103874f09b7b787ae2479 100644
|
| --- a/pkg/compiler/lib/src/resolution/send_resolver.dart
|
| +++ b/pkg/compiler/lib/src/resolution/send_resolver.dart
|
| @@ -340,11 +340,24 @@ abstract class SendResolverMixin {
|
| }
|
| } else if (node.isSuperCall) {
|
| if (Elements.isUnresolved(element)) {
|
| - return new StaticAccess.unresolvedSuper(element);
|
| + if (isCompound) {
|
| + if (Elements.isUnresolved(getter)) {
|
| + // TODO(johnniwinther): Ensure that [getter] is not null. This
|
| + // happens in the case of missing super getter.
|
| + return new CompoundAccessSemantics(
|
| + CompoundAccessKind.UNRESOLVED_SUPER_GETTER, getter, element);
|
| + } else {
|
| + return new CompoundAccessSemantics(
|
| + CompoundAccessKind.UNRESOLVED_SUPER_SETTER, getter, element);
|
| + }
|
| + } else {
|
| + return new StaticAccess.unresolvedSuper(element);
|
| + }
|
| } else if (isCompound && Elements.isUnresolved(getter)) {
|
| // TODO(johnniwinther): Ensure that [getter] is not null. This happens
|
| // in the case of missing super getter.
|
| - return new StaticAccess.unresolved(getter);
|
| + return new CompoundAccessSemantics(
|
| + CompoundAccessKind.UNRESOLVED_SUPER_GETTER, getter, element);
|
| } else if (element.isField) {
|
| if (getter != null && getter != element) {
|
| CompoundAccessKind accessKind;
|
|
|