Too Much Work To Figure Out

The last few days, I was looking into whether we could just ditch support for String and Object. To find out if we can, I first scanned for synchronized methods, and then started looking at synchronized blocks.

Unfortunately, after putting in some work to simulate the types of values on the stack and in local variables, I realized that I have to keep track of the types in fields as well. Finding out if any of the synchronized blocks use the monitors of the String and Object classes essentially amounts to performing type unification on the entire Java API and user application. I’m not willing to do that. It seems too ancillary to my project.

Now I’m thinking about how to subclass String and Object while hiding it from instanceof and reflection.


About Mathias

Software development engineer. Principal developer of DrJava. Recent Ph.D. graduate from the Department of Computer Science at Rice University.
This entry was posted in Concurrent Unit Testing. Bookmark the permalink.

Leave a Reply