src/jvm/main/org/jetbrains/kotlinx/lincheck/strategy/managed/ManagedStrategy.kt (23 lines): - line 175: // TODO: unify with `callStackTrace` - line 176: // TODO: handle coroutine resumptions (i.e., unify with `suspendedFunctionsStack`) - line 177: // TODO: extract into separate class - line 183: // TODO: unify with `shadowStack` - line 184: // TODO: handle coroutine resumptions (i.e., unify with `suspendedFunctionsStack`) - line 284: // TODO: returning here instead of continuing in a cycle leads to an issue: - line 521: // TODO: coroutine suspensions are currently handled separately from `ThreadScheduler` - line 552: // TODO: coroutine suspensions are currently handled separately from `ThreadScheduler` - line 655: * TODO: somehow refactor suspended TestThread and add them here as well. - line 784: // TODO: should wait on thread-join be considered an obstruction-freedom violation? - line 969: // TODO Setting this to "" somehow fixes failing MulitpleSpension....TraceRepresentationTest - line 1028: * TODO: Here Lincheck performs in-optimal switching. - line 1109: * TODO: Here Lincheck performs in-optimal switching. - line 1146: // TODO: refactor, track LockSupport.park directly instead - line 1205: * TODO: Here Lincheck performs in-optimal switching. - line 1420: // TODO: consider moving trace point addition to `afterWriteField`. - line 1461: // TODO: consider moving trace point addition to `afterWriteArrayElement`. - line 1620: // TODO: System.arraycopy - line 1621: // TODO: reflection - line 2008: // TODO: investigate if we still can ignore these methods even with `invokedynamic` instrumentation - line 2021: // TODO: decide if we need to introduce special `DETERMINISTIC` guarantee? - line 2053: // TODO: atomic should have different semantics compared to ignored - line 2068: // TODO: atomic should have different semantics compared to ignored common/src/main/org/jetbrains/lincheck/util/Ensure.kt (8 lines): - line 14: // TODO: add contracts? - line 20: // TODO: add contracts? - line 26: // TODO: add contracts? - line 32: // TODO: add contracts? - line 38: // TODO: add contracts? - line 44: // TODO: add contracts? - line 50: // TODO: add contracts? - line 56: // TODO: add contracts? trace/src/main/org/jetbrains/lincheck/trace/TraceRecorderTracePoints.kt (6 lines): - line 245: // TODO Make parametrized - line 508: // TODO Make parametrized - line 603: // TODO Make parametrized - line 785: // TODO Make parametrized - line 796: // TODO: Unify with code like `ObjectLabelFactory.adornedStringRepresentation` placed in hypothetical `core` module - line 916: // TODO Make parametrized jvm-agent/src/main/org/jetbrains/lincheck/jvm/agent/transformers/ThreadTransformers.kt (5 lines): - line 41: // TODO: unify with `IgnoredSectionWrapperTransformer` --- - line 78: // TODO: currently does not work, because `ManagedStrategy::onThreadFinish` - line 111: // TODO: here we instrument `Thread::start` body itself (callee-site based instrumentation), - line 135: val withTimeout = (nArguments > 0) // TODO: `join(0)` should be handled same as `join()` - line 192: // TODO: add support for thread joins with time limit trace-recorder/src/main/org/jetbrains/lincheck/trace/recorder/TraceCollectingEventTracker.kt (3 lines): - line 624: // TODO: what about inline method calls? Inside them also could be loops. - line 674: // TODO: what about inline method calls? Inside them also could be loops. - line 808: // TODO: should we do something about exception? src/jvm/main/org/jetbrains/kotlinx/lincheck/trace/TraceReporter.kt (3 lines): - line 337: // TODO support multiple root nodes in GPMC mode, needs discussion on how to deal with `result: ...` - line 347: // TODO can be remove after actor results PR is through - line 384: // TODO bugfix for spin cycle start points not having the lowest indent up to switch event integration-test/lincheck/src/main/org/jetbrains/lincheck_test/datastructures/OldApiCounterTest.kt (2 lines): - line 35: //@Test // TODO: Please, uncomment me and comment the line below to run the test and get the output - line 39: //@Test // TODO: Please, uncomment me and comment the line below to run the test and get the output jvm-agent/src/main/org/jetbrains/lincheck/jvm/agent/FinalFields.kt (2 lines): - line 35: // TODO or create a ticket to refactor this and use FieldDescriptor and ClassNode visitor instead. - line 69: // TODO JBRes-6558 Use `ClassNode` API to collect information about classes/methods/variables trace/src/main/org/jetbrains/lincheck/trace/TRTracePointPrinters.kt (2 lines): - line 168: // TODO: some refactoring is required here, because users can define classes, which end with 'Kt' as well - line 367: // TODO: DR-356 `ArrayElementByIndexAccessLocation` and `ArrayElementByNameAccessLocation` do not appear in trace common/src/main/org/jetbrains/lincheck/descriptors/CodeLocations.kt (2 lines): - line 20: // TODO: this only makes sense for method call code locations, - line 29: // TODO: argumentNames are not considered here, integration-test/common/src/main/AbstractTraceIntegrationTest.kt (2 lines): - line 93: // TODO: rewrite to accept array of tests (or TestSuite maybe better) - line 128: // TODO decide how to test: with gold data or run twice? src/jvm/main/org/jetbrains/kotlinx/lincheck/trace/TracePoint.kt (2 lines): - line 75: //TODO turn call stack trace into List or codelocationtracepoint - line 415: override val resultRepresentation = "" // TODO: this is a hack, add special `HungResult` in the future integration-test/lincheck/src/main/org/jetbrains/lincheck_test/guide/BasicCounterTest.kt (2 lines): - line 34: //@Test // TODO: Please, uncomment me and comment the line below to run the test and get the output - line 38: //@Test // TODO: Please, uncomment me and comment the line below to run the test and get the output src/jvm/main/org/jetbrains/kotlinx/lincheck/trace/TraceCompressor.kt (2 lines): - line 126: // TODO investigate why in rare cases return values are not equal #682 - line 397: // TODO this can be removed after IJTD-151 is merged. jvm-agent/src/main/org/jetbrains/lincheck/jvm/agent/OwnerNameAnalyzer.kt (2 lines): - line 233: // TODO: need to investigate how to lookup constant name (if available) - line 269: // TODO: adding constant name should be fine src/jvm/main/org/jetbrains/lincheck/datastructures/verifier/LTS.kt (2 lines): - line 470: val resumedTickets: ResumedTickets, // TODO inline class which contains either Int? or IntArray - line 485: val rf: RemappingFunction?, // TODO long + inline class jvm-agent/src/main/org/jetbrains/lincheck/jvm/agent/transformers/MethodCallTransformer.kt (2 lines): - line 53: // TODO: unify with `IgnoredSectionWrapperTransformer` ? - line 347: // TODO: do not ignore src/jvm/main/org/jetbrains/kotlinx/lincheck/strategy/managed/ManagedThreadScheduler.kt (1 line): - line 95: /* TODO: currently we cannot implement it this way, jvm-agent/src/main/org/jetbrains/lincheck/jvm/agent/transformers/DeterministicInvokeDynamicTransformer.kt (1 line): - line 282: // TODO: Investigate whether it is possible to refactor this code to remove advanceCurrentObjectId from jvm-agent/src/main/org/jetbrains/lincheck/jvm/agent/LincheckClassVisitor.kt (1 line): - line 182: // TODO: we put loop transformer at the beginning of the chain, src/jvm/main/org/jetbrains/kotlinx/lincheck/strategy/managed/modelchecking/ModelCheckingStrategy.kt (1 line): - line 597: // TODO: we can add spurious wake-ups here integration-test/lincheck/src/main/org/jetbrains/lincheck_test/guide/ObstructionFreedomViolationTest.kt (1 line): - line 27: //@Test // TODO: Please, uncomment me and comment the line below to run the test and get the output src/jvm/main/org/jetbrains/kotlinx/lincheck/runner/LambdaRunner.kt (1 line): - line 88: // TODO: currently we have to use `ExecutionResult`, integration-test/lincheck/src/main/org/jetbrains/lincheck_test/guide/CounterTest.kt (1 line): - line 20: // @Test // TODO: Please, uncomment me and comment the line below to run the test and get the output src/jvm/main/org/jetbrains/kotlinx/lincheck/strategy/ThreadScheduler.kt (1 line): - line 392: // TODO: due to limitations of current implementation, common/src/main/org/jetbrains/lincheck/util/ObjectGraph.kt (1 line): - line 129: // TODO: casting `obj` to atomicfu class and accessing its field directly causes compilation error, src/jvm/main/org/jetbrains/kotlinx/lincheck/strategy/managed/ObjectIdentityHashCodeTracker.kt (1 line): - line 46: * TODO: jvm-agent/src/main/org/jetbrains/lincheck/jvm/agent/MethodInformation.kt (1 line): - line 35: // TODO: This method should be used by [LincheckBaseMethodVisitor], trace-debugger/src/main/org/jetbrains/lincheck/trace/debugger/TraceDebuggerInjections.kt (1 line): - line 46: // TODO: current implementation does not support `testMethod` build.gradle.kts (1 line): - line 110: api(project(":common")) // TODO: `api` is used here in order to allow users of `lincheck` to access `LoggingLevel` enum class stored there, integration-test/lincheck/src/main/org/jetbrains/lincheck_test/guide/ConcurrentMapTest.kt (1 line): - line 25: //@Test // TODO: Please, uncomment me and comment the line below to run the test and get the output src/jvm/main/org/jetbrains/kotlinx/lincheck/trace/TraceNodes.kt (1 line): - line 163: // TODO re-enable later on when the problem with actors will be resolved jvm-agent/src/main/org/jetbrains/lincheck/jvm/agent/LincheckMethodVisitor.kt (1 line): - line 68: // TODO: "Smart" behavior leads to flaky tests on TeamCity src/jvm/main/org/jetbrains/kotlinx/lincheck/util/KotlinReflection.kt (1 line): - line 47: // TODO: move Java reflection utils (not depending on kotlin-reflection) src/jvm/test-jdk11/org/jetbrains/kotlinx/lincheck_test/representation/MethodHandlesLookupTests.kt (1 line): - line 16: // TODO find out why this test output is different on mac for jdk15 src/jvm/main/org/jetbrains/kotlinx/lincheck/IdeaPlugin.kt (1 line): - line 111: // TODO: add thread names array parameter integration-test/lincheck/build.gradle.kts (1 line): - line 20: // TODO: rename to match trace-debugger/recorder gradle task naming pattern to 'lincheckIntegrationTest' jvm-agent/src/main/org/jetbrains/lincheck/jvm/agent/transformers/InlineMethodCallTransformer.kt (1 line): - line 357: // TODO Find out what the exact problem is here with "recoverStackTrace" src/jvm/main/org/jetbrains/kotlinx/lincheck/execution/ExecutionResult.kt (1 line): - line 94: // TODO: refactor this code --- we should set the clocks directly buildSrc/src/main/kotlin/TraceAgentIntegrationTestsTasks.kt (1 line): - line 72: overwrite(false) // TODO: seems to still overwrite for some reason common/src/main/org/jetbrains/lincheck/util/MethodDescriptor.kt (1 line): - line 49: // TODO: java 8 does not have `@HotSpotIntrinsicCandidate`/`@IntrinsicCandidate` annotations jvm-agent/src/main/org/jetbrains/lincheck/jvm/agent/TransformationProfile.kt (1 line): - line 58: // TODO: in the future, we may want to provide finer-grained control integration-test/lincheck/src/main/org/jetbrains/lincheck_test/guide/ConcurrentLinkedDequeTest.kt (1 line): - line 38: //@Test // TODO: Please, uncomment me and comment the line below to run the test and get the output jvm-agent/src/main/org/jetbrains/lincheck/jvm/agent/LincheckClassFileTransformer.kt (1 line): - line 420: // TODO: instead of eagerly instrumenting `DispatchedContinuation` common/src/main/org/jetbrains/lincheck/util/AnalysisSections.kt (1 line): - line 86: * TODO: "no-switch-points inside atomic section" guarantee is not checked currently. jvm-agent/src/main/org/jetbrains/lincheck/jvm/agent/LincheckJavaAgent.kt (1 line): - line 256: // TODO: distinguish different runs by associating `instrumentedClasses` with `EventTracker`. src/jvm/main/org/jetbrains/kotlinx/lincheck/strategy/managed/SnapshotTracker.kt (1 line): - line 206: // TODO: after support for System.arraycopy, common/src/main/org/jetbrains/lincheck/descriptors/AccessLocation.kt (1 line): - line 59: * TODO: be careful on descriptors and Java reflection bridge APIs. bootstrap/src/sun/nio/ch/lincheck/Injections.java (1 line): - line 956: // TODO: easier to support when `javaagent` is merged jvm-agent/src/main/org/jetbrains/lincheck/jvm/agent/transformers/ObjectCreationTransformer.kt (1 line): - line 66: * TODO: keeping just a counter might be not reliable in some cases,