1717package org.usvm.dataflow.ts.infer.dto
1818
1919import org.jacodb.ets.dto.ArrayRefDto
20+ import org.jacodb.ets.dto.CaughtExceptionRefDto
21+ import org.jacodb.ets.dto.ClosureFieldRefDto
2022import org.jacodb.ets.dto.ConstantDto
23+ import org.jacodb.ets.dto.GlobalRefDto
2124import org.jacodb.ets.dto.InstanceFieldRefDto
2225import org.jacodb.ets.dto.LocalDto
2326import org.jacodb.ets.dto.ParameterRefDto
@@ -26,7 +29,10 @@ import org.jacodb.ets.dto.ThisRefDto
2629import org.jacodb.ets.dto.ValueDto
2730import org.jacodb.ets.model.EtsArrayAccess
2831import org.jacodb.ets.model.EtsBooleanConstant
32+ import org.jacodb.ets.model.EtsCaughtExceptionRef
33+ import org.jacodb.ets.model.EtsClosureFieldRef
2934import org.jacodb.ets.model.EtsConstant
35+ import org.jacodb.ets.model.EtsGlobalRef
3036import org.jacodb.ets.model.EtsInstanceFieldRef
3137import org.jacodb.ets.model.EtsLocal
3238import org.jacodb.ets.model.EtsNullConstant
@@ -112,4 +118,25 @@ private object EtsValueToDto : EtsValue.Visitor<ValueDto> {
112118 field = value.field.toDto(),
113119 )
114120 }
121+
122+ override fun visit (value : EtsCaughtExceptionRef ): ValueDto {
123+ return CaughtExceptionRefDto (
124+ type = value.type.toDto(),
125+ )
126+ }
127+
128+ override fun visit (value : EtsGlobalRef ): ValueDto {
129+ return GlobalRefDto (
130+ name = value.name,
131+ ref = value.ref?.toDto(),
132+ )
133+ }
134+
135+ override fun visit (value : EtsClosureFieldRef ): ValueDto {
136+ return ClosureFieldRefDto (
137+ base = value.base.toDto(),
138+ fieldName = value.fieldName,
139+ type = value.type.toDto(),
140+ )
141+ }
115142}
0 commit comments