handle PDB files as asset type (#81828)
authorPavel Savara <pavel.savara@gmail.com>
Thu, 9 Feb 2023 11:41:07 +0000 (12:41 +0100)
committerGitHub <noreply@github.com>
Thu, 9 Feb 2023 11:41:07 +0000 (12:41 +0100)
src/mono/wasm/runtime/assets.ts
src/tasks/WasmAppBuilder/WasmAppBuilder.cs

index 4cb2e76..5711b79 100644 (file)
@@ -423,6 +423,9 @@ function _instantiate_asset(asset: AssetEntry, url: string, bytes: Uint8Array) {
             loaded_files.splice(index, 1);
         }
     }
+    else if (asset.behavior === "pdb") {
+        cwraps.mono_wasm_add_assembly(virtualName, offset!, bytes.length);
+    }
     else if (asset.behavior === "icu") {
         if (!mono_wasm_load_icu_data(offset!))
             Module.printErr(`MONO_WASM: Error loading ICU asset ${asset.name}`);
index 026dc27..f0c6749 100644 (file)
@@ -120,6 +120,11 @@ public class WasmAppBuilder : Task
         public AssemblyEntry(string name) : base(name, "assembly") {}
     }
 
+    private sealed class PdbEntry : AssetEntry
+    {
+        public PdbEntry(string name) : base(name, "pdb") {}
+    }
+
     private sealed class SatelliteAssemblyEntry : AssetEntry
     {
         public SatelliteAssemblyEntry(string name, string culture) : base(name, "resource")
@@ -260,7 +265,7 @@ public class WasmAppBuilder : Task
                 var pdb = assembly;
                 pdb = Path.ChangeExtension(pdb, ".pdb");
                 if (File.Exists(pdb))
-                    config.Assets.Add(new AssemblyEntry(Path.GetFileName(pdb)));
+                    config.Assets.Add(new PdbEntry(Path.GetFileName(pdb)));
             }
         }