| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library dart2js.js_emitter.full_emitter.container_builder; | 5 library dart2js.js_emitter.full_emitter.container_builder; |
| 6 | 6 |
| 7 import '../../constants/values.dart'; | 7 import '../../constants/values.dart'; |
| 8 import '../../elements/elements.dart' | 8 import '../../elements/elements.dart' |
| 9 show Element, MetadataAnnotation, MethodElement; | 9 show Element, MetadataAnnotation, MethodElement; |
| 10 import '../../elements/entities.dart'; | 10 import '../../elements/entities.dart'; |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 112 } | 112 } |
| 113 | 113 |
| 114 // On [requiredParameterCount], the lower bit is set if this method can be | 114 // On [requiredParameterCount], the lower bit is set if this method can be |
| 115 // called reflectively. | 115 // called reflectively. |
| 116 int requiredParameterCount = parameters.requiredParameters << 1; | 116 int requiredParameterCount = parameters.requiredParameters << 1; |
| 117 if (member.isGetter || member.isSetter) requiredParameterCount++; | 117 if (member.isGetter || member.isSetter) requiredParameterCount++; |
| 118 | 118 |
| 119 int optionalParameterCount = parameters.optionalParameters << 1; | 119 int optionalParameterCount = parameters.optionalParameters << 1; |
| 120 if (parameters.namedParameters.isNotEmpty) optionalParameterCount++; | 120 if (parameters.namedParameters.isNotEmpty) optionalParameterCount++; |
| 121 | 121 |
| 122 List tearOffInfo = [callSelectorString]; | 122 var tearOffInfo = <jsAst.Expression>[callSelectorString]; |
| 123 | 123 |
| 124 for (ParameterStubMethod stub in method.parameterStubs) { | 124 for (ParameterStubMethod stub in method.parameterStubs) { |
| 125 jsAst.Name invocationName = stub.name; | 125 jsAst.Name invocationName = stub.name; |
| 126 emitter.interceptorEmitter | 126 emitter.interceptorEmitter |
| 127 .recordMangledNameOfMemberMethod(member, invocationName); | 127 .recordMangledNameOfMemberMethod(member, invocationName); |
| 128 | 128 |
| 129 expressions.add(stub.code); | 129 expressions.add(stub.code); |
| 130 if (member.isInstanceMember) { | 130 if (member.isInstanceMember) { |
| 131 expressions.add(js.quoteName(invocationName)); | 131 expressions.add(js.quoteName(invocationName)); |
| 132 } | 132 } |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 185 jsAst.ArrayInitializer arrayInit = | 185 jsAst.ArrayInitializer arrayInit = |
| 186 new jsAst.ArrayInitializer(expressions.toList()); | 186 new jsAst.ArrayInitializer(expressions.toList()); |
| 187 compiler.dumpInfoTask | 187 compiler.dumpInfoTask |
| 188 .registerElementAst(member, builder.addProperty(name, arrayInit)); | 188 .registerElementAst(member, builder.addProperty(name, arrayInit)); |
| 189 } | 189 } |
| 190 | 190 |
| 191 void addMemberField(Field field, ClassBuilder builder) { | 191 void addMemberField(Field field, ClassBuilder builder) { |
| 192 // For now, do nothing. | 192 // For now, do nothing. |
| 193 } | 193 } |
| 194 } | 194 } |
| OLD | NEW |