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

Unified Diff: pkg/compiler/lib/src/js_backend/patch_resolver.dart

Issue 1383503002: Add Resolution and Parsing interfaces for computeType, ensureResolved and parseNode. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Add TODOs. Created 5 years, 3 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/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 36dfd074617a264b04f49e2b31e90feca09ef534..0949c8fbace9cdd0e692259e0b5741dc004eeccc 100644
--- a/pkg/compiler/lib/src/js_backend/patch_resolver.dart
+++ b/pkg/compiler/lib/src/js_backend/patch_resolver.dart
@@ -4,6 +4,8 @@
library dart2js.js_backend.patch_resolver;
+import '../common/resolution.dart' show
+ Resolution;
import '../common/tasks.dart' show
CompilerTask;
import '../compiler.dart' show
@@ -22,14 +24,15 @@ import '../tree/tree.dart';
class PatchResolverTask extends CompilerTask {
PatchResolverTask(Compiler compiler) : super(compiler);
+ Resolution get resolution => compiler.resolution;
+
String get name => 'JavaScript patch resolver';
FunctionElement resolveExternalFunction(FunctionElementX element) {
if (element.isPatched) {
FunctionElementX patch = element.patch;
compiler.withCurrentElement(patch, () {
- patch.parseNode(compiler);
- patch.computeType(compiler);
+ patch.computeType(resolution);
});
checkMatchingPatchSignatures(element, patch);
element = patch;
@@ -56,12 +59,12 @@ class PatchResolverTask extends CompilerTask {
assert(invariant(origin, originParameter.patch == patchParameter,
message: "Inconsistent repatch of $originParameter."));
}
- DartType originParameterType = originParameter.computeType(compiler);
- DartType patchParameterType = patchParameter.computeType(compiler);
+ DartType originParameterType = originParameter.computeType(resolution);
+ DartType patchParameterType = patchParameter.computeType(resolution);
if (originParameterType != patchParameterType) {
compiler.reportError(
compiler.createMessage(
- originParameter.parseNode(compiler),
+ originParameter,
MessageKind.PATCH_PARAMETER_TYPE_MISMATCH,
{'methodName': origin.name,
'parameterName': originParameter.name,
@@ -80,17 +83,15 @@ class PatchResolverTask extends CompilerTask {
// The node contains the type, so there is a potential overlap.
// Therefore we only check the text if the types are identical.
- String originParameterText =
- originParameter.parseNode(compiler).toString();
- String patchParameterText =
- patchParameter.parseNode(compiler).toString();
+ String originParameterText = originParameter.node.toString();
+ String patchParameterText = patchParameter.node.toString();
if (originParameterText != patchParameterText
// We special case the list constructor because of the
// optional parameter.
&& origin != compiler.unnamedListConstructor) {
compiler.reportError(
compiler.createMessage(
- originParameter.parseNode(compiler),
+ originParameter,
MessageKind.PATCH_PARAMETER_MISMATCH,
{'methodName': origin.name,
'originParameter': originParameterText,
« no previous file with comments | « pkg/compiler/lib/src/js_backend/lookup_map_analysis.dart ('k') | pkg/compiler/lib/src/js_backend/runtime_types.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698