@@ -35,11 +35,13 @@ import org.jacodb.ets.model.EtsBooleanType
3535import org.jacodb.ets.model.EtsCallExpr
3636import org.jacodb.ets.model.EtsCallStmt
3737import org.jacodb.ets.model.EtsCastExpr
38+ import org.jacodb.ets.model.EtsCaughtExceptionRef
3839import org.jacodb.ets.model.EtsClass
3940import org.jacodb.ets.model.EtsClassCategory
4041import org.jacodb.ets.model.EtsClassImpl
4142import org.jacodb.ets.model.EtsClassSignature
4243import org.jacodb.ets.model.EtsClassType
44+ import org.jacodb.ets.model.EtsClosureFieldRef
4345import org.jacodb.ets.model.EtsConstant
4446import org.jacodb.ets.model.EtsDecorator
4547import org.jacodb.ets.model.EtsDeleteExpr
@@ -57,6 +59,7 @@ import org.jacodb.ets.model.EtsFile
5759import org.jacodb.ets.model.EtsFileSignature
5860import org.jacodb.ets.model.EtsFunctionType
5961import org.jacodb.ets.model.EtsGenericType
62+ import org.jacodb.ets.model.EtsGlobalRef
6063import org.jacodb.ets.model.EtsGtEqExpr
6164import org.jacodb.ets.model.EtsGtExpr
6265import org.jacodb.ets.model.EtsIfStmt
@@ -66,6 +69,7 @@ import org.jacodb.ets.model.EtsInstanceFieldRef
6669import org.jacodb.ets.model.EtsInstanceOfExpr
6770import org.jacodb.ets.model.EtsIntersectionType
6871import org.jacodb.ets.model.EtsLeftShiftExpr
72+ import org.jacodb.ets.model.EtsLexicalEnvType
6973import org.jacodb.ets.model.EtsLiteralType
7074import org.jacodb.ets.model.EtsLocal
7175import org.jacodb.ets.model.EtsLocalSignature
@@ -394,6 +398,21 @@ class EtsMethodBuilder(
394398
395399 is FieldRefDto -> toEtsFieldRef()
396400
401+ is CaughtExceptionRefDto -> EtsCaughtExceptionRef (
402+ type = type.toEtsType(),
403+ )
404+
405+ is GlobalRefDto -> EtsGlobalRef (
406+ name = name,
407+ ref = ref?.let { ensureLocal(it.toEtsEntity()) },
408+ )
409+
410+ is ClosureFieldRefDto -> EtsClosureFieldRef (
411+ base = base.toEtsLocal(),
412+ fieldName = fieldName,
413+ type = type.toEtsType(),
414+ )
415+
397416 is RawValueDto -> EtsRawEntity (
398417 kind = kind,
399418 extra = extra,
@@ -513,6 +532,11 @@ fun TypeDto.toEtsType(): EtsType = when (this) {
513532 types = types.map { it.toEtsType() },
514533 )
515534
535+ is LexicalEnvTypeDto -> EtsLexicalEnvType (
536+ nestedMethod = method.toEtsMethodSignature(),
537+ closures = closures.map { it.toEtsLocal() },
538+ )
539+
516540 is LiteralTypeDto -> EtsLiteralType (
517541 literalTypeName = literal.toString(),
518542 )
0 commit comments