| Index: sdk/lib/_internal/compiler/implementation/js_backend/backend.dart
|
| ===================================================================
|
| --- sdk/lib/_internal/compiler/implementation/js_backend/backend.dart (revision 22664)
|
| +++ sdk/lib/_internal/compiler/implementation/js_backend/backend.dart (working copy)
|
| @@ -79,7 +79,7 @@
|
|
|
| factory HTypeList.fromStaticInvocation(HInvokeStatic node) {
|
| bool allUnknown = true;
|
| - for (int i = 1; i < node.inputs.length; i++) {
|
| + for (int i = 0; i < node.inputs.length; i++) {
|
| if (node.inputs[i].instructionType != HType.UNKNOWN) {
|
| allUnknown = false;
|
| break;
|
| @@ -87,9 +87,9 @@
|
| }
|
| if (allUnknown) return HTypeList.ALL_UNKNOWN;
|
|
|
| - HTypeList result = new HTypeList(node.inputs.length - 1);
|
| + HTypeList result = new HTypeList(node.inputs.length);
|
| for (int i = 0; i < result.types.length; i++) {
|
| - result.types[i] = node.inputs[i + 1].instructionType;
|
| + result.types[i] = node.inputs[i].instructionType;
|
| assert(!result.types[i].isConflicting());
|
| }
|
| return result;
|
| @@ -647,7 +647,6 @@
|
| ClassElement jsNumberClass;
|
| ClassElement jsIntClass;
|
| ClassElement jsDoubleClass;
|
| - ClassElement jsFunctionClass;
|
| ClassElement jsNullClass;
|
| ClassElement jsBoolClass;
|
|
|
| @@ -919,8 +918,6 @@
|
| jsDoubleClass = compiler.findInterceptor(const SourceString('JSDouble')),
|
| jsNumberClass = compiler.findInterceptor(const SourceString('JSNumber')),
|
| jsNullClass = compiler.findInterceptor(const SourceString('JSNull')),
|
| - jsFunctionClass =
|
| - compiler.findInterceptor(const SourceString('JSFunction')),
|
| jsBoolClass = compiler.findInterceptor(const SourceString('JSBool')),
|
| jsMutableArrayClass =
|
| compiler.findInterceptor(const SourceString('JSMutableArray')),
|
| @@ -1122,8 +1119,6 @@
|
| } else if (cls == compiler.doubleClass || cls == jsDoubleClass) {
|
| addInterceptors(jsDoubleClass, enqueuer, elements);
|
| addInterceptors(jsNumberClass, enqueuer, elements);
|
| - } else if (cls == compiler.functionClass || cls == jsFunctionClass) {
|
| - addInterceptors(jsFunctionClass, enqueuer, elements);
|
| } else if (cls == compiler.boolClass || cls == jsBoolClass) {
|
| addInterceptors(jsBoolClass, enqueuer, elements);
|
| } else if (cls == compiler.nullClass || cls == jsNullClass) {
|
| @@ -1655,12 +1650,6 @@
|
| return typeCast
|
| ? const SourceString("boolTypeCast")
|
| : const SourceString('boolTypeCheck');
|
| - } else if (element == jsFunctionClass ||
|
| - element == compiler.functionClass) {
|
| - if (nativeCheckOnly) return null;
|
| - return typeCast
|
| - ? const SourceString("functionTypeCast")
|
| - : const SourceString('functionTypeCheck');
|
| } else if (element == jsIntClass || element == compiler.intClass) {
|
| if (nativeCheckOnly) return null;
|
| return typeCast ?
|
| @@ -1844,7 +1833,6 @@
|
| ClassElement get growableListImplementation => jsExtendableArrayClass;
|
| ClassElement get mapImplementation => mapLiteralClass;
|
| ClassElement get constMapImplementation => constMapLiteralClass;
|
| - ClassElement get functionImplementation => jsFunctionClass;
|
| ClassElement get typeImplementation => typeLiteralClass;
|
| ClassElement get boolImplementation => jsBoolClass;
|
| ClassElement get nullImplementation => jsNullClass;
|
|
|