http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/core/ext/typeinfo/TypeOracle.java
File dev/core/src/com/google/gwt/core/ext/typeinfo/TypeOracle.java
(right):

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/core/ext/typeinfo/TypeOracle.java#newcode149
dev/core/src/com/google/gwt/core/ext/typeinfo/TypeOracle.java:149:
public abstract JClassType findTypeByInternalName(String name);
TypeOracle clients (DevMode) had previously been doing:

findType(InternalName.toSourceName(name))

Effectively using TypeOracle for internal name look up, but doing their
own name mangling. This makes it explicit, and allows TypeOracle to do
the lookup deterministically.

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/core/ext/typeinfo/TypeOracle.java#newcode158
dev/core/src/com/google/gwt/core/ext/typeinfo/TypeOracle.java:158:
public abstract JClassType findTypeBySourceOrBinaryName(String name);
JSNI refs are source or binary, so instead of guessing, DevMode/etc.
passes it along to TypeOracle to figure it out.

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/javac/CompilationState.java
File dev/core/src/com/google/gwt/dev/javac/CompilationState.java (left):

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/javac/CompilationState.java#oldcode159
dev/core/src/com/google/gwt/dev/javac/CompilationState.java:159:
classFileMapBySource.put(compiledClass.getSourceName(), compiledClass);
CompiledClass cannot reliably calc its source name without knowing the
source name of its outer class.

