src/share/classes/com/sun/tools/javac/jvm/Gen.java

changeset 3371
7220be8747f0
parent 3000
4044eb07194d
child 3446
e468915bad3a
child 3852
f02d967ddce2
     1.1 --- a/src/share/classes/com/sun/tools/javac/jvm/Gen.java	Fri May 05 06:07:27 2017 -0700
     1.2 +++ b/src/share/classes/com/sun/tools/javac/jvm/Gen.java	Wed Jun 07 00:04:12 2017 -0700
     1.3 @@ -27,6 +27,7 @@
     1.4  
     1.5  import java.util.*;
     1.6  
     1.7 +import com.sun.tools.javac.tree.TreeInfo.PosKind;
     1.8  import com.sun.tools.javac.util.*;
     1.9  import com.sun.tools.javac.util.JCDiagnostic.DiagnosticPosition;
    1.10  import com.sun.tools.javac.util.List;
    1.11 @@ -1531,12 +1532,16 @@
    1.12                                    catchallpc, 0);
    1.13                      startseg = env.info.gaps.next().intValue();
    1.14                  }
    1.15 -                code.statBegin(TreeInfo.finalizerPos(env.tree));
    1.16 +                code.statBegin(TreeInfo.finalizerPos(env.tree, PosKind.FIRST_STAT_POS));
    1.17                  code.markStatBegin();
    1.18  
    1.19                  Item excVar = makeTemp(syms.throwableType);
    1.20                  excVar.store();
    1.21                  genFinalizer(env);
    1.22 +                code.resolvePending();
    1.23 +                code.statBegin(TreeInfo.finalizerPos(env.tree, PosKind.END_POS));
    1.24 +                code.markStatBegin();
    1.25 +
    1.26                  excVar.load();
    1.27                  registerCatch(body.pos(), startseg,
    1.28                                env.info.gaps.next().intValue(),
    1.29 @@ -1550,7 +1555,7 @@
    1.30                      code.resolve(env.info.cont);
    1.31  
    1.32                      // Mark statement line number
    1.33 -                    code.statBegin(TreeInfo.finalizerPos(env.tree));
    1.34 +                    code.statBegin(TreeInfo.finalizerPos(env.tree, PosKind.FIRST_STAT_POS));
    1.35                      code.markStatBegin();
    1.36  
    1.37                      // Save return address.

mercurial