In AutoValueProcessor, rename JavaTokenizer to EclipseHackTokenizer to make it clearer what purpose it serves and to allow the later extraction of the non-hack tokenizer from Reformatter (which will then be called JavaTokenizer).
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=95678441
diff --git a/value/src/main/java/com/google/auto/value/processor/AbstractMethodExtractor.java b/value/src/main/java/com/google/auto/value/processor/AbstractMethodExtractor.java
index b4c23cb..51a2296 100644
--- a/value/src/main/java/com/google/auto/value/processor/AbstractMethodExtractor.java
+++ b/value/src/main/java/com/google/auto/value/processor/AbstractMethodExtractor.java
@@ -75,7 +75,7 @@
// error if there are abstract methods with parameters, since the @AutoValue processor doesn't
// know how to implement them in the concrete subclass it generates.
ImmutableListMultimap<String, String> abstractMethods(
- JavaTokenizer tokenizer, String packageName) {
+ EclipseHackTokenizer tokenizer, String packageName) {
ImmutableListMultimap.Builder<String, String> abstractMethods = ImmutableListMultimap.builder();
Deque<String> classStack = new ArrayDeque<String>();
classStack.addLast(packageName);
diff --git a/value/src/main/java/com/google/auto/value/processor/EclipseHack.java b/value/src/main/java/com/google/auto/value/processor/EclipseHack.java
index db025d1..3635a31 100644
--- a/value/src/main/java/com/google/auto/value/processor/EclipseHack.java
+++ b/value/src/main/java/com/google/auto/value/processor/EclipseHack.java
@@ -213,7 +213,7 @@
String packageName = TypeSimplifier.packageNameOf(type);
String className = type.getQualifiedName().toString();
AbstractMethodExtractor extractor = new AbstractMethodExtractor();
- JavaTokenizer tokenizer = new JavaTokenizer(sourceReader);
+ EclipseHackTokenizer tokenizer = new EclipseHackTokenizer(sourceReader);
ImmutableListMultimap<String, String> methodOrders =
extractor.abstractMethods(tokenizer, packageName);
return methodOrders.get(className);
diff --git a/value/src/main/java/com/google/auto/value/processor/JavaTokenizer.java b/value/src/main/java/com/google/auto/value/processor/EclipseHackTokenizer.java
similarity index 98%
rename from value/src/main/java/com/google/auto/value/processor/JavaTokenizer.java
rename to value/src/main/java/com/google/auto/value/processor/EclipseHackTokenizer.java
index b5f9a09..f1a3688 100644
--- a/value/src/main/java/com/google/auto/value/processor/JavaTokenizer.java
+++ b/value/src/main/java/com/google/auto/value/processor/EclipseHackTokenizer.java
@@ -29,12 +29,12 @@
*
* @author Éamonn McManus
*/
-class JavaTokenizer {
+class EclipseHackTokenizer {
private final Reader reader;
private char c;
private static final char EOF = 0xffff; // This is a noncharacter in the Unicode standard.
- JavaTokenizer(Reader reader) {
+ EclipseHackTokenizer(Reader reader) {
this.reader = reader;
next();
}
diff --git a/value/src/main/java/com/google/auto/value/processor/Reformatter.java b/value/src/main/java/com/google/auto/value/processor/Reformatter.java
index 6f87584..f288d75 100644
--- a/value/src/main/java/com/google/auto/value/processor/Reformatter.java
+++ b/value/src/main/java/com/google/auto/value/processor/Reformatter.java
@@ -106,14 +106,15 @@
return sb.toString();
}
- // A simplistic Java tokenizer. This is different from the one in JavaTokenizer (which is only
- // needed for EclipseHack). The needs of the two tokenizers are very different: JavaTokenizer is
- // only needed to scan through an existing source file to find abstract method declarations, so
- // it can discard everything that isn't needed for that, including comments and string literals
- // for example. Meanwhile, this Tokenizer needs to return a sequence of tokens that can be used
- // to reconstruct the source code. JavaTokenizer also operates on a Reader (which in practice is
- // coming from a file), while here we already have the source code in a String, which means that
- // we can just return token boundaries rather than the tokens themselves.
+ // A simplistic Java tokenizer. This is different from the one in EclipseHackTokenizer
+ // (which is only needed for EclipseHack). The needs of the two tokenizers are very
+ // different: EclipseHackTokenizer is only needed to scan through an existing source file to
+ // find abstract method declarations, so it can discard everything that isn't needed for that,
+ // including comments and string literals for example. Meanwhile, this Tokenizer needs to return a
+ // sequence of tokens that can be used to reconstruct the source code. EclipseHackTokenizer also
+ // operates on a Reader (which in practice is coming from a file), while here we already have the
+ // source code in a String, which means that we can just return token boundaries rather than the
+ // tokens themselves.
//
// We are not dealing with arbitrary user code so we can assume there are no exotic things like
// tabs or Unicode escapes that resolve into quotes. The purpose of the tokenizer here is to
diff --git a/value/src/test/java/com/google/auto/value/processor/AbstractMethodExtractorTest.java b/value/src/test/java/com/google/auto/value/processor/AbstractMethodExtractorTest.java
index a798a54..3071e34 100644
--- a/value/src/test/java/com/google/auto/value/processor/AbstractMethodExtractorTest.java
+++ b/value/src/test/java/com/google/auto/value/processor/AbstractMethodExtractorTest.java
@@ -25,7 +25,7 @@
+ " abstract String two();\n"
+ " abstract Map<String, String> three();\n"
+ "}\n";
- JavaTokenizer tokenizer = new JavaTokenizer(new StringReader(source));
+ EclipseHackTokenizer tokenizer = new EclipseHackTokenizer(new StringReader(source));
AbstractMethodExtractor extractor = new AbstractMethodExtractor();
ImmutableMultimap<String, String> expected = ImmutableMultimap.of(
"com.example.Foo", "one",
@@ -60,7 +60,7 @@
+ " void distraction() {}\n"
+ " }\n"
+ "}\n";
- JavaTokenizer tokenizer = new JavaTokenizer(new StringReader(source));
+ EclipseHackTokenizer tokenizer = new EclipseHackTokenizer(new StringReader(source));
AbstractMethodExtractor extractor = new AbstractMethodExtractor();
ImmutableMultimap<String, String> expected = ImmutableMultimap.of(
"com.example.Foo.Baz", "complicated",
@@ -93,7 +93,7 @@
+ " abstract ImmutableSet<Key<?>> all();\n"
+ " }\n"
+ "}";
- JavaTokenizer tokenizer = new JavaTokenizer(new StringReader(source));
+ EclipseHackTokenizer tokenizer = new EclipseHackTokenizer(new StringReader(source));
AbstractMethodExtractor extractor = new AbstractMethodExtractor();
ImmutableMultimap<String, String> expected = ImmutableMultimap.of(
"com.example.ProducerMetadata.SourcedKeySet", "unknownSource",
diff --git a/value/src/test/java/com/google/auto/value/processor/JavaTokenizerTest.java b/value/src/test/java/com/google/auto/value/processor/EclipseHackTokenizerTest.java
similarity index 91%
rename from value/src/test/java/com/google/auto/value/processor/JavaTokenizerTest.java
rename to value/src/test/java/com/google/auto/value/processor/EclipseHackTokenizerTest.java
index 1167d81..39ae2f4 100644
--- a/value/src/test/java/com/google/auto/value/processor/JavaTokenizerTest.java
+++ b/value/src/test/java/com/google/auto/value/processor/EclipseHackTokenizerTest.java
@@ -5,11 +5,11 @@
import java.io.StringReader;
/**
- * Unit tests for {@link JavaTokenizer}.
+ * Unit tests for {@link EclipseHackTokenizer}.
*
* @author emcmanus@google.com (Éamonn McManus)
*/
-public class JavaTokenizerTest extends TestCase {
+public class EclipseHackTokenizerTest extends TestCase {
public void testSimple() {
// Construct a string containing the tokens produced from this source code, with a space after
// each one, and compare it with what we expect from the tokenization.
@@ -47,7 +47,7 @@
+ "return new AutoValue_Foo ( bar ) ; "
+ "} "
+ "} ";
- JavaTokenizer tokenizer = new JavaTokenizer(new StringReader(source));
+ EclipseHackTokenizer tokenizer = new EclipseHackTokenizer(new StringReader(source));
StringBuilder tokenStringBuilder = new StringBuilder();
String token;
while ((token = tokenizer.nextToken()) != null) {