Please review JDK-8067774 at <http://cr.openjdk.java.net/~attila/8067774/webrev.00> for <https://bugs.openjdk.java.net/browse/JDK-8067774>
This fixes the issue reported with asciidoctor. The change is not trivial – I had to introduce a change in the way LocalVariableTypeCalculator performs its expression type calculations; it now uses a type stack. (If I want to be honest, I should have realized this is the right way to implement it from the beginning… Oh well, live and learn.) As a beneficial consequence, a lot of code actually became simpler; the whole business with using a Symbol->Type function to evaluate expression types is no longer necessary (all changes in the various expression classes are to do with removal of that logic). Thanks, Attila.
