Author: [email protected]
Date: Mon Jul 6 15:14:56 2009
New Revision: 5677
Added:
changes/jat/ihm/dev/core/test/com/google/gwt/core/ext/typeinfo/HookableTypeOracle.java
(contents, props changed)
Removed:
changes/jat/ihm/dev/core/test/com/google/gwt/core/ext/typeinfo/TypeOracleMocks.java
Modified:
changes/jat/ihm/dev/core/src/com/google/gwt/dev/javac/CompilationUnitInvalidator.java
changes/jat/ihm/dev/core/test/com/google/gwt/dev/javac/TypeOracleTestingUtils.java
changes/jat/ihm/dev/core/test/com/google/gwt/dev/javac/asm/ResolveGenericsTest.java
changes/jat/ihm/dev/core/test/com/google/gwt/dev/javac/impl/JavaResourceBase.java
Log:
Remove my TypeOracle mocking code and extend what was already there to do
what I needed.
Modified:
changes/jat/ihm/dev/core/src/com/google/gwt/dev/javac/CompilationUnitInvalidator.java
==============================================================================
---
changes/jat/ihm/dev/core/src/com/google/gwt/dev/javac/CompilationUnitInvalidator.java
(original)
+++
changes/jat/ihm/dev/core/src/com/google/gwt/dev/javac/CompilationUnitInvalidator.java
Mon Jul 6 15:14:56 2009
@@ -208,7 +208,7 @@
validBinaryTypeNames);
}
if (unit.isCompiled()) {
- state.jsoState.processUnit(typeOracle, unit);
+// state.jsoState.processUnit(typeOracle, unit);
// JSORestrictionsChecker.check(state.jsoState, unit, typeOracle);
}
}
Added:
changes/jat/ihm/dev/core/test/com/google/gwt/core/ext/typeinfo/HookableTypeOracle.java
==============================================================================
--- (empty file)
+++
changes/jat/ihm/dev/core/test/com/google/gwt/core/ext/typeinfo/HookableTypeOracle.java
Mon Jul 6 15:14:56 2009
@@ -0,0 +1,13 @@
+package com.google.gwt.core.ext.typeinfo;
+
+/**
+ * A minimal TypeOracle mock that exposes the addNewType hook to
subclasses.
+ */
+public class HookableTypeOracle extends TypeOracle {
+
+ // Increases visibility so tests in other packages can hook this.
+ @Override
+ protected void addNewType(JRealClassType newType) {
+ super.addNewType(newType);
+ }
+}
\ No newline at end of file
Modified:
changes/jat/ihm/dev/core/test/com/google/gwt/dev/javac/TypeOracleTestingUtils.java
==============================================================================
---
changes/jat/ihm/dev/core/test/com/google/gwt/dev/javac/TypeOracleTestingUtils.java
(original)
+++
changes/jat/ihm/dev/core/test/com/google/gwt/dev/javac/TypeOracleTestingUtils.java
Mon Jul 6 15:14:56 2009
@@ -31,6 +31,13 @@
*/
public class TypeOracleTestingUtils {
+ public static void buildStandardTypeOracleWith(TypeOracleMediator
mediator,
+ TreeLogger logger, CompilationUnit... extraUnits) {
+ Set<CompilationUnit> extraUnitSet = new HashSet<CompilationUnit>();
+ Collections.addAll(extraUnitSet, extraUnits);
+ buildStandardTypeOracleWith(mediator, logger, extraUnitSet);
+ }
+
public static TypeOracle buildStandardTypeOracleWith(TreeLogger logger,
CompilationUnit... extraUnits) {
Set<CompilationUnit> extraUnitSet = new HashSet<CompilationUnit>();
@@ -38,6 +45,16 @@
return buildStandardTypeOracleWith(logger, extraUnitSet);
}
+ public static void buildStandardTypeOracleWith(TypeOracleMediator
mediator,
+ TreeLogger logger, Set<CompilationUnit> extraUnits) {
+ Set<CompilationUnit> unitSet = new HashSet<CompilationUnit>();
+ addStandardCups(unitSet);
+ for (CompilationUnit extraUnit : extraUnits) {
+ unitSet.add(extraUnit);
+ }
+ buildTypeOracle(mediator, logger, unitSet);
+ }
+
public static TypeOracle buildStandardTypeOracleWith(TreeLogger logger,
Set<CompilationUnit> extraUnits) {
Set<CompilationUnit> unitSet = new HashSet<CompilationUnit>();
@@ -50,6 +67,13 @@
public static TypeOracle buildTypeOracle(TreeLogger logger,
Set<CompilationUnit> units) {
+ TypeOracleMediator mediator = new TypeOracleMediator();
+ buildTypeOracle(mediator, logger, units);
+ return mediator.getTypeOracle();
+ }
+
+ public static void buildTypeOracle(TypeOracleMediator mediator,
+ TreeLogger logger, Set<CompilationUnit> units) {
Set<String> validBinaryTypeNames = new HashSet<String>();
for (CompilationUnit unit : units) {
Set<CompiledClass> compiledClasses = unit.getCompiledClasses();
@@ -66,9 +90,7 @@
if (CompilationUnitInvalidator.invalidateUnitsWithErrors(logger,
units)) {
CompilationUnitInvalidator.invalidateUnitsWithInvalidRefs(logger,
units);
}
- TypeOracleMediator mediator = new TypeOracleMediator();
mediator.refresh(logger, units);
- return mediator.getTypeOracle();
}
/**
Modified:
changes/jat/ihm/dev/core/test/com/google/gwt/dev/javac/asm/ResolveGenericsTest.java
==============================================================================
---
changes/jat/ihm/dev/core/test/com/google/gwt/dev/javac/asm/ResolveGenericsTest.java
(original)
+++
changes/jat/ihm/dev/core/test/com/google/gwt/dev/javac/asm/ResolveGenericsTest.java
Mon Jul 6 15:14:56 2009
@@ -16,6 +16,7 @@
package com.google.gwt.dev.javac.asm;
import com.google.gwt.core.ext.TreeLogger;
+import com.google.gwt.core.ext.typeinfo.HookableTypeOracle;
import com.google.gwt.core.ext.typeinfo.JClassType;
import com.google.gwt.core.ext.typeinfo.JGenericType;
import com.google.gwt.core.ext.typeinfo.JMethod;
@@ -27,16 +28,15 @@
import com.google.gwt.core.ext.typeinfo.JTypeParameter;
import com.google.gwt.core.ext.typeinfo.JWildcardType;
import com.google.gwt.core.ext.typeinfo.TypeOracle;
-import com.google.gwt.core.ext.typeinfo.TypeOracleMocks;
import com.google.gwt.core.ext.typeinfo.JWildcardType.BoundType;
-import com.google.gwt.core.ext.typeinfo.TypeOracleMocks.BareTypeOracle;
import com.google.gwt.dev.asm.Opcodes;
import com.google.gwt.dev.asm.Type;
import com.google.gwt.dev.asm.signature.SignatureReader;
+import com.google.gwt.dev.javac.CompilationUnit;
import com.google.gwt.dev.javac.TypeOracleMediator;
+import com.google.gwt.dev.javac.TypeOracleTestingUtils;
import com.google.gwt.dev.javac.TypeParameterLookup;
import com.google.gwt.dev.javac.asm.CollectClassData.ClassType;
-import com.google.gwt.dev.util.log.AbstractTreeLogger;
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
@@ -52,25 +52,23 @@
*/
public class ResolveGenericsTest extends AsmTestCase {
- public static class FailErrorTreeLogger extends AbstractTreeLogger {
+ public static class FailErrorTreeLogger extends TreeLogger {
@Override
- protected AbstractTreeLogger doBranch() {
- // TODO(jat): Auto-generated method stub
- return null;
- }
-
- @Override
- protected void doCommitBranch(AbstractTreeLogger childBeingCommitted,
- com.google.gwt.core.ext.TreeLogger.Type type, String msg,
- Throwable caught, HelpInfo helpInfo) {
+ public TreeLogger branch(com.google.gwt.core.ext.TreeLogger.Type type,
+ String msg, Throwable caught, HelpInfo helpInfo) {
if (type == TreeLogger.ERROR) {
fail(msg);
}
+ return this;
+ }
+
+ @Override
+ public boolean isLoggable(com.google.gwt.core.ext.TreeLogger.Type
type) {
+ return true;
}
@Override
- protected void doLog(int indexOfLogEntryWithinParentLogger,
- com.google.gwt.core.ext.TreeLogger.Type type, String msg,
+ public void log(com.google.gwt.core.ext.TreeLogger.Type type, String
msg,
Throwable caught, HelpInfo helpInfo) {
if (type == TreeLogger.ERROR) {
fail(msg);
@@ -96,7 +94,7 @@
}
}
- public static class ResolverMockTypeOracle extends BareTypeOracle {
+ public static class ResolverMockTypeOracle extends HookableTypeOracle {
private Map<String, JRealClassType> binaryMapper;
@@ -151,7 +149,6 @@
private static final String OUTER2_METHOD_SIG
= "(Lcom/google/gwt/dev/javac/asm/TestHandler1<Ljava/lang/String;>;)V";
- private TypeOracleMocks oracleMocks;
private ResolverMockTypeOracle oracle = new ResolverMockTypeOracle();
@SuppressWarnings("unused")
@@ -170,10 +167,10 @@
@SuppressWarnings("unused")
private JRealClassType testType;
- @Override
- public void setUp() {
- oracleMocks = new TypeOracleMocks(oracle, failTreeLogger);
- oracleMocks.addJreMocks();
+ public ResolveGenericsTest() {
+ TypeOracleMediator mediator = new TypeOracleMediator(oracle);
+ TypeOracleTestingUtils.buildStandardTypeOracleWith(mediator,
+ failTreeLogger);
testHandler = createUnresolvedClass(TestHandler.class, null);
testHandler1 = createUnresolvedClass(TestHandler1.class, null);
testOuter0 = createUnresolvedClass(TestOuter0.class, null);
Modified:
changes/jat/ihm/dev/core/test/com/google/gwt/dev/javac/impl/JavaResourceBase.java
==============================================================================
---
changes/jat/ihm/dev/core/test/com/google/gwt/dev/javac/impl/JavaResourceBase.java
(original)
+++
changes/jat/ihm/dev/core/test/com/google/gwt/dev/javac/impl/JavaResourceBase.java
Mon Jul 6 15:14:56 2009
@@ -135,10 +135,21 @@
return code;
}
};
+ public static final MockJavaResource THROWABLE = new MockJavaResource(
+ "java.lang.Throwable") {
+ @Override
+ protected CharSequence getContent() {
+ StringBuffer code = new StringBuffer();
+ code.append("package java.lang;\n");
+ code.append("public class Throwable {\n");
+ code.append("}\n");
+ return code;
+ }
+ };
public static MockJavaResource[] getStandardResources() {
return new MockJavaResource[] {
ANNOTATION, CLASS, JAVASCRIPTOBJECT, MAP, OBJECT, SERIALIZABLE,
STRING,
- SUPPRESS_WARNINGS};
+ SUPPRESS_WARNINGS, THROWABLE};
}
}
--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---