blob: df2daaf55b4c6f1e871a5a159c338e6306752e41 [file] [log] [blame]
// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE.md file.
import 'package:kernel/ast.dart' as ir;
import "../elements/resolution_types.dart" show ResolutionDartType;
import "../elements/elements.dart" show Element, ErroneousElement;
import "../resolution/operators.dart"
show AssignmentOperator, BinaryOperator, IncDecOperator, UnaryOperator;
import "../tree/tree.dart"
show Expression, NewExpression, Node, NodeList, Operator, Send, SendSet;
import "../universe/call_structure.dart" show CallStructure;
import "../universe/selector.dart" show Selector;
abstract class KernelError {
// TODO(ahe): Get rid of this method, each error should be handled according
// to the semantics required by the Dart Language Specification.
ir.Expression handleError(Expression node);
ir.Expression errorInvalidBinary(Send node, ErroneousElement error,
BinaryOperator operator, Node right, _) {
return handleError(node);
}
ir.Expression errorInvalidCompound(Send node, ErroneousElement error,
AssignmentOperator operator, Node rhs, _) {
return handleError(node);
}
ir.Expression errorInvalidCompoundIndexSet(Send node, ErroneousElement error,
Node index, AssignmentOperator operator, Node rhs, _) {
return handleError(node);
}
ir.Expression errorInvalidEquals(
Send node, ErroneousElement error, Node right, _) {
return handleError(node);
}
ir.Expression errorInvalidGet(Send node, ErroneousElement error, _) {
return handleError(node);
}
ir.Expression errorInvalidIndex(
Send node, ErroneousElement error, Node index, _) {
return handleError(node);
}
ir.Expression errorInvalidIndexPostfix(Send node, ErroneousElement error,
Node index, IncDecOperator operator, _) {
return handleError(node);
}
ir.Expression errorInvalidIndexPrefix(Send node, ErroneousElement error,
Node index, IncDecOperator operator, _) {
return handleError(node);
}
ir.Expression errorInvalidIndexSet(
Send node, ErroneousElement error, Node index, Node rhs, _) {
return handleError(node);
}
ir.Expression errorInvalidInvoke(Send node, ErroneousElement error,
NodeList arguments, Selector selector, _) {
return handleError(node);
}
ir.Expression errorInvalidNotEquals(
Send node, ErroneousElement error, Node right, _) {
return handleError(node);
}
ir.Expression errorInvalidPostfix(
Send node, ErroneousElement error, IncDecOperator operator, _) {
return handleError(node);
}
ir.Expression errorInvalidPrefix(
Send node, ErroneousElement error, IncDecOperator operator, _) {
return handleError(node);
}
ir.Expression errorInvalidSet(
Send node, ErroneousElement error, Node rhs, _) {
return handleError(node);
}
ir.Expression errorInvalidSetIfNull(
Send node, ErroneousElement error, Node rhs, _) {
return handleError(node);
}
ir.Expression errorInvalidUnary(
Send node, UnaryOperator operator, ErroneousElement error, _) {
return handleError(node);
}
ir.Expression errorNonConstantConstructorInvoke(
NewExpression node,
Element element,
ResolutionDartType type,
NodeList arguments,
CallStructure callStructure,
_) {
return handleError(node);
}
ir.Expression errorUndefinedBinaryExpression(
Send node, Node left, Operator operator, Node right, _) {
return handleError(node);
}
ir.Expression errorUndefinedUnaryExpression(
Send node, Operator operator, Node expression, _) {
return handleError(node);
}
ir.Expression errorUnresolvedFieldInitializer(
SendSet node, Element element, Node initializer, _) {
return handleError(node);
}
ir.Expression errorUnresolvedSuperConstructorInvoke(
Send node, Element element, NodeList arguments, Selector selector, _) {
return handleError(node);
}
ir.Expression errorUnresolvedThisConstructorInvoke(
Send node, Element element, NodeList arguments, Selector selector, _) {
return handleError(node);
}
ir.Expression errorInvalidIndexSetIfNull(
SendSet node, ErroneousElement error, Node index, Node rhs, _) {
return handleError(node);
}
}