Пример #1
0
        public static void Transpile(this Syntax.TypeReferenceSyntax typeReferenceNode, ref StringBuilder sb)
        {
            _ = typeReferenceNode ?? throw new ArgumentNullException(nameof(typeReferenceNode));

            typeReferenceNode.TypeReferenceNameToken.TranspileIdentifier(ref sb);

            if (typeReferenceNode.TypeNameNode.TypeNameToken.TokenType == SyntaxTokenType.StringKeyword)
            {
                TranspileStringConcatenationHandler.RegisterLocalStringVariable(typeReferenceNode.TypeReferenceNameToken.ValueText);
            }
        }
Пример #2
0
        public static ParameterSyntax Transpile(this Syntax.TypeReferenceSyntax typeReferenceNode, TokenTranspileFlags flags)
        {
            _ = typeReferenceNode ?? throw new ArgumentNullException(nameof(typeReferenceNode));

            return(SyntaxFactory.Parameter(
                       SyntaxFactory.Identifier(
                           SyntaxTriviaList.Empty,
                           Microsoft.CodeAnalysis.CSharp.SyntaxKind.IdentifierToken,
                           typeReferenceNode.TypeReferenceNameToken.TranspileIdentifier(),
                           typeReferenceNode.TypeReferenceNameToken.ValueText,
                           SyntaxTriviaList.Empty))
                   .WithType(
                       typeReferenceNode.TypeNameNode.Transpile(flags)));
        }