diff -r c1238fcc9515 -r 7375d4979bd3 src/share/classes/com/sun/tools/javac/jvm/CRTable.java --- a/src/share/classes/com/sun/tools/javac/jvm/CRTable.java Mon Nov 14 08:09:47 2011 -0800 +++ b/src/share/classes/com/sun/tools/javac/jvm/CRTable.java Mon Nov 14 15:11:10 2011 -0800 @@ -31,6 +31,7 @@ import com.sun.tools.javac.util.*; import com.sun.tools.javac.util.List; import com.sun.tools.javac.tree.JCTree.*; +import com.sun.tools.javac.parser.EndPosTable; /** This class contains the CharacterRangeTable for some method * and the hashtable for mapping trees or lists of trees to their @@ -54,9 +55,9 @@ */ private Map positions = new HashMap(); - /** The hashtable for ending positions stored in the parser. + /** The object for ending positions stored in the parser. */ - private Map endPositions; + private EndPosTable endPosTable; /** The tree of the method this table is intended for. * We should traverse this tree to get source ranges. @@ -65,9 +66,9 @@ /** Constructor */ - public CRTable(JCTree.JCMethodDecl tree, Map endPositions) { + public CRTable(JCTree.JCMethodDecl tree, EndPosTable endPosTable) { this.methodTree = tree; - this.endPositions = endPositions; + this.endPosTable = endPosTable; } /** Create a new CRTEntry and add it to the entries. @@ -534,10 +535,7 @@ if (tree == null) return Position.NOPOS; if (tree.hasTag(JCTree.Tag.BLOCK)) return ((JCBlock) tree).endpos; - Integer endpos = endPositions.get(tree); - if (endpos != null) - return endpos.intValue(); - return Position.NOPOS; + return endPosTable.getEndPos(tree); } }