Example #1
0
        public static void Transpile(this Syntax.DeclarationSyntax declarationNode, ref StringBuilder sb)
        {
            _ = declarationNode ?? throw new ArgumentNullException(nameof(declarationNode));

            declarationNode.GlobalsBlock?.Transpile(ref sb);
            declarationNode.TypeDefinition?.Transpile(ref sb);
            declarationNode.NativeFunctionDeclaration?.Transpile(ref sb);
        }
Example #2
0
        public static IEnumerable <MemberDeclarationSyntax> Transpile(this Syntax.DeclarationSyntax declarationNode)
        {
            _ = declarationNode ?? throw new ArgumentNullException(nameof(declarationNode));

            if (declarationNode.GlobalsBlock != null)
            {
                foreach (var globalDeclaration in declarationNode.GlobalsBlock.Transpile())
                {
                    yield return(globalDeclaration);
                }
            }
            else if (declarationNode.TypeDefinition != null)
            {
                foreach (var globalDeclaration in declarationNode.TypeDefinition.Transpile())
                {
                    yield return(globalDeclaration);
                }
            }
            else
            {
                yield return(declarationNode.NativeFunctionDeclaration.Transpile());
            }
        }