Lots of changes for added complexity and more aggressive enum inference.

Class fields need to be parsed as well.