Index: pkg/compiler/lib/src/js_backend/patch_resolver.dart |
diff --git a/pkg/compiler/lib/src/js_backend/patch_resolver.dart b/pkg/compiler/lib/src/js_backend/patch_resolver.dart |
index 0dfd302191f10ccbfc9ba88b22a7cc28b9adf2f8..79787e1a42d8f8a1e36947006b84fdba7dd7615c 100644 |
--- a/pkg/compiler/lib/src/js_backend/patch_resolver.dart |
+++ b/pkg/compiler/lib/src/js_backend/patch_resolver.dart |
@@ -33,7 +33,12 @@ class PatchResolverTask extends CompilerTask { |
}); |
checkMatchingPatchSignatures(element, patch); |
element = patch; |
- } else { |
+ } else if (!element.isConstructor || |
+ !element.isFromEnvironmentConstructor) { |
+ // Note: currently we allow a handful of external methods without a patch, |
+ // namely the *.fromEnvironment const constructors in int, bool, and |
+ // String. In the future we might also represent native DOM methods in |
+ // dart:html this way. |
reporter.reportErrorMessage( |
element, MessageKind.PATCH_EXTERNAL_WITHOUT_IMPLEMENTATION); |
} |