Skip to content

Commit 2b15061

Browse files
committed
Format
1 parent 5865624 commit 2b15061

File tree

14 files changed

+109
-42
lines changed

14 files changed

+109
-42
lines changed

usvm-dataflow-ts/build.gradle.kts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
import java.io.FileNotFoundException
32
import java.nio.file.Files
43
import java.nio.file.attribute.FileTime
@@ -82,7 +81,7 @@ val generateTestResources by tasks.registering {
8281
output.relativeTo(resources).path,
8382
)
8483
println("Running: '${cmd.joinToString(" ")}'")
85-
val process = ProcessBuilder(cmd).directory(resources).start();
84+
val process = ProcessBuilder(cmd).directory(resources).start()
8685
val ok = process.waitFor(10, TimeUnit.MINUTES)
8786

8887
val stdout = process.inputStream.bufferedReader().readText().trim()

usvm-dataflow-ts/src/main/kotlin/org/usvm/dataflow/ts/infer/annotation/ExprTypeAnnotator.kt

Lines changed: 55 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,70 @@
1616

1717
package org.usvm.dataflow.ts.infer.annotation
1818

19-
import org.jacodb.ets.base.*
19+
import org.jacodb.ets.base.EtsAddExpr
20+
import org.jacodb.ets.base.EtsAndExpr
21+
import org.jacodb.ets.base.EtsAwaitExpr
22+
import org.jacodb.ets.base.EtsBitAndExpr
23+
import org.jacodb.ets.base.EtsBitNotExpr
24+
import org.jacodb.ets.base.EtsBitOrExpr
25+
import org.jacodb.ets.base.EtsBitXorExpr
26+
import org.jacodb.ets.base.EtsCastExpr
27+
import org.jacodb.ets.base.EtsClassType
28+
import org.jacodb.ets.base.EtsCommaExpr
29+
import org.jacodb.ets.base.EtsDeleteExpr
30+
import org.jacodb.ets.base.EtsDivExpr
31+
import org.jacodb.ets.base.EtsEntity
32+
import org.jacodb.ets.base.EtsEqExpr
33+
import org.jacodb.ets.base.EtsExpExpr
34+
import org.jacodb.ets.base.EtsExpr
35+
import org.jacodb.ets.base.EtsGtEqExpr
36+
import org.jacodb.ets.base.EtsGtExpr
37+
import org.jacodb.ets.base.EtsInExpr
38+
import org.jacodb.ets.base.EtsInstanceCallExpr
39+
import org.jacodb.ets.base.EtsInstanceOfExpr
40+
import org.jacodb.ets.base.EtsLeftShiftExpr
41+
import org.jacodb.ets.base.EtsLengthExpr
42+
import org.jacodb.ets.base.EtsLocal
43+
import org.jacodb.ets.base.EtsLtEqExpr
44+
import org.jacodb.ets.base.EtsLtExpr
45+
import org.jacodb.ets.base.EtsMulExpr
46+
import org.jacodb.ets.base.EtsNegExpr
47+
import org.jacodb.ets.base.EtsNewArrayExpr
48+
import org.jacodb.ets.base.EtsNewExpr
49+
import org.jacodb.ets.base.EtsNotEqExpr
50+
import org.jacodb.ets.base.EtsNotExpr
51+
import org.jacodb.ets.base.EtsNullishCoalescingExpr
52+
import org.jacodb.ets.base.EtsOrExpr
53+
import org.jacodb.ets.base.EtsPostDecExpr
54+
import org.jacodb.ets.base.EtsPostIncExpr
55+
import org.jacodb.ets.base.EtsPreDecExpr
56+
import org.jacodb.ets.base.EtsPreIncExpr
57+
import org.jacodb.ets.base.EtsPtrCallExpr
58+
import org.jacodb.ets.base.EtsRemExpr
59+
import org.jacodb.ets.base.EtsRightShiftExpr
60+
import org.jacodb.ets.base.EtsStaticCallExpr
61+
import org.jacodb.ets.base.EtsStrictEqExpr
62+
import org.jacodb.ets.base.EtsStrictNotEqExpr
63+
import org.jacodb.ets.base.EtsSubExpr
64+
import org.jacodb.ets.base.EtsTernaryExpr
65+
import org.jacodb.ets.base.EtsTypeOfExpr
66+
import org.jacodb.ets.base.EtsUnaryPlusExpr
67+
import org.jacodb.ets.base.EtsUnsignedRightShiftExpr
68+
import org.jacodb.ets.base.EtsValue
69+
import org.jacodb.ets.base.EtsVoidExpr
70+
import org.jacodb.ets.base.EtsYieldExpr
2071
import org.jacodb.ets.model.EtsScene
2172

