diff -r ef8a98bc71f8 -r c4d9d1b08e2e src/jdk.jdeps/share/classes/com/sun/tools/classfile/ClassTranslator.java --- a/src/jdk.jdeps/share/classes/com/sun/tools/classfile/ClassTranslator.java Wed Jan 31 10:55:49 2018 -0800 +++ b/src/jdk.jdeps/share/classes/com/sun/tools/classfile/ClassTranslator.java Fri Sep 08 10:46:46 2017 -0700 @@ -28,6 +28,7 @@ import java.util.Map; import com.sun.tools.classfile.ConstantPool.CONSTANT_Class_info; +import com.sun.tools.classfile.ConstantPool.CONSTANT_Dynamic_info; import com.sun.tools.classfile.ConstantPool.CONSTANT_Double_info; import com.sun.tools.classfile.ConstantPool.CONSTANT_Fieldref_info; import com.sun.tools.classfile.ConstantPool.CONSTANT_Float_info; @@ -331,6 +332,20 @@ return info; } + public CPInfo visitDynamicConstant(CONSTANT_Dynamic_info info, Map translations) { + CONSTANT_Dynamic_info info2 = (CONSTANT_Dynamic_info) translations.get(info); + if (info2 == null) { + ConstantPool cp2 = translate(info.cp, translations); + if (cp2 == info.cp) { + info2 = info; + } else { + info2 = new CONSTANT_Dynamic_info(cp2, info.bootstrap_method_attr_index, info.name_and_type_index); + } + translations.put(info, info2); + } + return info; + } + @Override public CPInfo visitLong(CONSTANT_Long_info info, Map translations) { CONSTANT_Long_info info2 = (CONSTANT_Long_info) translations.get(info);