diff options
| author | jsmall-nvidia <jsmall@nvidia.com> | 2023-04-20 11:55:26 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-04-20 11:55:26 -0400 |
| commit | 467fa3a5dcdd36e310b084747d6f4fcd6ca81249 (patch) | |
| tree | 193104aad3da77fffddb4b9be3edad4bcfdf76ac /source/compiler-core/slang-artifact-container-util.h | |
| parent | 4d24f55226870055c8dcbb3409efc5355da134d7 (diff) | |
Improvements outputting containers (#2815)
* #include an absolute path didn't work - because paths were taken to always be relative.
* Moved JSON source map writing logic to JSONSourceMapUtil.
* Use ArtifactHandler to read/write SourceMaps.
Use ObjectCastableAdapter to hold SourceMap
Only serialize SourceMap <-> JSON on demand.
* Make some types swappable.
* BoxValue impl.
* Added asBoxValue.
* Remove const get funcs.
* Fix typo in asBoxValue.
* Fix another typo in asBoxValue.
* Slightly simplify conversion to blob of SourceMap.
* WIP Api improvements around sourcemap/artifact/line-directive.
* Small fix for asBoxValue
* WIP outputting container with multiple artifacts.
* Added ArtifactContailerUtil::filter to produce an artifact hierarchy that only contains "signficant" and "blobable" artifacts.
* Make emitting IR disjoint to using a container.
Added -emit-ir option.
Simplfiy output.
* Fix typo in options parsing.
* Add a test that ouputs with an emit source map.
* Enable emitting our SlangIR module if no targets are specified.
* Fix issues constructing container.
* Extra checks getting obfuscated source map from a translation unit.
* Fix typo.
Diffstat (limited to 'source/compiler-core/slang-artifact-container-util.h')
| -rw-r--r-- | source/compiler-core/slang-artifact-container-util.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source/compiler-core/slang-artifact-container-util.h b/source/compiler-core/slang-artifact-container-util.h index c6e836245..0ee99de26 100644 --- a/source/compiler-core/slang-artifact-container-util.h +++ b/source/compiler-core/slang-artifact-container-util.h @@ -36,6 +36,14 @@ struct ArtifactContainerUtil /// Read an artifact that represents a container as an artifact hierarchy static SlangResult readContainer(IArtifact* artifact, ComPtr<IArtifact>& outArtifact); + + /// Creates a copy of artifact where + /// * All artifacts are blobs + /// * Any generic containers that are empty are dropped + /// * Any sub artifact that can't be blobed and isn't significant is ignored + /// + /// A future improvement would be to take a function to also control what makes it to the output + static SlangResult filter(IArtifact* artifact, ComPtr<IArtifact>& outArtifact); }; } // namespace Slang |