2273
class ExprTypeAnnotator(
2374
private val valueAnnotator: ValueTypeAnnotator,
24-
private val scene: EtsScene
75+
private val scene: EtsScene,
2576
) : EtsExpr.Visitor<EtsExpr> {
2677
private fun inferEntity(entity: EtsEntity) = when (entity) {
2778
is EtsExpr -> entity.accept(this)
2879
is EtsValue -> entity.accept(valueAnnotator)
2980
else -> error("Unsupported entity")
3081
}
82+
3183
private fun inferValue(value: EtsValue) = value.accept(valueAnnotator)
3284

3385
override fun visit(expr: EtsNewExpr) = expr
@@ -197,6 +249,7 @@ class ExprTypeAnnotator(
197249
?: return expr.copy(instance = baseInferred, args = argsInferred)
198250
callee.signature
199251
}
252+
200253
else -> expr.method
201254
}
202255
return EtsInstanceCallExpr(baseInferred, methodInferred, argsInferred)

usvm-dataflow-ts/src/main/kotlin/org/usvm/dataflow/ts/infer/annotation/StmtTypeAnnotator.kt

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,22 @@
1616

1717
package org.usvm.dataflow.ts.infer.annotation
1818

19-
import org.jacodb.ets.base.*
19+
import org.jacodb.ets.base.EtsAssignStmt
20+
import org.jacodb.ets.base.EtsCallExpr
21+
import org.jacodb.ets.base.EtsCallStmt
22+
import org.jacodb.ets.base.EtsEntity
23+
import org.jacodb.ets.base.EtsExpr
24+
import org.jacodb.ets.base.EtsGotoStmt
25+
import org.jacodb.ets.base.EtsIfStmt
26+
import org.jacodb.ets.base.EtsNopStmt
27+
import org.jacodb.ets.base.EtsReturnStmt
28+
import org.jacodb.ets.base.EtsStmt
29+
import org.jacodb.ets.base.EtsSwitchStmt
30+
import org.jacodb.ets.base.EtsThrowStmt
31+
import org.jacodb.ets.base.EtsValue
2032
import org.jacodb.ets.model.EtsScene
21-
import org.usvm.dataflow.ts.infer.*
33+
import org.usvm.dataflow.ts.infer.AccessPathBase
34+
import org.usvm.dataflow.ts.infer.EtsTypeFact
2235

