diff --git a/analysis/low-level-api-fir/testdata/contextCollector/enumValue.kt b/analysis/low-level-api-fir/testdata/contextCollector/enumValue.kt
new file mode 100644
index 0000000..b8e051e
--- /dev/null
+++ b/analysis/low-level-api-fir/testdata/contextCollector/enumValue.kt
@@ -0,0 +1,23 @@
+enum class Direction {
+    NORTH {
+        override val code: Int
+            get() = 1
+    },
+
+    EAST {
+        override val code: Int
+            get() = <expr>2</expr>
+    },
+
+    SOUTH {
+        override val code: Int
+            get() = 3
+    },
+
+    WEST {
+        override val code: Int
+            get() = 4
+    };
+
+    abstract val code: Int
+}
\ No newline at end of file
diff --git a/analysis/low-level-api-fir/testdata/contextCollector/enumValue.txt b/analysis/low-level-api-fir/testdata/contextCollector/enumValue.txt
new file mode 100644
index 0000000..20d8600
--- /dev/null
+++ b/analysis/low-level-api-fir/testdata/contextCollector/enumValue.txt
@@ -0,0 +1,81 @@
+Tower Data Context:
+    Element 0
+        Scope: FirDefaultStarImportingScope
+    Element 1
+        Scope: FirDefaultSimpleImportingScope
+    Element 2
+        Scope: FirExplicitStarImportingScope
+    Element 3
+        Scope: FirDefaultSimpleImportingScope
+    Element 4
+        Scope: FirDefaultSimpleImportingScope
+    Element 5
+        Scope: FirPackageMemberScope
+    Element 6
+        Scope: FirExplicitSimpleImportingScope
+    Element 7
+        Implicit receiver:
+            FirRegularClassSymbol public final companion object Companion : R|kotlin/Any|
+                Type: kotlin/Enum.Companion
+    Element 8
+        Scope: FirNestedClassifierScopeWithSubstitution
+            Classifiers:
+                FirRegularClassSymbol public final companion object Companion : R|kotlin/Any|
+        Static scope owner symbol: FirRegularClassSymbol public abstract class Enum<E : R|kotlin/Enum<E>|> : R|kotlin/Comparable<E>|, R|java/io/Serializable|
+    Element 9
+        Scope: FirNameAwareOnlyCallablesScope
+            Functions
+                FirNamedFunctionSymbol public final static fun valueOf(value: R|kotlin/String|): R|Direction|
+                FirNamedFunctionSymbol public final static fun values(): R|kotlin/Array<Direction>|
+            Properties:
+                FirEnumEntrySymbol public final static enum entry EAST: R|Direction| = object : R|Direction|
+                FirEnumEntrySymbol public final static enum entry NORTH: R|Direction| = LAZY_EXPRESSION
+                FirEnumEntrySymbol public final static enum entry SOUTH: R|Direction| = LAZY_EXPRESSION
+                FirEnumEntrySymbol public final static enum entry WEST: R|Direction| = LAZY_EXPRESSION
+                FirPropertySymbol public final static val entries: R|kotlin/enums/EnumEntries<Direction>|
+                    public get(): R|kotlin/enums/EnumEntries<Direction>|
+    Element 10
+        Implicit receiver:
+            FirAnonymousObjectSymbol object : R|Direction|
+                Type: <anonymous>
+    Element 11
+        Scope: FirLocalScope
+            Properties:
+                FirBackingFieldSymbol private <explicit backing field>: R|kotlin/Int|
+    Element 12
+        Scope: FirLocalScope
+
+FILE: [ResolvedTo(IMPORTS)] enumValue.kt
+    public final [ResolvedTo(STATUS)] enum class Direction : R|kotlin/Enum<Direction>| {
+        private [ResolvedTo(STATUS)] constructor(): R|Direction| {
+            LAZY_super<R|kotlin/Enum<Direction>|>
+        }
+
+        public final static [ResolvedTo(STATUS)] enum entry NORTH: R|Direction| = LAZY_EXPRESSION
+        public final static [ResolvedTo(BODY_RESOLVE)] enum entry EAST: R|Direction| = object : R|Direction| {
+            private [ResolvedTo(BODY_RESOLVE)] constructor(): R|<anonymous>| {
+                super<R|Direction|>()
+            }
+
+            public open override [ResolvedTo(BODY_RESOLVE)] val code: R|kotlin/Int|
+                public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int| {
+                    ^ Int(2)
+                }
+
+        }
+
+        public final static [ResolvedTo(STATUS)] enum entry SOUTH: R|Direction| = LAZY_EXPRESSION
+        public final static [ResolvedTo(STATUS)] enum entry WEST: R|Direction| = LAZY_EXPRESSION
+        public abstract [ResolvedTo(STATUS)] val code: R|kotlin/Int|
+            public [ResolvedTo(STATUS)] get(): R|kotlin/Int|
+
+        public final static [ResolvedTo(STATUS)] fun values(): R|kotlin/Array<Direction>| {
+        }
+
+        public final static [ResolvedTo(STATUS)] fun valueOf([ResolvedTo(STATUS)] value: R|kotlin/String|): R|Direction| {
+        }
+
+        public final static [ResolvedTo(STATUS)] val entries: R|kotlin/enums/EnumEntries<Direction>|
+            public [ResolvedTo(STATUS)] get(): R|kotlin/enums/EnumEntries<Direction>|
+
+    }
diff --git a/analysis/low-level-api-fir/testdata/contextCollector/file.kt b/analysis/low-level-api-fir/testdata/contextCollector/file.kt
new file mode 100644
index 0000000..6c59d4b
--- /dev/null
+++ b/analysis/low-level-api-fir/testdata/contextCollector/file.kt
@@ -0,0 +1,15 @@
+package <expr>test</expr>
+
+import java.util.List
+
+fun test() = List::class
+
+fun other(): Int {
+    return "foo".length
+}
+
+class Foo {
+    fun foo() {
+        require(other() == 3)
+    }
+}
\ No newline at end of file
diff --git a/analysis/low-level-api-fir/testdata/contextCollector/file.txt b/analysis/low-level-api-fir/testdata/contextCollector/file.txt
new file mode 100644
index 0000000..fdaa5dc
--- /dev/null
+++ b/analysis/low-level-api-fir/testdata/contextCollector/file.txt
@@ -0,0 +1,36 @@
+Tower Data Context:
+    Element 0
+        Scope: FirDefaultStarImportingScope
+    Element 1
+        Scope: FirDefaultSimpleImportingScope
+    Element 2
+        Scope: FirExplicitStarImportingScope
+    Element 3
+        Scope: FirDefaultSimpleImportingScope
+    Element 4
+        Scope: FirDefaultSimpleImportingScope
+    Element 5
+        Scope: FirPackageMemberScope
+    Element 6
+        Scope: FirExplicitSimpleImportingScope
+            Import name:List
+                Qualified name: java.util.List
+                Is all under: false
+
+FILE: [ResolvedTo(IMPORTS)] file.kt
+    public final [ResolvedTo(BODY_RESOLVE)] fun test(): R|kotlin/reflect/KClass<java/util/List<*>>| {
+        ^test <getClass>(Q|java/util/List|)
+    }
+    public final [ResolvedTo(BODY_RESOLVE)] fun other(): R|kotlin/Int| {
+        ^other String(foo).R|kotlin/String.length|
+    }
+    public final [ResolvedTo(STATUS)] class Foo : R|kotlin/Any| {
+        public [ResolvedTo(BODY_RESOLVE)] constructor(): R|test/Foo| {
+            super<R|kotlin/Any|>()
+        }
+
+        public final [ResolvedTo(BODY_RESOLVE)] fun foo(): R|kotlin/Unit| {
+            <Unresolved name: require>#(==(R|test/other|(), Int(3)))
+        }
+
+    }
diff --git a/analysis/low-level-api-fir/testdata/contextCollector/primaryConstructorParameter.kt b/analysis/low-level-api-fir/testdata/contextCollector/primaryConstructorParameter.kt
new file mode 100644
index 0000000..13c153a
--- /dev/null
+++ b/analysis/low-level-api-fir/testdata/contextCollector/primaryConstructorParameter.kt
@@ -0,0 +1,5 @@
+class Foo(
+    val a: String = "foo"
+    val b: Int = <expr>a.length</expr>,
+    val c: Long = (a.length - 1).toLong()
+)
\ No newline at end of file
diff --git a/analysis/low-level-api-fir/testdata/contextCollector/primaryConstructorParameter.txt b/analysis/low-level-api-fir/testdata/contextCollector/primaryConstructorParameter.txt
new file mode 100644
index 0000000..df64f09
--- /dev/null
+++ b/analysis/low-level-api-fir/testdata/contextCollector/primaryConstructorParameter.txt
@@ -0,0 +1,36 @@
+Tower Data Context:
+    Element 0
+        Scope: FirDefaultStarImportingScope
+    Element 1
+        Scope: FirDefaultSimpleImportingScope
+    Element 2
+        Scope: FirExplicitStarImportingScope
+    Element 3
+        Scope: FirDefaultSimpleImportingScope
+    Element 4
+        Scope: FirDefaultSimpleImportingScope
+    Element 5
+        Scope: FirPackageMemberScope
+    Element 6
+        Scope: FirExplicitSimpleImportingScope
+    Element 7
+        Implicit receiver:
+            FirRegularClassSymbol public final class Foo : R|kotlin/Any|
+                Type: Foo
+
+FILE: [ResolvedTo(IMPORTS)] primaryConstructorParameter.kt
+    public final [ResolvedTo(STATUS)] class Foo : R|kotlin/Any| {
+        public [ResolvedTo(STATUS)] constructor([ResolvedTo(STATUS)] a: R|kotlin/String| = LAZY_EXPRESSION, [ResolvedTo(STATUS)] b: R|kotlin/Int| = LAZY_EXPRESSION, [ResolvedTo(STATUS)] c: R|kotlin/Long| = LAZY_EXPRESSION): R|Foo| {
+            LAZY_super<R|kotlin/Any|>
+        }
+
+        public final [ResolvedTo(STATUS)] val a: R|kotlin/String| = R|<local>/a|
+            public [ResolvedTo(STATUS)] get(): R|kotlin/String|
+
+        public final [ResolvedTo(BODY_RESOLVE)] val b: R|kotlin/Int| = R|<local>/b|
+            public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
+
+        public final [ResolvedTo(STATUS)] val c: R|kotlin/Long| = R|<local>/c|
+            public [ResolvedTo(STATUS)] get(): R|kotlin/Long|
+
+    }
diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/ContextCollectorTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/ContextCollectorTestGenerated.java
index 4bf2c2a..2d1e8ba 100644
--- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/ContextCollectorTestGenerated.java
+++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/ContextCollectorTestGenerated.java
@@ -37,6 +37,12 @@
     }
 
     @Test
