diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/MoonP/moon_compiler.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/MoonP/moon_compiler.cpp b/src/MoonP/moon_compiler.cpp index d49cf14..e8649ae 100644 --- a/src/MoonP/moon_compiler.cpp +++ b/src/MoonP/moon_compiler.cpp | |||
@@ -53,7 +53,7 @@ inline std::string s(std::string_view sv) { | |||
53 | return std::string(sv); | 53 | return std::string(sv); |
54 | } | 54 | } |
55 | 55 | ||
56 | const std::string_view version = "0.4.22"sv; | 56 | const std::string_view version = "0.4.23"sv; |
57 | const std::string_view extension = "mp"sv; | 57 | const std::string_view extension = "mp"sv; |
58 | 58 | ||
59 | class MoonCompilerImpl { | 59 | class MoonCompilerImpl { |
@@ -1877,9 +1877,12 @@ private: | |||
1877 | auto& args = *it; | 1877 | auto& args = *it; |
1878 | auto& initArgs = *(++it); | 1878 | auto& initArgs = *(++it); |
1879 | auto& bodyCodes = *(++it); | 1879 | auto& bodyCodes = *(++it); |
1880 | _buf << "function("sv << | 1880 | _buf << "function("sv; |
1881 | (isFatArrow ? s("self, "sv) : Empty) << | 1881 | if (isFatArrow) { |
1882 | args << ')'; | 1882 | _buf << "self"sv; |
1883 | if (!args.empty()) _buf << ", "sv; | ||
1884 | } | ||
1885 | _buf << args << ')'; | ||
1883 | if (!initArgs.empty() || !bodyCodes.empty()) { | 1886 | if (!initArgs.empty() || !bodyCodes.empty()) { |
1884 | _buf << nlr(argsDef) << initArgs << bodyCodes; | 1887 | _buf << nlr(argsDef) << initArgs << bodyCodes; |
1885 | popScope(); | 1888 | popScope(); |