#include "../core/slang-string-util.h" #include "slang-compiler.h" #include "slang-ir.h" #define STRINGIZE(x) STRINGIZE2(x) #define STRINGIZE2(x) #x #define LINE_STRING STRINGIZE(__LINE__) namespace Slang { String Session::getCoreModulePath() { if (coreModulePath.getLength() == 0) { // Make sure we have a line of text from __FILE__, that we'll extract the filename from List lines; StringUtil::calcLines(UnownedStringSlice::fromLiteral(__FILE__), lines); SLANG_ASSERT(lines.getCount() > 0 && lines[0].getLength() > 0); // Make the path just the filename to remove issues around path being included on different // targets coreModulePath = Path::getFileName(lines[0]); } return coreModulePath; } } // namespace Slang