Skip to content

Commit 97edff6

Browse files
committed
Handle label declarations
1 parent 465859c commit 97edff6

1 file changed

Lines changed: 21 additions & 1 deletion

File tree

sources/ClangSharp.PInvokeGenerator/PInvokeGenerator.VisitDecl.cs

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,11 @@ private void VisitDecl(Decl decl)
6262
break;
6363
}
6464

65-
// case CX_DeclKind.CX_DeclKind_Label:
65+
case CX_DeclKind.CX_DeclKind_Label:
66+
{
67+
VisitLabelDecl((LabelDecl)decl);
68+
break;
69+
}
6670

6771
case CX_DeclKind.CX_DeclKind_Namespace:
6872
{
@@ -861,6 +865,22 @@ private void VisitIndirectFieldDecl(IndirectFieldDecl indirectFieldDecl)
861865
_outputBuilder.WriteDivider();
862866
}
863867

868+
private void VisitLabelDecl(LabelDecl labelDecl)
869+
{
870+
var code = _outputBuilder.BeginCSharpCode();
871+
872+
code.WriteNewlineIfNeeded();
873+
code.DecreaseIndentation();
874+
875+
code.WriteIndented(labelDecl.Name);
876+
code.WriteLine(':');
877+
878+
code.IncreaseIndentation();
879+
Visit(labelDecl.Stmt);
880+
881+
_outputBuilder.EndCSharpCode(code);
882+
}
883+
864884
private void VisitLinkageSpecDecl(LinkageSpecDecl linkageSpecDecl)
865885
{
866886
Visit(linkageSpecDecl.Decls);

0 commit comments

Comments
 (0)