aboutsummaryrefslogtreecommitdiff
path: root/src/yuescript/yue_parser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/yuescript/yue_parser.cpp')
-rw-r--r--src/yuescript/yue_parser.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/yuescript/yue_parser.cpp b/src/yuescript/yue_parser.cpp
index ea45e85..ff7660a 100644
--- a/src/yuescript/yue_parser.cpp
+++ b/src/yuescript/yue_parser.cpp
@@ -974,12 +974,13 @@ ParseInfo YueParser::parse(std::string_view codes, rule& r) {
974 moduleName = moduleStr + std::to_string(index); 974 moduleName = moduleStr + std::to_string(index);
975 index++; 975 index++;
976 } while (state.usedNames.find(moduleName) != state.usedNames.end()); 976 } while (state.usedNames.find(moduleName) != state.usedNames.end());
977 state.usedNames.insert(moduleName);
977 res.moduleName = moduleName; 978 res.moduleName = moduleName;
978 res.usedNames = std::move(state.usedNames);
979 res.exportDefault = state.exportDefault; 979 res.exportDefault = state.exportDefault;
980 res.exportMacro = state.exportMacro; 980 res.exportMacro = state.exportMacro;
981 res.exportMetatable = !state.exportMetatable && state.exportMetamethod; 981 res.exportMetatable = !state.exportMetatable && state.exportMetamethod;
982 } 982 }
983 res.usedNames = std::move(state.usedNames);
983 } catch (const ParserError& err) { 984 } catch (const ParserError& err) {
984 res.error = {err.what(), err.line, err.col}; 985 res.error = {err.what(), err.line, err.col};
985 return res; 986 return res;