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

Unified Diff: editor/util/plugins/com.google.dart.java2dart/src/com/google/dart/java2dart/processor/ObjectSemanticProcessor.java

Issue 12543003: Use limited JavaStringBuilder implementation instead of Dart StringBuffer. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Tweak JavaStringBuilder. Created 7 years, 9 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: editor/util/plugins/com.google.dart.java2dart/src/com/google/dart/java2dart/processor/ObjectSemanticProcessor.java
diff --git a/editor/util/plugins/com.google.dart.java2dart/src/com/google/dart/java2dart/processor/ObjectSemanticProcessor.java b/editor/util/plugins/com.google.dart.java2dart/src/com/google/dart/java2dart/processor/ObjectSemanticProcessor.java
index 4f5a0e3b3b7a4e7d641fbb8a039965894ef131e0..38b0e5971de4ce976c54d5b969a99ea35654c08a 100644
--- a/editor/util/plugins/com.google.dart.java2dart/src/com/google/dart/java2dart/processor/ObjectSemanticProcessor.java
+++ b/editor/util/plugins/com.google.dart.java2dart/src/com/google/dart/java2dart/processor/ObjectSemanticProcessor.java
@@ -39,6 +39,7 @@ import com.google.dart.engine.scanner.TokenType;
import com.google.dart.java2dart.Context;
import com.google.dart.java2dart.util.JavaUtils;
+import static com.google.dart.java2dart.util.ASTFactory.assignmentExpression;
import static com.google.dart.java2dart.util.ASTFactory.binaryExpression;
import static com.google.dart.java2dart.util.ASTFactory.booleanLiteral;
import static com.google.dart.java2dart.util.ASTFactory.identifier;
@@ -348,19 +349,21 @@ public class ObjectSemanticProcessor extends SemanticProcessor {
}
}
if (isMethodInClass2(node, "append(char)", "java.lang.StringBuilder")) {
- replaceNode(nameNode, simpleIdentifier("writeCharCode"));
- return null;
- } else if (isMethodInClass(node, "append", "java.lang.StringBuilder")) {
- replaceNode(nameNode, simpleIdentifier("write"));
+ replaceNode(nameNode, simpleIdentifier("appendChar"));
return null;
}
if (isMethodInClass(node, "length", "java.lang.AbstractStringBuilder")) {
replaceNode(node, propertyAccess(node.getTarget(), nameNode));
return null;
}
- if (isMethodInClass(node, "setLength", "java.lang.AbstractStringBuilder")
- && args.size() == 1 && args.get(0).toSource().equals("0")) {
- replaceNode(node, methodInvocation(node.getTarget(), "clear"));
+ if (isMethodInClass(node, "setLength", "java.lang.AbstractStringBuilder")) {
+ nameNode.setToken(token("length"));
+ replaceNode(
+ node,
+ assignmentExpression(
+ propertyAccess(node.getTarget(), nameNode),
+ TokenType.EQ,
+ args.get(0)));
return null;
}
return null;
@@ -425,9 +428,9 @@ public class ObjectSemanticProcessor extends SemanticProcessor {
if (JavaUtils.isTypeNamed(typeBinding, "java.lang.IndexOutOfBoundsException")) {
replaceNode(nameNode, simpleIdentifier("RangeError"));
}
- // StringBuilder -> StringBuffer
+ // StringBuilder -> JavaStringBuilder
if (name.equals("StringBuilder")) {
- replaceNode(nameNode, simpleIdentifier("StringBuffer"));
+ replaceNode(nameNode, simpleIdentifier("JavaStringBuilder"));
}
// Class<T> -> Type
if (name.equals("Class")) {

Powered by Google App Engine
This is Rietveld 408576698