diff options
| author | Ellie Hermaszewska <ellieh@nvidia.com> | 2024-10-29 14:49:26 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-29 14:49:26 +0800 |
| commit | f65d756bff8d4c5cbc15bd0322a2ae8e6b896a21 (patch) | |
| tree | ea1d61342cd29368e19135000ec2948813096205 /source/compiler-core/slang-artifact-util.cpp | |
| parent | a729c15e9dce9f5116a38afc66329ab2ca4cea54 (diff) | |
format
* format
* Minor test fixes
* enable checking cpp format in ci
Diffstat (limited to 'source/compiler-core/slang-artifact-util.cpp')
| -rw-r--r-- | source/compiler-core/slang-artifact-util.cpp | 124 |
1 files changed, 81 insertions, 43 deletions
diff --git a/source/compiler-core/slang-artifact-util.cpp b/source/compiler-core/slang-artifact-util.cpp index e03f02e1e..703f8fddb 100644 --- a/source/compiler-core/slang-artifact-util.cpp +++ b/source/compiler-core/slang-artifact-util.cpp @@ -1,15 +1,14 @@ // slang-artifact-util.cpp #include "slang-artifact-util.h" -#include "slang-artifact-impl.h" -#include "slang-artifact-representation-impl.h" - -#include "slang-artifact-desc-util.h" - #include "../core/slang-castable.h" #include "../core/slang-io.h" +#include "slang-artifact-desc-util.h" +#include "slang-artifact-impl.h" +#include "slang-artifact-representation-impl.h" -namespace Slang { +namespace Slang +{ static bool _checkSelf(ArtifactUtil::FindStyle findStyle) { @@ -23,36 +22,39 @@ static bool _checkChildren(ArtifactUtil::FindStyle findStyle) static bool _checkRecursive(ArtifactUtil::FindStyle findStyle) { - return findStyle == ArtifactUtil::FindStyle::Recursive || - findStyle == ArtifactUtil::FindStyle::ChildrenRecursive; + return findStyle == ArtifactUtil::FindStyle::Recursive || + findStyle == ArtifactUtil::FindStyle::ChildrenRecursive; } - + /* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ArtifactUtil !!!!!!!!!!!!!!!!!!!!!!!!!!! */ -/* static */ComPtr<IArtifact> ArtifactUtil::createArtifact(const ArtifactDesc& desc, const char* name) +/* static */ ComPtr<IArtifact> ArtifactUtil::createArtifact( + const ArtifactDesc& desc, + const char* name) { auto artifact = createArtifact(desc); artifact->setName(name); return artifact; } -/* static */ComPtr<IArtifact> ArtifactUtil::createArtifact(const ArtifactDesc& desc) +/* static */ ComPtr<IArtifact> ArtifactUtil::createArtifact(const ArtifactDesc& desc) { return Artifact::create(desc); } -/* static */ComPtr<IArtifact> ArtifactUtil::createArtifactForCompileTarget(SlangCompileTarget target) +/* static */ ComPtr<IArtifact> ArtifactUtil::createArtifactForCompileTarget( + SlangCompileTarget target) { auto desc = ArtifactDescUtil::makeDescForCompileTarget(target); return createArtifact(desc); } -/* static */bool ArtifactUtil::isSignificant(IArtifact* artifact) +/* static */ bool ArtifactUtil::isSignificant(IArtifact* artifact) { return isSignificant(artifact->getDesc()); } -/* static */bool ArtifactUtil::isSignificant(const ArtifactDesc& desc) +/* static */ bool ArtifactUtil::isSignificant(const ArtifactDesc& desc) { // Containers are not significant as of themselves, they may contain something tho if (isDerivedFrom(desc.kind, ArtifactKind::Container)) @@ -61,16 +63,14 @@ static bool _checkRecursive(ArtifactUtil::FindStyle findStyle) } // If it has no payload.. we are done - if (desc.payload == ArtifactPayload::None || - desc.payload == ArtifactPayload::Invalid) + if (desc.payload == ArtifactPayload::None || desc.payload == ArtifactPayload::Invalid) { return false; } // If it's binary like or assembly/source we it's significant if (isDerivedFrom(desc.kind, ArtifactKind::CompileBinary) || - desc.kind == ArtifactKind::Assembly || - desc.kind == ArtifactKind::Source) + desc.kind == ArtifactKind::Assembly || desc.kind == ArtifactKind::Source) { return true; } @@ -93,15 +93,19 @@ static bool _checkRecursive(ArtifactUtil::FindStyle findStyle) } -/* static */bool ArtifactUtil::isSignificant(IArtifact* artifact, void* data) +/* static */ bool ArtifactUtil::isSignificant(IArtifact* artifact, void* data) { SLANG_UNUSED(data); return isSignificant(artifact->getDesc()); } -/* static */IArtifact* ArtifactUtil::findSignificant(IArtifact* artifact) -{ - return findArtifactByPredicate(artifact, FindStyle::SelfOrChildren, &ArtifactUtil::isSignificant, nullptr); +/* static */ IArtifact* ArtifactUtil::findSignificant(IArtifact* artifact) +{ + return findArtifactByPredicate( + artifact, + FindStyle::SelfOrChildren, + &ArtifactUtil::isSignificant, + nullptr); } UnownedStringSlice ArtifactUtil::findPath(IArtifact* artifact) @@ -122,7 +126,7 @@ UnownedStringSlice ArtifactUtil::findPath(IArtifact* artifact) { if (auto pathRep = as<IPathArtifactRepresentation>(rep)) { - if (pathRep->getPathType() == SLANG_PATH_TYPE_FILE && + if (pathRep->getPathType() == SLANG_PATH_TYPE_FILE && (bestRep == nullptr || as<IExtFileArtifactRepresentation>(rep))) { bestRep = pathRep; @@ -130,11 +134,12 @@ UnownedStringSlice ArtifactUtil::findPath(IArtifact* artifact) } } - const UnownedStringSlice name = bestRep ? UnownedStringSlice(bestRep->getPath()) : UnownedStringSlice(); + const UnownedStringSlice name = + bestRep ? UnownedStringSlice(bestRep->getPath()) : UnownedStringSlice(); return name.getLength() ? name : UnownedStringSlice(); } -/* static */UnownedStringSlice ArtifactUtil::inferExtension(IArtifact* artifact) +/* static */ UnownedStringSlice ArtifactUtil::inferExtension(IArtifact* artifact) { const UnownedStringSlice path = findPath(artifact); if (path.getLength()) @@ -148,14 +153,17 @@ UnownedStringSlice ArtifactUtil::findPath(IArtifact* artifact) return UnownedStringSlice(); } -/* static */UnownedStringSlice ArtifactUtil::findName(IArtifact* artifact) +/* static */ UnownedStringSlice ArtifactUtil::findName(IArtifact* artifact) { const UnownedStringSlice path = findPath(artifact); const Index pos = Path::findLastSeparatorIndex(path); return (pos >= 0) ? path.tail(pos + 1) : path; } -static SlangResult _calcInferred(IArtifact* artifact, const UnownedStringSlice& basePath, StringBuilder& outPath) +static SlangResult _calcInferred( + IArtifact* artifact, + const UnownedStringSlice& basePath, + StringBuilder& outPath) { auto ext = ArtifactUtil::inferExtension(artifact); @@ -175,7 +183,10 @@ static SlangResult _calcInferred(IArtifact* artifact, const UnownedStringSlice& return SLANG_OK; } -/* static */SlangResult ArtifactUtil::calcPath(IArtifact* artifact, const UnownedStringSlice& basePath, StringBuilder& outPath) +/* static */ SlangResult ArtifactUtil::calcPath( + IArtifact* artifact, + const UnownedStringSlice& basePath, + StringBuilder& outPath) { if (ArtifactDescUtil::hasDefinedNameForDesc(artifact->getDesc())) { @@ -187,7 +198,10 @@ static SlangResult _calcInferred(IArtifact* artifact, const UnownedStringSlice& } } -/* static */SlangResult ArtifactUtil::calcName(IArtifact* artifact, const UnownedStringSlice& baseName, StringBuilder& outName) +/* static */ SlangResult ArtifactUtil::calcName( + IArtifact* artifact, + const UnownedStringSlice& baseName, + StringBuilder& outName) { if (ArtifactDescUtil::hasDefinedNameForDesc(artifact->getDesc())) { @@ -223,22 +237,39 @@ static bool _isName(IArtifact* artifact, void* data) return ::strcmp(name, artifactName) == 0; } -/* static */IArtifact* ArtifactUtil::findArtifactByDerivedDesc(IArtifact* artifact, FindStyle findStyle, const ArtifactDesc& desc) +/* static */ IArtifact* ArtifactUtil::findArtifactByDerivedDesc( + IArtifact* artifact, + FindStyle findStyle, + const ArtifactDesc& desc) { - return findArtifactByPredicate(artifact, findStyle, _isByDerivedDesc, &const_cast<ArtifactDesc&>(desc)); + return findArtifactByPredicate( + artifact, + findStyle, + _isByDerivedDesc, + &const_cast<ArtifactDesc&>(desc)); } -/* static */IArtifact* ArtifactUtil::findArtifactByName(IArtifact* artifact, FindStyle findStyle, const char* name) +/* static */ IArtifact* ArtifactUtil::findArtifactByName( + IArtifact* artifact, + FindStyle findStyle, + const char* name) { return findArtifactByPredicate(artifact, findStyle, _isName, const_cast<char*>(name)); } -/* static */IArtifact* ArtifactUtil::findArtifactByDesc(IArtifact* artifact, FindStyle findStyle, const ArtifactDesc& desc) +/* static */ IArtifact* ArtifactUtil::findArtifactByDesc( + IArtifact* artifact, + FindStyle findStyle, + const ArtifactDesc& desc) { return findArtifactByPredicate(artifact, findStyle, _isDesc, &const_cast<ArtifactDesc&>(desc)); } -/* static */IArtifact* ArtifactUtil::findArtifactByPredicate(IArtifact* artifact, FindStyle findStyle, FindFunc func, void* data) +/* static */ IArtifact* ArtifactUtil::findArtifactByPredicate( + IArtifact* artifact, + FindStyle findStyle, + FindFunc func, + void* data) { if (_checkSelf(findStyle) && func(artifact, data)) { @@ -250,7 +281,7 @@ static bool _isName(IArtifact* artifact, void* data) return nullptr; } - // Expand the children so we can search them + // Expand the children so we can search them artifact->expandChildren(); auto children = artifact->getChildren(); @@ -268,38 +299,45 @@ static bool _isName(IArtifact* artifact, void* data) } } - // If it's recursive, we check all the children of children + // If it's recursive, we check all the children of children if (_checkRecursive(findStyle)) { for (auto child : children) { - if (auto found = findArtifactByPredicate(child, FindStyle::ChildrenRecursive, func, data)) + if (auto found = + findArtifactByPredicate(child, FindStyle::ChildrenRecursive, func, data)) { return found; } } } - + return nullptr; } -/* static */void ArtifactUtil::addAssociated(IArtifact* artifact, IArtifactPostEmitMetadata* metadata) +/* static */ void ArtifactUtil::addAssociated( + IArtifact* artifact, + IArtifactPostEmitMetadata* metadata) { if (metadata) { - auto metadataArtifact = ArtifactUtil::createArtifact(ArtifactDesc::make(ArtifactKind::Instance, ArtifactPayload::PostEmitMetadata)); + auto metadataArtifact = ArtifactUtil::createArtifact( + ArtifactDesc::make(ArtifactKind::Instance, ArtifactPayload::PostEmitMetadata)); metadataArtifact->addRepresentation(metadata); artifact->addAssociated(metadataArtifact); } } -/* static */void ArtifactUtil::addAssociated(IArtifact* artifact, IArtifactDiagnostics* diagnostics) +/* static */ void ArtifactUtil::addAssociated( + IArtifact* artifact, + IArtifactDiagnostics* diagnostics) { if (diagnostics) { - auto diagnosticsArtifact = ArtifactUtil::createArtifact(ArtifactDesc::make(ArtifactKind::Instance, ArtifactPayload::Diagnostics)); + auto diagnosticsArtifact = ArtifactUtil::createArtifact( + ArtifactDesc::make(ArtifactKind::Instance, ArtifactPayload::Diagnostics)); diagnosticsArtifact->addRepresentation(diagnostics); - artifact->addAssociated(diagnosticsArtifact); + artifact->addAssociated(diagnosticsArtifact); } } |
