Performance work

1. types now keep track of their subtypes, enabling smarters checks
   after reloading: "has anything in my hierarchy been reloaded?"
   instead of "has anything at all been reloaded?"

2. Building on that, caches related to info built during reflective
   calls like 'getDeclaredMethods()' and 'getMethods()' is cleared
   from types (and subtypes) during reload. The caches will
   subsequently be rebuilt/reused on the next request for that
   info.

3. New guards in ivicheck/etc: 'have things in my
   hierarchy been reloaded?'
This commit is contained in:
Andy Clement
2014-05-20 11:29:23 -07:00
parent 65a333238c
commit 8c49ba3822
13 changed files with 259 additions and 14 deletions

View File

@@ -0,0 +1,6 @@
package associatedtypes;
public class CM extends CT implements IM,IM2 {
public static void run() {}
}

View File

@@ -0,0 +1,5 @@
package associatedtypes;
public class CT implements IT, IT2 {
}

View File

@@ -0,0 +1,5 @@
package associatedtypes;
public interface IM {
}

View File

@@ -0,0 +1,5 @@
package associatedtypes;
public interface IM2 {
}

View File

@@ -0,0 +1,5 @@
package associatedtypes;
public interface IT {
}

View File

@@ -0,0 +1,5 @@
package associatedtypes;
public interface IT2 {
}