diff options
author | Piotr Fusik <piotr@fusion-lang.org> | 2024-02-28 15:30:22 +0100 |
---|---|---|
committer | Piotr Fusik <piotr@fusion-lang.org> | 2024-02-28 15:30:22 +0100 |
commit | ad3d91ae399c103b67edd823e86ab382faf7625c (patch) | |
tree | d2015138263154410c03c46948f43ceefeabd337 | |
parent | ce08f8b765b1f18863ce3a478ba9c15842a0c285 (diff) |
[c] Emit public members of internal class in *.c not the header.
-rw-r--r-- | GenC.fu | 4 | ||||
-rw-r--r-- | libfut.cpp | 4 | ||||
-rw-r--r-- | libfut.cs | 4 | ||||
-rw-r--r-- | libfut.js | 4 |
4 files changed, 8 insertions, 8 deletions
@@ -3189,14 +3189,14 @@ public class GenC : GenCCpp { for (FuSymbol? symbol = klass.First; symbol != null; symbol = symbol.Next) { switch (symbol) { - case FuConst konst when (konst.Visibility == FuVisibility.Public) == pub: + case FuConst konst when (klass.IsPublic && konst.Visibility == FuVisibility.Public) == pub: if (pub) { WriteNewLine(); WriteDoc(konst.Documentation); } WriteConst(konst); break; - case FuMethod method when method.IsLive && (method.Visibility == FuVisibility.Public) == pub && method.CallType != FuCallType.Abstract && method.Id != FuId.Main: + case FuMethod method when method.IsLive && (klass.IsPublic && method.Visibility == FuVisibility.Public) == pub && method.CallType != FuCallType.Abstract && method.Id != FuId.Main: WriteNewLine(); WriteMethodDoc(method); WriteSignature(method); @@ -12100,14 +12100,14 @@ void GenC::writeSignatures(const FuClass * klass, bool pub) for (const FuSymbol * symbol = klass->first; symbol != nullptr; symbol = symbol->next) { const FuConst * konst; const FuMethod * method; - if ((konst = dynamic_cast<const FuConst *>(symbol)) && (konst->visibility == FuVisibility::public_) == pub) { + if ((konst = dynamic_cast<const FuConst *>(symbol)) && (klass->isPublic && konst->visibility == FuVisibility::public_) == pub) { if (pub) { writeNewLine(); writeDoc(konst->documentation.get()); } writeConst(konst); } - else if ((method = dynamic_cast<const FuMethod *>(symbol)) && method->isLive && (method->visibility == FuVisibility::public_) == pub && method->callType != FuCallType::abstract && method->id != FuId::main) { + else if ((method = dynamic_cast<const FuMethod *>(symbol)) && method->isLive && (klass->isPublic && method->visibility == FuVisibility::public_) == pub && method->callType != FuCallType::abstract && method->id != FuId::main) { writeNewLine(); writeMethodDoc(method); writeSignature(method); @@ -12360,14 +12360,14 @@ namespace Fusion { for (FuSymbol symbol = klass.First; symbol != null; symbol = symbol.Next) { switch (symbol) { - case FuConst konst when (konst.Visibility == FuVisibility.Public) == pub: + case FuConst konst when (klass.IsPublic && konst.Visibility == FuVisibility.Public) == pub: if (pub) { WriteNewLine(); WriteDoc(konst.Documentation); } WriteConst(konst); break; - case FuMethod method when method.IsLive && (method.Visibility == FuVisibility.Public) == pub && method.CallType != FuCallType.Abstract && method.Id != FuId.Main: + case FuMethod method when method.IsLive && (klass.IsPublic && method.Visibility == FuVisibility.Public) == pub && method.CallType != FuCallType.Abstract && method.Id != FuId.Main: WriteNewLine(); WriteMethodDoc(method); WriteSignature(method); @@ -12775,14 +12775,14 @@ export class GenC extends GenCCpp for (let symbol = klass.first; symbol != null; symbol = symbol.next) { let konst; let method; - if ((konst = symbol) instanceof FuConst && (konst.visibility == FuVisibility.PUBLIC) == pub) { + if ((konst = symbol) instanceof FuConst && (klass.isPublic && konst.visibility == FuVisibility.PUBLIC) == pub) { if (pub) { this.writeNewLine(); this.writeDoc(konst.documentation); } this.writeConst(konst); } - else if ((method = symbol) instanceof FuMethod && method.isLive && (method.visibility == FuVisibility.PUBLIC) == pub && method.callType != FuCallType.ABSTRACT && method.id != FuId.MAIN) { + else if ((method = symbol) instanceof FuMethod && method.isLive && (klass.isPublic && method.visibility == FuVisibility.PUBLIC) == pub && method.callType != FuCallType.ABSTRACT && method.id != FuId.MAIN) { this.writeNewLine(); this.writeMethodDoc(method); this.#writeSignature(method); |