diff options
Diffstat (limited to 'source/slang/source-loc.cpp')
| -rw-r--r-- | source/slang/source-loc.cpp | 10 |
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 |
