John, here's what I have so far, but I gotta run.  I didn't
fine-tooth-comb JSORestrictionsChecker, but I'm sure it's good enough to
go it.

Some of my other concerns I would like to see resolved.  With a commit
this big I think it makes sense to break it up to the extent possible.

I also did not really look too much at the stuff in dev.javac,
dev.resource, and TypeOracle, since I know most of that is big rewrites.
  I was largely looking at the impact on the rest of the system.



http://gwt-code-reviews.appspot.com/51826/diff/1/2
File branch-info.txt (right):

http://gwt-code-reviews.appspot.com/51826/diff/1/2#newcode1
Line 1: Created from tr...@r5326
Please remove before committing. :)

http://gwt-code-reviews.appspot.com/51826/diff/1/77
File dev/core/src/com/google/gwt/dev/SwtHostedModeBase.java (right):

http://gwt-code-reviews.appspot.com/51826/diff/1/77#newcode72
Line 72: TypeOracle typeOracle = moduleDef.getTypeOracle(logger,
wantBinaries);
I basically disagree with threading this through all the apis.  If you
want to leave an escape hatch in CompilationState itself, that's fine.
I would recommend we follow the existing conventions and set a private
static final boolean constant to
System.getProperty("gwt.typeOracle.noUseClasses") != null

http://gwt-code-reviews.appspot.com/51826/diff/1/76
File dev/core/src/com/google/gwt/dev/cfg/ModuleDefSchema.java (right):

http://gwt-code-reviews.appspot.com/51826/diff/1/76#newcode58
Line 58: protected final String __binary_1_path = "";
Why are we going to all this trouble to make it configurable?  Shouldn't
it just always match the source packages?

http://gwt-code-reviews.appspot.com/51826/diff/1/76#newcode612
Line 612: logger.log(TreeLogger.WARN, "Non-relative public package: "
'public' is wrong
+2 more instances

http://gwt-code-reviews.appspot.com/51826/diff/1/76#newcode834
Line 834: private final class IncludeExcludeSchema extends Schema {
Don't do that.
+2 more occurrences in this file.

http://gwt-code-reviews.appspot.com/51826/diff/1/76#newcode1248
Line 1248: bodySchema.addBinaryPackage(modulePackageAsPath, "",
Empty.STRINGS,
Why wouldn't the default be 'client' to match the source path?

http://gwt-code-reviews.appspot.com/51826/diff/1/65
File dev/core/src/com/google/gwt/dev/javac/JSORestrictionsChecker.java
(left):

http://gwt-code-reviews.appspot.com/51826/diff/1/65#oldcode344
Line 344: GWTProblem.recordInCud(node, cud, error, new
InstalledHelpInfo(
Did you nuke this checker's ability to produce a link to the help doc?

http://gwt-code-reviews.appspot.com/51826/diff/1/65
File dev/core/src/com/google/gwt/dev/javac/JSORestrictionsChecker.java
(right):

http://gwt-code-reviews.appspot.com/51826/diff/1/65#newcode203
Line 203: private void fail() {
Just for this visitor, it seems to make the most sense for this class to
be static and just throw an abort out the top if you fail, catch and add
the error there.

http://gwt-code-reviews.appspot.com/51826/diff/1/65#newcode322
Line 322: * If it is a non-static inner class (which we will give an
error for
If we hit a non-static inner class, let's just abort and stop
processing.  Wouldn't that make EmptyConstructorChecker simpler?

Also, the implementation might be somewhat easier to follow if somehow
we could encode the correct state transitions into the enum members.
But maybe that's farfetched.

http://gwt-code-reviews.appspot.com/51826/diff/1/65#newcode330
Line 330: protected enum CtorState {
Can we make this a static inner class of EmptyConstructorChecker?

http://gwt-code-reviews.appspot.com/51826/diff/1/71
File dev/core/src/com/google/gwt/dev/shell/CompilingClassLoader.java
(right):

http://gwt-code-reviews.appspot.com/51826/diff/1/71#newcode1098
Line 1098: assert unit != null;
Unrelated change?

http://gwt-code-reviews.appspot.com/51826/diff/1/70
File dev/core/src/com/google/gwt/dev/shell/ShellModuleSpaceHost.java
(right):

http://gwt-code-reviews.appspot.com/51826/diff/1/70#newcode1
Line 1: /*
This file gets a straight revert if we unthread the system property to
disable class reads.

http://gwt-code-reviews.appspot.com/51826/diff/1/69
File dev/core/src/com/google/gwt/dev/shell/jetty/JettyLauncher.java
(right):

http://gwt-code-reviews.appspot.com/51826/diff/1/69#newcode1
Line 1: /*
I'm sure this is a great patch, but it doesn't belong with IHM, right?

http://gwt-code-reviews.appspot.com/51826/diff/1/80
File dev/core/src/com/google/gwt/dev/util/Name.java (right):

http://gwt-code-reviews.appspot.com/51826/diff/1/80#newcode1
Line 1: /*
What would be kind of awesome is to get this class, plus the changes to
callers of this class that aren't related to IHM (CCL, for example) in
first as an initial commit.

There are actually several files with no IHM-related changes at all,
they're only being modded for the sake of using this class.

http://gwt-code-reviews.appspot.com/51826/diff/1/80#newcode213
Line 213: public static String lookupBinaryName(String sourceName,
This method really doesn't belong in this class. Actually, I don't think
it's called anywhere at all.

http://gwt-code-reviews.appspot.com/51826/diff/1/78
File dev/core/src/com/google/gwt/dev/util/UnitTestTreeLogger.java
(right):

http://gwt-code-reviews.appspot.com/51826/diff/1/78#newcode186
Line 186: if (expectedEntries.size() != actualEntries.size()) {
Seems unrelated to IHM.

http://gwt-code-reviews.appspot.com/51826/diff/1/3
File dev/linux/src/com/google/gwt/dev/shell/moz/ModuleSpaceMoz.java
(right):

http://gwt-code-reviews.appspot.com/51826/diff/1/3#newcode128
Line 128: * @param file the file name containing the JSNI
Unrelated.

http://gwt-code-reviews.appspot.com/51826/diff/1/82
File user/src/com/google/gwt/junit/JUnitShell.java (right):

http://gwt-code-reviews.appspot.com/51826/diff/1/82#newcode423
Line 423: // TODO(jat): how to make JUnitShell use binaries where
appropriate?
What does this mean?  Seems like it should just use binaries by default,
which would mean this comment can get removed.

http://gwt-code-reviews.appspot.com/51826/diff/1/83
File user/super/com/google/gwt/emul/java/util/Date.java (right):

http://gwt-code-reviews.appspot.com/51826/diff/1/83#newcode33
Line 33:
Unrelated.

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

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

Reply via email to