Index: pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart |
diff --git a/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart b/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart |
index 78b709b97a91f1efe842d2eaa4c1a1ac9d1760fb..6ab57112983e5beb88964a971abe727b29613250 100644 |
--- a/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart |
+++ b/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart |
@@ -19,6 +19,9 @@ import 'cps_ir_nodes.dart' as ir; |
import 'cps_ir_builder_task.dart' show DartCapturedVariables, |
GlobalProgramInformation; |
+import '../js/js.dart' as js show Template; |
+import '../native/native.dart' show NativeBehavior; |
+ |
/// A mapping from variable elements to their compile-time values. |
/// |
/// Map elements denoted by parameters and local variables to the |
@@ -2390,6 +2393,19 @@ class JsIrBuilder extends IrBuilder { |
return addPrimitive(new ir.CreateInvocationMirror(selector, arguments)); |
} |
+ ir.Primitive buildForeignCode(js.Template codeTemplate, |
+ List<ir.Primitive> arguments, |
+ NativeBehavior behavior, |
+ {Element dependency}) { |
+ return _continueWithExpression((k) => new ir.ForeignCode( |
+ codeTemplate, |
+ program.getTypeMaskForForeign(behavior), |
+ arguments, |
+ k, |
+ behavior, |
+ dependency: dependency)); |
+ } |
+ |
@override |
ir.Primitive buildTypeOperator(ir.Primitive value, |
DartType type, |