@@ -91,7 +91,7 @@ fun getStaticFieldValue(language: CodegenLanguage): String =
91
91
when (language) {
92
92
CodegenLanguage .JAVA -> {
93
93
"""
94
- private static Object getStaticFieldValue(Class<?> clazz, String fieldName) throws Exception {
94
+ private static Object getStaticFieldValue(Class<?> clazz, String fieldName) throws IllegalAccessException, NoSuchFieldException {
95
95
java.lang.reflect.Field field;
96
96
Class<?> originClass = clazz;
97
97
do {
@@ -141,7 +141,7 @@ fun getFieldValue(language: CodegenLanguage): String =
141
141
when (language) {
142
142
CodegenLanguage .JAVA -> {
143
143
"""
144
- private static Object getFieldValue(Object obj, String fieldName) throws Exception {
144
+ private static Object getFieldValue(Object obj, String fieldName) throws IllegalAccessException, NoSuchFieldException {
145
145
Class<?> clazz = obj.getClass();
146
146
java.lang.reflect.Field field;
147
147
do {
@@ -191,7 +191,7 @@ fun setStaticField(language: CodegenLanguage): String =
191
191
when (language) {
192
192
CodegenLanguage .JAVA -> {
193
193
"""
194
- private static void setStaticField(Class<?> clazz, String fieldName, Object fieldValue) throws Exception {
194
+ private static void setStaticField(Class<?> clazz, String fieldName, Object fieldValue) throws NoSuchFieldException, IllegalAccessException {
195
195
java.lang.reflect.Field field;
196
196
197
197
do {
@@ -242,7 +242,7 @@ fun setField(language: CodegenLanguage): String =
242
242
when (language) {
243
243
CodegenLanguage .JAVA -> {
244
244
"""
245
- private static void setField(Object object, String fieldName, Object fieldValue) throws Exception {
245
+ private static void setField(Object object, String fieldName, Object fieldValue) throws NoSuchFieldException, IllegalAccessException {
246
246
Class<?> clazz = object.getClass();
247
247
java.lang.reflect.Field field;
248
248
@@ -327,7 +327,8 @@ fun createInstance(language: CodegenLanguage): String =
327
327
when (language) {
328
328
CodegenLanguage .JAVA -> {
329
329
"""
330
- private static Object createInstance(String className) throws Exception {
330
+ private static Object createInstance(String className)
331
+ throws ClassNotFoundException, NoSuchMethodException, NoSuchFieldException, IllegalAccessException, InvocationTargetException {
331
332
Class<?> clazz = Class.forName(className);
332
333
return Class.forName("sun.misc.Unsafe").getDeclaredMethod("allocateInstance", Class.class)
333
334
.invoke(getUnsafeInstance(), clazz);
@@ -349,7 +350,7 @@ fun getUnsafeInstance(language: CodegenLanguage): String =
349
350
when (language) {
350
351
CodegenLanguage .JAVA -> {
351
352
"""
352
- private static Object getUnsafeInstance() throws Exception {
353
+ private static Object getUnsafeInstance() throws ClassNotFoundException, NoSuchFieldException, IllegalAccessException {
353
354
java.lang.reflect.Field f = Class.forName("sun.misc.Unsafe").getDeclaredField("theUnsafe");
354
355
f.setAccessible(true);
355
356
return f.get(null);
@@ -766,7 +767,7 @@ private fun ClassId.regularImportsByUtilMethod(id: MethodId, codegenLanguage: Co
766
767
val fieldClassId = Field ::class .id
767
768
return when (id) {
768
769
getUnsafeInstanceMethodId -> listOf (fieldClassId)
769
- createInstanceMethodId -> listOf ()
770
+ createInstanceMethodId -> listOf (java.lang.reflect. InvocationTargetException :: class .id )
770
771
createArrayMethodId -> listOf (java.lang.reflect.Array ::class .id)
771
772
setFieldMethodId -> listOf (fieldClassId, Modifier ::class .id)
772
773
setStaticFieldMethodId -> listOf (fieldClassId, Modifier ::class .id)
0 commit comments