57d48dcc9f
Before this CL, if initializing from a dill file containing a class, say A, but it wasn't used, and then later using it as a type, say 'A a = new A()', the class hierarchy would complain about not knowing A. This was caused by the class hierarchy initially being constructed using the full component of the first compile (i.e. in the example above without any usage of A and thus without including A), and subsequent compiles telling the class hierarchy about new classes created in that compile. The problem was, that if the class was loaded from a dill file (in the example above 'A' was such a class) it would never be included if not a part of the first full component. This CL fixes it by changing the interface to the class hierarchys `applyTreeChanges` function and letting the class hierarchy know about libraries too: It will now basically just be given the full component when asked to update, and just update with the libraries it doesn't already know about. In the example above that would - once using 'A' - include 'A'. Change-Id: I895100b51659938636da0bca6c80516d87b57a24 Reviewed-on: https://dart-review.googlesource.com/69302 Reviewed-by: Aske Simon Christensen <askesc@google.com> Commit-Queue: Jens Johansen <jensj@google.com>