So we wait until all CompiledClasses are made and then use classFileMap
as a lookup for the recursive calc of a source name.

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/javac/CompilationState.java
File dev/core/src/com/google/gwt/dev/javac/CompilationState.java
(right):

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/javac/CompilationState.java#newcode41
dev/core/src/com/google/gwt/dev/javac/CompilationState.java:41:
protected final Map<String, CompiledClass> classFileMap = new
HashMap<String, CompiledClass>();
Most users of this map had internal names, so using those involved the
least amount of conversion. AFAICT.

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/javac/CompilationStateBuilder.java
File dev/core/src/com/google/gwt/dev/javac/CompilationStateBuilder.java
(left):

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/javac/CompilationStateBuilder.java#oldcode83
dev/core/src/com/google/gwt/dev/javac/CompilationStateBuilder.java:83:
public ReferenceBinding resolveType(String typeName) {
This was already effectively sourceOrBinary name--just renamed it to
reflect that.

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/javac/CompilationStateBuilder.java
File dev/core/src/com/google/gwt/dev/javac/CompilationStateBuilder.java
(right):

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/javac/CompilationStateBuilder.java#newcode111
dev/core/src/com/google/gwt/dev/javac/CompilationStateBuilder.java:111:
ReferenceBinding binding = compiler.resolveType(qualifiedRef);
This is annoying, but the compiler gives us qualifiedRefs as source
names, but our map is now internal names. compiler.resolveType does a
source name lookup to get back to an internal name.

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/javac/CompilationUnitBuilder.java
File dev/core/src/com/google/gwt/dev/javac/CompilationUnitBuilder.java
(right):

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/javac/CompilationUnitBuilder.java#newcode273
dev/core/src/com/google/gwt/dev/javac/CompilationUnitBuilder.java:273:
*/
No change, just doc.

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/javac/CompiledClass.java
File dev/core/src/com/google/gwt/dev/javac/CompiledClass.java (left):

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/javac/CompiledClass.java#oldcode106
dev/core/src/com/google/gwt/dev/javac/CompiledClass.java:106:
this.sourceName =
StringInterner.get().intern(InternalName.toSourceName(internalName));
This was one of the primary places name mangling was biting us. So
sourceName isn't guessed here but looked up later in getSourceName(Map).

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/javac/CompiledClass.java
File dev/core/src/com/google/gwt/dev/javac/CompiledClass.java (right):

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/javac/CompiledClass.java#newcode162
dev/core/src/com/google/gwt/dev/javac/CompiledClass.java:162:
CollectClassData cd = getTypeData().getCollectClassData();
CollectClassData has the inner/outer class name from the bytecode, but
now we just need recursion to handle the Foo.Bar.Zaz case.

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java
File dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java (left):

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java#oldcode293
dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java:293: char[]
binaryNameChars = CharOperation.concatWith(compoundTypeName, '/');
Just fixed the name being wrong.

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java
File dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java (right):

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java#newcode106
dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java:106: * @param
internalName the internal name of the requested type
This is not a breaking changing, the wrong name was used (they already
were internal but called binary).

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java#newcode420
dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java:420: String
sourceOrBinaryName) {
Renamed the parameter from typeName to sourceOrBinaryName.

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java#newcode641
dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java:641:
apiRefs.add(BinaryName.toInternalName(binaryName));
binary -> internal name can be done safely.

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java#newcode739
dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java:739: public
ReferenceBinding resolveType(char[][] sourceName) {
This is the deterministic source name -> reference binding lookup that's
used to get internal names for the Dependencies qualifiedRefs.

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/javac/JsniChecker.java
File dev/core/src/com/google/gwt/dev/javac/JsniChecker.java (right):

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/javac/JsniChecker.java#newcode84
dev/core/src/com/google/gwt/dev/javac/JsniChecker.java:84:
ReferenceBinding resolveType(String sourceOrBinaryName);
Not changed, just a better name.

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/javac/TypeOracleMediator.java
File dev/core/src/com/google/gwt/dev/javac/TypeOracleMediator.java
(right):

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/javac/TypeOracleMediator.java#newcode181
dev/core/src/com/google/gwt/dev/javac/TypeOracleMediator.java:181:
return TypeOracleMediator.this.internalMapper;
This map was already by internal names, so I just renamed it to reflect
that.

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/javac/asm/ResolveTypeSignature.java
File dev/core/src/com/google/gwt/dev/javac/asm/ResolveTypeSignature.java
(right):

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/javac/asm/ResolveTypeSignature.java#newcode44
dev/core/src/com/google/gwt/dev/javac/asm/ResolveTypeSignature.java:44:
private final Map<String, JRealClassType> internalMapper;
Just a name change, was already by internal.

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/javac/typemodel/JRealClassType.java
File dev/core/src/com/google/gwt/dev/javac/typemodel/JRealClassType.java
(left):

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/javac/typemodel/JRealClassType.java#oldcode74
dev/core/src/com/google/gwt/dev/javac/typemodel/JRealClassType.java:74:
* @param enclosingTypeName the fully qualified source name of the
enclosing
doc was wrong.

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/jjs/ast/JGwtCreate.java
File dev/core/src/com/google/gwt/dev/jjs/ast/JGwtCreate.java (right):

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/jjs/ast/JGwtCreate.java#newcode59
dev/core/src/com/google/gwt/dev/jjs/ast/JGwtCreate.java:59: return
BinaryName.toSourceName(type.getName());
Still unsafe, but I didn't try to fix deferred binding.

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/jjs/ast/JProgram.java
File dev/core/src/com/google/gwt/dev/jjs/ast/JProgram.java (right):

http://gwt-code-reviews.appspot.com/1542804/diff/5001/dev/core/src/com/google/gwt/dev/jjs/ast/JProgram.java#newcode322
dev/core/src/com/google/gwt/dev/jjs/ast/JProgram.java:322: private final
transient TypeOracle otherTypeOracle;
We need this TypeOracle to build the dual binary/source name maps of
JDeclaredTypes.

http://gwt-code-reviews.appspot.com/1542804/diff/5001/user/src/com/google/web/bindery/requestfactory/server/RequestFactoryJarExtractor.java
File
user/src/com/google/web/bindery/requestfactory/server/RequestFactoryJarExtractor.java
(right):

http://gwt-code-reviews.appspot.com/1542804/diff/5001/user/src/com/google/web/bindery/requestfactory/server/RequestFactoryJarExtractor.java#newcode267
user/src/com/google/web/bindery/requestfactory/server/RequestFactoryJarExtractor.java:267:
return type.getClassName();
AFAICT type.getClassName was already source name.

http://gwt-code-reviews.appspot.com/1542804/

--
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to