2336
class StmtTypeAnnotator(
2437
types: Map<AccessPathBase, EtsTypeFact>,

usvm-dataflow-ts/src/main/kotlin/org/usvm/dataflow/ts/infer/annotation/ValueTypeAnnotator.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ import org.usvm.dataflow.ts.infer.dto.toType
3636
class ValueTypeAnnotator(
3737
private val types: Map<AccessPathBase, EtsTypeFact>,
3838
private val thisType: EtsTypeFact?,
39-
private val scene: EtsScene
39+
private val scene: EtsScene,
4040
) : EtsValue.Visitor.Default<EtsValue> {
41-
private inline fun <V, reified T: EtsType> V.infer(base: AccessPathBase, apply: V.(T) -> V): V {
41+
private inline fun <V, reified T : EtsType> V.infer(base: AccessPathBase, apply: V.(T) -> V): V {
4242
val type = types[base]?.toType() as? T ?: return this
4343
return apply.invoke(this, type)
4444
}

usvm-dataflow-ts/src/main/kotlin/org/usvm/dataflow/ts/infer/cli/InferTypes.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ import kotlinx.serialization.json.encodeToStream
3535
import mu.KotlinLogging
3636
import org.jacodb.ets.base.ANONYMOUS_CLASS_PREFIX
3737
import org.jacodb.ets.base.ANONYMOUS_METHOD_PREFIX
38-
import org.jacodb.ets.model.EtsScene
3938
import org.jacodb.ets.utils.loadEtsProjectFromMultipleIR
4039
import org.usvm.dataflow.ts.infer.EntryPointsProcessor
4140
import org.usvm.dataflow.ts.infer.TypeInferenceManager

usvm-dataflow-ts/src/main/kotlin/org/usvm/dataflow/ts/infer/verify/EntityId.kt

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,54 +26,54 @@ import org.jacodb.ets.model.EtsMethodSignature
2626
sealed interface EntityId
2727

2828
data class ClassId(
29-
val signature: EtsClassSignature
29+
val signature: EtsClassSignature,
3030
) : EntityId
3131

3232
data class MethodId(
3333
val name: String,
34-
val enclosingClass: ClassId
34+
val enclosingClass: ClassId,
3535
) {
3636
constructor(signature: EtsMethodSignature)
37-
: this(signature.name, ClassId(signature.enclosingClass))
37+
: this(signature.name, ClassId(signature.enclosingClass))
3838
}
3939

4040
data class FieldId(
4141
val name: String,
42-
val enclosingClass: ClassId
42+
val enclosingClass: ClassId,
4343
) : EntityId {
4444
constructor(signature: EtsFieldSignature)
45-
: this(signature.name, ClassId(signature.enclosingClass))
45+
: this(signature.name, ClassId(signature.enclosingClass))
4646
}
4747

4848
data class ParameterId(
4949
val index: Int,
50-
val method: MethodId
50+
val method: MethodId,
5151
) : EntityId {
5252
constructor(parameter: EtsMethodParameter, methodSignature: EtsMethodSignature)
53-
: this(parameter.index, MethodId(methodSignature))
53+
: this(parameter.index, MethodId(methodSignature))
5454

5555
constructor(etsParameterRef: EtsParameterRef, methodSignature: EtsMethodSignature)
56-
: this(etsParameterRef.index, MethodId(methodSignature))
56+
: this(etsParameterRef.index, MethodId(methodSignature))
5757
}
5858

5959
data class ReturnId(
60-
val method: MethodId
60+
val method: MethodId,
6161
) : EntityId {
6262
constructor(methodSignature: EtsMethodSignature)
63-
: this(MethodId(methodSignature))
63+
: this(MethodId(methodSignature))
6464
}
6565

6666
data class LocalId(
6767
val name: String,
68-
val method: MethodId
68+
val method: MethodId,
6969
) : EntityId {
7070
constructor(local: EtsLocal, methodSignature: EtsMethodSignature)
71-
: this(local.name, MethodId(methodSignature))
71+
: this(local.name, MethodId(methodSignature))
7272
}
7373

7474
data class ThisId(
75-
val method: MethodId
75+
val method: MethodId,
7676
) : EntityId {
7777
constructor(methodSignature: EtsMethodSignature)
78-
: this(MethodId(methodSignature))
78+
: this(MethodId(methodSignature))
7979
}

usvm-dataflow-ts/src/main/kotlin/org/usvm/dataflow/ts/infer/verify/collectors/ClassSummaryCollector.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import org.jacodb.ets.model.EtsClass
2121
import org.usvm.dataflow.ts.infer.verify.EntityId
2222

2323
class ClassSummaryCollector(
24-
override val typeSummary: MutableMap<EntityId, MutableSet<EtsType>>
24+
override val typeSummary: MutableMap<EntityId, MutableSet<EtsType>>,
2525
) : SummaryCollector {
2626
fun collect(etsClass: EtsClass) {
2727
etsClass.fields.forEach { field ->

usvm-dataflow-ts/src/main/kotlin/org/usvm/dataflow/ts/infer/verify/collectors/ExprSummaryCollector.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,20 @@ import org.jacodb.ets.base.EtsBinaryExpr
2020
import org.jacodb.ets.base.EtsEntity
2121
import org.jacodb.ets.base.EtsExpr
2222
import org.jacodb.ets.base.EtsInstanceCallExpr
23+
import org.jacodb.ets.base.EtsInstanceOfExpr
24+
import org.jacodb.ets.base.EtsLengthExpr
2325
import org.jacodb.ets.base.EtsPtrCallExpr
2426
import org.jacodb.ets.base.EtsStaticCallExpr
2527
import org.jacodb.ets.base.EtsTernaryExpr
2628
import org.jacodb.ets.base.EtsType
2729
import org.jacodb.ets.base.EtsUnaryExpr
2830
import org.jacodb.ets.base.EtsValue
29-
import org.jacodb.ets.base.EtsInstanceOfExpr
30-
import org.jacodb.ets.base.EtsLengthExpr
3131
import org.jacodb.ets.model.EtsMethodSignature
3232
import org.usvm.dataflow.ts.infer.verify.EntityId
3333

3434
class ExprSummaryCollector(
3535
override val enclosingMethod: EtsMethodSignature,
36-
override val typeSummary: MutableMap<EntityId, MutableSet<EtsType>>
36+
override val typeSummary: MutableMap<EntityId, MutableSet<EtsType>>,
3737
) : MethodSummaryCollector, EtsExpr.Visitor.Default<Unit> {
3838
private val valueSummaryCollector by lazy {
3939
ValueSummaryCollector(enclosingMethod, typeSummary)

usvm-dataflow-ts/src/main/kotlin/org/usvm/dataflow/ts/infer/verify/collectors/StmtSummaryCollector.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ import org.usvm.dataflow.ts.infer.verify.EntityId
3434

3535
class StmtSummaryCollector(
3636
override val enclosingMethod: EtsMethodSignature,
37-
override val typeSummary: MutableMap<EntityId, MutableSet<EtsType>>
37+
override val typeSummary: MutableMap<EntityId, MutableSet<EtsType>>,
3838
) : EtsStmt.Visitor<Unit>, MethodSummaryCollector {
3939
private val exprCollector = ExprSummaryCollector(enclosingMethod, typeSummary)
4040
private val valueCollector = ValueSummaryCollector(enclosingMethod, typeSummary)
@@ -77,4 +77,4 @@ class StmtSummaryCollector(
7777
stmt.cases.forEach { collect(it) }
7878
}
7979

80-
}
80+
}

usvm-dataflow-ts/src/main/kotlin/org/usvm/dataflow/ts/infer/verify/collectors/ValueSummaryCollector.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ import org.usvm.dataflow.ts.infer.verify.EntityId
3333

3434
class ValueSummaryCollector(
3535
override val enclosingMethod: EtsMethodSignature,
36-
override val typeSummary: MutableMap<EntityId, MutableSet<EtsType>>
36+
override val typeSummary: MutableMap<EntityId, MutableSet<EtsType>>,
3737
) : MethodSummaryCollector, EtsValue.Visitor.Default<Unit> {
3838
private val exprSummaryCollector by lazy {
3939
ExprSummaryCollector(enclosingMethod, typeSummary)
@@ -52,6 +52,7 @@ class ValueSummaryCollector(
5252
override fun visit(value: EtsLocal) {
5353
yield(value)
5454
}
55+
5556
override fun visit(value: EtsArrayLiteral) {
5657
value.elements.forEach { collect(it) }
5758
}
@@ -81,4 +82,4 @@ class ValueSummaryCollector(
8182
override fun visit(value: EtsStaticFieldRef) {
8283
yield(value.field)
8384
}
84-
}
85+
}

usvm-dataflow-ts/src/main/kotlin/org/usvm/dataflow/ts/util/TypeInferenceStatistics.kt

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -379,10 +379,12 @@ class TypeInferenceStatistics {
379379
undefinedUnknownCombination++
380380
InferenceStatus.UNKNOWN_UNDEFINED_COMBINATION
381381
}
382+
382383
is EtsUndefinedType -> {
383384
exactTypeInferredCorrectlyPreviouslyKnown++
384385
InferenceStatus.EXACT_MATCH_PREVIOUSLY_KNOWN
385386
}
387+
386388
else -> {
387389
exactTypeInferredIncorrectlyPreviouslyKnown++
388390
InferenceStatus.DIFFERENT_TYPE_FOUND
@@ -468,15 +470,15 @@ class TypeInferenceStatistics {
468470
.toList()
469471
.sortedBy { it.first.signature.toString() }
470472
.forEach { (method, types) ->
471-
appendLine("${method.signature}:")
473+
appendLine("${method.signature}:")
472474

473-
types
474-
.sortedWith(comparator)
475-
.forEach { (path, typeInfo, typeFact, status) ->
476-
appendLine("[${status.message}]: ${path}: $typeInfo -> $typeFact ")
477-
}
478-
appendLine()
479-
}
475+
types
476+
.sortedWith(comparator)
477+
.forEach { (path, typeInfo, typeFact, status) ->
478+
appendLine("[${status.message}]: ${path}: $typeInfo -> $typeFact ")
479+
}
480+
appendLine()
481+
}
480482

481483
appendLine()
482484
appendLine("=".repeat(42))

usvm-dataflow-ts/src/test/kotlin/org/usvm/dataflow/ts/test/EtsTypeAnnotationTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ internal class EtsTypeAnnotationTest {
155155
private val sampleScene = EtsScene(listOf(mainFile))
156156

157157
private class CfgBuilderContext(
158-
val method: EtsMethod
158+
val method: EtsMethod,
159159
) {
160160
private val stmts = mutableListOf<EtsStmt>()
161161
private val successorsMap = mutableMapOf<EtsStmt, MutableList<EtsStmt>>()

usvm-dataflow-ts/src/test/resources/logback.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
</appender>
1414

1515
<root level="info">
16-
<appender-ref ref="STDOUT"/>
16+
<appender-ref ref="STDOUT" />
1717
<appender-ref ref="FILE" />
1818
</root>
1919
</configuration>

usvm-util/src/main/kotlin/org/usvm/util/Logging.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ inline fun <T> LoggerWithLogMethod.bracket(
4040
val startNano = System.nanoTime()
4141
var alreadyLogged = false
4242

43-
var res : Maybe<T> = Maybe.none()
43+
var res: Maybe<T> = Maybe.none()
4444
try {
4545
// Note: don't replace this one with runCatching, otherwise return from lambda breaks "finished" logging.
4646
res = Maybe.some(block())

0 commit comments

Comments
 (0)