+    @TestMetadata("enumValue.kt")
+    public void testEnumValue() throws Exception {
+        runTest("analysis/low-level-api-fir/testdata/contextCollector/enumValue.kt");
+    }
+
+    @Test
     @TestMetadata("extensionFunction.kt")
     public void testExtensionFunction() throws Exception {
         runTest("analysis/low-level-api-fir/testdata/contextCollector/extensionFunction.kt");
@@ -49,6 +55,12 @@
     }
 
     @Test
+    @TestMetadata("file.kt")
+    public void testFile() throws Exception {
+        runTest("analysis/low-level-api-fir/testdata/contextCollector/file.kt");
+    }
+
+    @Test
     @TestMetadata("innerClasses.kt")
     public void testInnerClasses() throws Exception {
         runTest("analysis/low-level-api-fir/testdata/contextCollector/innerClasses.kt");
@@ -67,6 +79,12 @@
     }
 
     @Test
+    @TestMetadata("primaryConstructorParameter.kt")
+    public void testPrimaryConstructorParameter() throws Exception {
+        runTest("analysis/low-level-api-fir/testdata/contextCollector/primaryConstructorParameter.kt");
+    }
+
+    @Test
     @TestMetadata("simple.kt")
     public void testSimple() throws Exception {
         runTest("analysis/low-level-api-fir/testdata/contextCollector/simple.kt");
