Index: lib/compiler/implementation/native_emitter.dart |
diff --git a/lib/compiler/implementation/native_emitter.dart b/lib/compiler/implementation/native_emitter.dart |
index 85fde0010f3ebddae29003cc853034428fc0bf14..53dc02b39a198c1834c11ae90266c5dacd939ea8 100644 |
--- a/lib/compiler/implementation/native_emitter.dart |
+++ b/lib/compiler/implementation/native_emitter.dart |
@@ -5,7 +5,7 @@ |
class NativeEmitter { |
CodeEmitterTask emitter; |
- StringBuffer nativeBuffer; |
+ CodeBuffer nativeBuffer; |
// Classes that participate in dynamic dispatch. These are the |
// classes that contain used members. |
@@ -40,7 +40,7 @@ class NativeEmitter { |
overriddenMethods = new Set<FunctionElement>(), |
nativeMethods = new Set<FunctionElement>(), |
redirectingMethods = new Map<FunctionElement, String>(), |
- nativeBuffer = new StringBuffer(); |
+ nativeBuffer = new CodeBuffer(); |
Compiler get compiler() => emitter.compiler; |
@@ -103,9 +103,7 @@ function(cls, fields, methods) { |
nativeBuffer.add(nativeCode); |
nativeBuffer.add(';\n'); |
- void defineInstanceMember(String name, |
- String value, |
- [List<SourceMappingEntry> sourceMappings]) { |
+ void defineInstanceMember(String name, CodeBuffer value) { |
nativeBuffer.add("$className.$name = $value;\n"); |
} |
@@ -146,10 +144,10 @@ function(cls, fields, methods) { |
return; |
} |
- StringBuffer fieldBuffer = new StringBuffer(); |
+ CodeBuffer fieldBuffer = new CodeBuffer(); |
emitter.emitClassFields(classElement, fieldBuffer); |
- StringBuffer methodBuffer = new StringBuffer(); |
+ CodeBuffer methodBuffer = new CodeBuffer(); |
emitter.emitInstanceMembers(classElement, methodBuffer, false); |
if (methodBuffer.isEmpty() && fieldBuffer.isEmpty()) return; |
@@ -169,7 +167,7 @@ function(cls, fields, methods) { |
return result === null ? const<ClassElement>[] : result; |
} |
- void potentiallyConvertDartClosuresToJs(StringBuffer code, |
+ void potentiallyConvertDartClosuresToJs(CodeBuffer code, |
FunctionElement member, |
List<String> argumentsBuffer) { |
FunctionSignature parameters = member.computeSignature(compiler); |
@@ -194,7 +192,7 @@ function(cls, fields, methods) { |
String stubParameters, |
List<String> argumentsBuffer, |
int indexOfLastOptionalArgumentInParameters, |
- StringBuffer buffer) { |
+ CodeBuffer buffer) { |
// The target JS function may check arguments.length so we need to |
// make sure not to pass any unspecified optional arguments to it. |
// For example, for the following Dart method: |
@@ -211,7 +209,7 @@ function(cls, fields, methods) { |
String nativeName = classElement.nativeName.slowToString(); |
String nativeArguments = Strings.join(nativeArgumentsBuffer, ","); |
- StringBuffer code = new StringBuffer(); |
+ CodeBuffer code = new CodeBuffer(); |
potentiallyConvertDartClosuresToJs(code, member, argumentsBuffer); |
if (!nativeMethods.contains(member)) { |
@@ -374,7 +372,7 @@ function(cls, fields, methods) { |
return isSupertypeOfNativeClass(element); |
} |
- void emitIsChecks(StringBuffer checkBuffer) { |
+ void emitIsChecks(CodeBuffer checkBuffer) { |
for (Element type in compiler.codegenWorld.isChecks) { |
if (!requiresNativeIsCheck(type)) continue; |
String name = compiler.namer.operatorIs(type); |
@@ -383,7 +381,7 @@ function(cls, fields, methods) { |
} |
} |
- void assembleCode(StringBuffer targetBuffer) { |
+ void assembleCode(CodeBuffer targetBuffer) { |
if (nativeClasses.isEmpty()) return; |
emitDynamicDispatchMetadata(); |
@@ -392,7 +390,7 @@ function(cls, fields, methods) { |
// attach to the JS Object prototype these methods that return |
// false, and will be overridden by subclasses when they have to |
// return true. |
- StringBuffer objectProperties = new StringBuffer(); |
+ CodeBuffer objectProperties = new CodeBuffer(); |
emitIsChecks(objectProperties); |
// In order to have the toString method on every native class, |