Revert "InMemoryDexClassLoader in ClassLoaderContext follow-up"

This reverts commit 1a1398ec15accbd905d802e1391c8efbd2d80f98.
Bug: 72131483
Reason for revert: Broke class_loader_context_test on target

Change-Id: Iaa51c8e84536638f39e9ca4c420d1e10ae15e270
diff --git a/runtime/class_loader_context_test.cc b/runtime/class_loader_context_test.cc
index 531a690..7fba830 100644
--- a/runtime/class_loader_context_test.cc
+++ b/runtime/class_loader_context_test.cc
@@ -283,22 +283,10 @@
   VerifyClassLoaderDLC(context.get(), 0, "a.dex");
 }
 
-TEST_F(ClassLoaderContextTest, ParseValidContextIMC) {
-  std::unique_ptr<ClassLoaderContext> context = ParseContextWithChecksums("IMC[<unknown>*111]");
-  ASSERT_FALSE(context == nullptr);
-}
-
-TEST_F(ClassLoaderContextTest, ParseInvalidContextIMCNoChecksum) {
+TEST_F(ClassLoaderContextTest, ParseInvalidContextIMC) {
   // IMC is treated as an unknown class loader unless a checksum is provided.
   // This is because the dex location is always bogus.
-  std::unique_ptr<ClassLoaderContext> context = ClassLoaderContext::Create("IMC[<unknown>]");
-  ASSERT_TRUE(context == nullptr);
-}
-
-TEST_F(ClassLoaderContextTest, ParseInvalidContextIMCWrongClasspathMagic) {
-  // IMC does not support arbitrary dex location. A magic marker must be used
-  // otherwise the spec should be rejected.
-  std::unique_ptr<ClassLoaderContext> context = ClassLoaderContext::Create("IMC[a.dex*111]");
+  std::unique_ptr<ClassLoaderContext> context = ClassLoaderContext::Create("IMC[a.dex]");
   ASSERT_TRUE(context == nullptr);
 }
 
@@ -512,7 +500,11 @@
   std::unique_ptr<ClassLoaderContext> context;
   std::string dex_name = GetTestDexFileName("Main");
 
-  context = ParseContextWithChecksums("IMC[<unknown>*111]");
+  context = ParseContextWithChecksums("PCL[" + dex_name + "*111]");
+  VerifyContextSize(context.get(), 1);
+  ASSERT_TRUE(context->OpenDexFiles(InstructionSet::kArm, "."));
+
+  context = ParseContextWithChecksums("IMC[" + dex_name + "*111]");
   VerifyContextSize(context.get(), 1);
   ASSERT_FALSE(context->OpenDexFiles(InstructionSet::kArm, "."));
 }
@@ -1210,7 +1202,7 @@
 }
 
 TEST_F(ClassLoaderContextTest, VerifyClassLoaderContextWithIMCMatch) {
-  std::string context_spec = "PCL[a.dex*123:b.dex*456];DLC[c.dex*890];IMC[<unknown>*111]";
+  std::string context_spec = "PCL[a.dex*123:b.dex*456];DLC[c.dex*890];IMC[d.dex*111]";
   std::unique_ptr<ClassLoaderContext> context = ParseContextWithChecksums(context_spec);
   // Pretend that we successfully open the dex files to pass the DCHECKS.
   // (as it's much easier to test all the corner cases without relying on actual dex files).
@@ -1219,7 +1211,7 @@
   VerifyContextSize(context.get(), 3);
   VerifyClassLoaderPCL(context.get(), 0, "a.dex:b.dex");
   VerifyClassLoaderDLC(context.get(), 1, "c.dex");
-  VerifyClassLoaderIMC(context.get(), 2, "<unknown>");
+  VerifyClassLoaderIMC(context.get(), 2, "d.dex");
 
   ASSERT_EQ(context->VerifyClassLoaderContextMatch(context_spec),
             ClassLoaderContext::VerificationResult::kVerifies);
@@ -1294,19 +1286,18 @@
 
 TEST_F(ClassLoaderContextTest, VerifyClassLoaderContextMatchWithIMCSL) {
   std::string context_spec =
-      "IMC[<unknown>*123:<unknown>*456]"
-      "{IMC[<unknown>*321];IMC[<unknown>*654]#IMC[<unknown>*098:<unknown>*999]};"
-      "DLC[c.dex*890]";
+      "IMC[a.dex*123:b.dex*456]{IMC[d.dex*321];IMC[e.dex*654]#IMC[f.dex*098:g.dex*999]}"
+      ";DLC[c.dex*890]";
   std::unique_ptr<ClassLoaderContext> context = ParseContextWithChecksums(context_spec);
   // Pretend that we successfully open the dex files to pass the DCHECKS.
   // (as it's much easier to test all the corner cases without relying on actual dex files).
   PretendContextOpenedDexFiles(context.get());
 
   VerifyContextSize(context.get(), 2);
-  VerifyClassLoaderIMC(context.get(), 0, "<unknown>:<unknown>");
+  VerifyClassLoaderIMC(context.get(), 0, "a.dex:b.dex");
   VerifyClassLoaderDLC(context.get(), 1, "c.dex");
-  VerifyClassLoaderSharedLibraryIMC(context.get(), 0, 0, "<unknown>");
-  VerifyClassLoaderSharedLibraryIMC(context.get(), 0, 1, "<unknown>:<unknown>");
+  VerifyClassLoaderSharedLibraryIMC(context.get(), 0, 0, "d.dex");
+  VerifyClassLoaderSharedLibraryIMC(context.get(), 0, 1, "f.dex:g.dex");
 
   ASSERT_EQ(context->VerifyClassLoaderContextMatch(context_spec),
             ClassLoaderContext::VerificationResult::kVerifies);