diff options
author | Li Jin <dragon-fly@qq.com> | 2022-04-06 18:03:49 +0800 |
---|---|---|
committer | Li Jin <dragon-fly@qq.com> | 2022-04-06 18:03:49 +0800 |
commit | 9af15048c75e845d9f6f647a3ebe2f538fac995c (patch) | |
tree | 9745928383df49940d6e17a95c269a1ae91b82f5 /src/yuescript/yue_compiler.cpp | |
parent | fe6ce26a58f23311cda3e82b3dfd3a55b9b16bc8 (diff) | |
download | yuescript-9af15048c75e845d9f6f647a3ebe2f538fac995c.tar.gz yuescript-9af15048c75e845d9f6f647a3ebe2f538fac995c.tar.bz2 yuescript-9af15048c75e845d9f6f647a3ebe2f538fac995c.zip |
allow doing mixin with a class and a table.
Diffstat (limited to '')
-rwxr-xr-x | src/yuescript/yue_compiler.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/yuescript/yue_compiler.cpp b/src/yuescript/yue_compiler.cpp index 3e9c048..3c2f809 100755 --- a/src/yuescript/yue_compiler.cpp +++ b/src/yuescript/yue_compiler.cpp | |||
@@ -5418,7 +5418,7 @@ private: | |||
5418 | auto val = getUnusedName("_val_"sv); | 5418 | auto val = getUnusedName("_val_"sv); |
5419 | auto mixins = _parser.toString(classDecl->mixes); | 5419 | auto mixins = _parser.toString(classDecl->mixes); |
5420 | _buf << "for "sv << mixin << " in *{"sv << mixins << "}\n"sv; | 5420 | _buf << "for "sv << mixin << " in *{"sv << mixins << "}\n"sv; |
5421 | _buf << "\tfor "sv << key << ',' << val << " in pairs "sv << mixin << ".__base\n"sv; | 5421 | _buf << "\tfor "sv << key << ',' << val << " in pairs "sv << mixin << ".__class and "sv << mixin << ".__base or "sv << mixin << '\n'; |
5422 | _buf << "\t\t"sv << baseVar << '[' << key << "]="sv << val << " if "sv << baseVar << '[' << key << "]==nil"sv; | 5422 | _buf << "\t\t"sv << baseVar << '[' << key << "]="sv << val << " if "sv << baseVar << '[' << key << "]==nil"sv; |
5423 | transformBlock(toAst<Block_t>(clearBuf(), x), temp, ExpUsage::Common); | 5423 | transformBlock(toAst<Block_t>(clearBuf(), x), temp, ExpUsage::Common); |
5424 | } | 5424 | } |