Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(528)

Unified Diff: pkg/compiler/lib/src/resolution/members.dart

Issue 2809603002: Introduce ParameterStructure (Closed)
Patch Set: Fix. Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/compiler/lib/src/resolution/members.dart
diff --git a/pkg/compiler/lib/src/resolution/members.dart b/pkg/compiler/lib/src/resolution/members.dart
index 45e381d42e3c85df0775b152a48f891d841c63f8..3b5c430bada9414d9154c3939d7a5c7333f6504b 100644
--- a/pkg/compiler/lib/src/resolution/members.dart
+++ b/pkg/compiler/lib/src/resolution/members.dart
@@ -1569,7 +1569,7 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
case AccessKind.SUPER_METHOD:
MethodElement superMethod = semantics.element;
superMethod.computeType(resolution);
- if (!callStructure.signatureApplies(superMethod.type)) {
+ if (!callStructure.signatureApplies(superMethod.parameterStructure)) {
registry.registerFeature(Feature.THROW_NO_SUCH_METHOD);
registry.registerDynamicUse(new DynamicUse(selector, null));
registry.registerFeature(Feature.SUPER_NO_SUCH_METHOD);
@@ -2503,7 +2503,7 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
case AccessKind.LOCAL_FUNCTION:
LocalFunctionElementX function = semantics.element;
function.computeType(resolution);
- if (!callStructure.signatureApplies(function.type)) {
+ if (!callStructure.signatureApplies(function.parameterStructure)) {
registry.registerFeature(Feature.THROW_NO_SUCH_METHOD);
registry.registerDynamicUse(new DynamicUse(selector, null));
isIncompatibleInvoke = true;
@@ -2672,7 +2672,7 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
case AccessKind.TOPLEVEL_METHOD:
MethodElement method = semantics.element;
method.computeType(resolution);
- if (!callStructure.signatureApplies(method.type)) {
+ if (!callStructure.signatureApplies(method.parameterStructure)) {
registry.registerFeature(Feature.THROW_NO_SUCH_METHOD);
registry.registerDynamicUse(new DynamicUse(selector, null));
isIncompatibleInvoke = true;
@@ -3859,7 +3859,7 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
case ConstructorResultKind.GENERATIVE:
// Ensure that the signature of [constructor] has been computed.
constructor.computeType(resolution);
- if (!callStructure.signatureApplies(constructor.type)) {
+ if (!callStructure.signatureApplies(constructor.parameterStructure)) {
isInvalid = true;
kind = ConstructorAccessKind.INCOMPATIBLE;
registry.registerFeature(Feature.THROW_NO_SUCH_METHOD);
@@ -3870,7 +3870,7 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
case ConstructorResultKind.FACTORY:
// Ensure that the signature of [constructor] has been computed.
constructor.computeType(resolution);
- if (!callStructure.signatureApplies(constructor.type)) {
+ if (!callStructure.signatureApplies(constructor.parameterStructure)) {
// The effective target might still be valid(!) so the is not an
// invalid case in itself. For instance
//
« no previous file with comments | « pkg/compiler/lib/src/resolution/constructors.dart ('k') | pkg/compiler/lib/src/resolution/send_structure.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698