Hi John,

Thanks for reminding me about this...

> The problem is let's say you change file A.

Two things:

First is that AFAIK GWT already does this...see the Dependencies class,
which I became familiar with when trying to build a list of dependencies
for Scala-GWT ASTs so they could fit in this workflow.

Second is that I want GWT to *not* do this (right now it literally
scans every classes saying "have your dependencies changed? nope. have
your dependencies changed? nope." etc.).

If I already have an IDE like Eclipse or IDEA sitting in front that is
tracking this information--why do it twice?

For example, if Eclipse sees A.java change and it knows that now B.java
must be compiled too (let's say because a method signature changed),
it could tell the GWT backend about both:

    gwtBackend.update(astForA);
    gwtBackend.update(astForB);

The gwtBackend would blithely trust that the front-end (whether an IDE
or a CLI daemon that has the extracted Dependencies logic in it) is
submitting a series of ASTs that is eventually well-formed.

Mutations could be done semi-non-destructively to the AST, like removing
a method doesn't actually drop the method, it makes the body "alert(this
method got deleted, you shouldn't see this message").

So the user could technically load the app at this point, but they'd
get these alerts, just like in Eclipse if you run unit tests while
methods aren't compiling you get little "btw this doesn't compile"
runtime exceptions. Same idea.

Eventually the user will fix all of their compile errors (that they're
seeing in Eclipse/CLI), the udpated ASTs which now no longer call the
method that went away will be submitted, and things will work again.

> Even if you walk down the inheritance tree, you can't just remove that
> interface, because some other ancestor might have implemented it.

I'm making all of this up, but I would mark the interface as deleted and
leave it at that. (Lots of hand waving.)

- Stephen

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors
--- 
You received this message because you are subscribed to the Google Groups "GWT 
Contributors" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit-contributors+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to