summaryrefslogtreecommitdiffstats
path: root/source/slang/source-loc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/source-loc.cpp')
-rw-r--r--source/slang/source-loc.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/source/slang/source-loc.cpp b/source/slang/source-loc.cpp
index 62926aa8c..6d6d63ae1 100644
--- a/source/slang/source-loc.cpp
+++ b/source/slang/source-loc.cpp
@@ -292,6 +292,16 @@ void SourceManager::initialize(
m_nextLoc = m_startLoc;
}
+UnownedStringSlice SourceManager::allocateStringSlice(const UnownedStringSlice& slice)
+{
+ const UInt numChars = slice.size();
+
+ char* dst = (char*)m_memoryArena.allocate(numChars);
+ ::memcpy(dst, slice.begin(), numChars);
+
+ return UnownedStringSlice(dst, numChars);
+}
+
SourceRange SourceManager::allocateSourceRange(UInt size)
{
// TODO: consider using atomics here