Index: dart/compiler/java/com/google/dart/compiler/common/Name.java |
diff --git a/dart/compiler/java/com/google/dart/compiler/common/Name.java b/dart/compiler/java/com/google/dart/compiler/common/Name.java |
deleted file mode 100644 |
index 2ddd51256b49263b7d9af8d91bcd089d889d9b1c..0000000000000000000000000000000000000000 |
--- a/dart/compiler/java/com/google/dart/compiler/common/Name.java |
+++ /dev/null |
@@ -1,125 +0,0 @@ |
-// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
-// for details. All rights reserved. Use of this source code is governed by a |
-// BSD-style license that can be found in the LICENSE file. |
- |
-package com.google.dart.compiler.common; |
- |
-import java.io.IOException; |
-import java.io.OutputStream; |
-import java.io.PrintStream; |
-import java.io.Serializable; |
-import java.io.Writer; |
-import java.nio.charset.Charset; |
- |
-/** |
- * Instead of Strings, we use Names to abstract the underlying representation. |
- * |
- * <ul> |
- * <li>Names are globally unique and use identity for equality.</li> |
- * <li>Names are interned, so all references to the same name use the same |
- * bytes.</li> |
- * </ul> |
- * TODO(scottb): use byte[] instead of char[] when the parser is rewritten |
- * to parse byte[]. |
- */ |
-public final class Name implements Serializable { |
- |
- /** |
- * The encoding this class uses when converting between chars and bytes. |
- */ |
- public static final Charset CHARSET = Charset.forName("UTF-8"); |
- |
- private static final NameFactory factory = new NameFactory(); |
- |
- private static final long serialVersionUID = 0L; |
- |
- /** |
- * Return the Name corresponding to the data. An internal reference to |
- * <code>data</code> is kept for efficiency, do NOT mutate data after calling |
- * this method. |
- */ |
- public static Name of(char[] data) { |
- return factory.of(data); |
- } |
- |
- /** |
- * Return the Name corresponding to the data. An internal copy of the data is |
- * made. |
- */ |
- public static Name of(char[] data, int offset, int length) { |
- return factory.of(data, offset, length); |
- } |
- |
- static int computeHashCode(char[] data, int offset, int length) { |
- // Effective Java Item 9. |
- int result = 89; |
- for (int i = offset, end = offset + length; i < end; ++i) { |
- result *= 31; |
- result += data[i]; |
- } |
- return result; |
- } |
- |
- final char[] data; |
- |
- private final transient int hashCode; |
- |
- Name(char[] data, int hashCode) { |
- this.data = data; |
- this.hashCode = hashCode; |
- } |
- |
- /** |
- * Always compares based on identity. |
- */ |
- @Override |
- public boolean equals(Object obj) { |
- return this == obj; |
- } |
- |
- /** |
- * Returns the hashCode of the underlying data. |
- */ |
- @Override |
- public int hashCode() { |
- return hashCode; |
- } |
- |
- /** |
- * Constructs a String to represent the internal data. |
- */ |
- @Override |
- public String toString() { |
- return String.valueOf(data); |
- } |
- |
- /** |
- * Write my data into a {@link OutputStream} using the encoding specified in |
- * {@link #CHARSET}. |
- */ |
- public void writeBytesTo(OutputStream out) throws IOException { |
- // TODO(scottb): avoid allocating the String. |
- out.write(new String(data).getBytes(CHARSET)); |
- } |
- |
- /** |
- * Write my character data into a {@link PrintStream}. |
- */ |
- public void writeCharsTo(PrintStream out) { |
- out.print(data); |
- } |
- |
- /** |
- * Write my character data into a {@link Writer}. |
- */ |
- public void writeCharsTo(Writer writer) throws IOException { |
- writer.write(data); |
- } |
- |
- /** |
- * Replace with the canonical instance. |
- */ |
- private Object readResolve() { |
- return Name.of(data); |
- } |
-} |