Exemple #1
0
        public static ArrowExpressionClauseSyntax GenerateSpanNameValues(MemberDeclarationMeta memberdecl) //=> { byte, byte, byte, byte}
        {
            SeparatedSyntaxList <ExpressionSyntax> ArrayInitExpr(MemberDeclarationMeta memberdecl)
            {
                SeparatedSyntaxList <ExpressionSyntax> expr = new SeparatedSyntaxList <ExpressionSyntax>();

                foreach (var byteItem in Encoding.UTF8.GetBytes(memberdecl.StringFieldNameAlias))
                {
                    expr = expr.Add(Basics.NumberLiteral(byteItem));
                }
                return(expr);
            }

            ArrayRankSpecifierSyntax ArrayRank(MemberDeclarationMeta memberdecl)
            {
                return(SF.ArrayRankSpecifier().AddSizes(Basics.NumberLiteral(memberdecl.StringFieldNameAlias.Length)));
            }

            return(SF.ArrowExpressionClause(
                       SF.ArrayCreationExpression(
                           SF.ArrayType(
                               SF.PredefinedType(SF.Token(SyntaxKind.ByteKeyword)),
                               SF.SingletonList <ArrayRankSpecifierSyntax>(ArrayRank(memberdecl))),


                           SF.InitializerExpression(SyntaxKind.ArrayInitializerExpression, ArrayInitExpr(memberdecl))
                           )
                       ));
        }
 public OperationBase(INamedTypeSymbol classsymbol, MemberDeclarationMeta memberdecl)
 {
     ClassSymbol = classsymbol;
     MemberDecl  = memberdecl;
 }
 public override ArgumentListSyntax ReadArgumentList(INamedTypeSymbol classSym, MemberDeclarationMeta memberDecl)
 {
     if (_variableDecl != null)
     {
         return(SF.ArgumentList(
                    new SeparatedSyntaxList <ArgumentSyntax>()
                    .Add(SF.Argument(default, SF.Token(SyntaxKind.RefKeyword), Basics.ReaderInputVariableIdentifier))
 public ArrayWriteOperation(INamedTypeSymbol classsymbol, MemberDeclarationMeta memberdecl) : base(classsymbol, memberdecl)
 {
 }
 public InLoopArrayReadOperation(INamedTypeSymbol classsymbol, MemberDeclarationMeta memberdecl) : base(classsymbol, memberdecl)
 {
 }
Exemple #6
0
 public static MemberAccessExpressionSyntax SimpleMemberAccess(IdentifierNameSyntax source, MemberDeclarationMeta memberdecl)
 {
     return(SF.MemberAccessExpression(SyntaxKind.SimpleMemberAccessExpression, source, SF.IdentifierName(memberdecl.DeclSymbol.Name)));
 }
Exemple #7
0
 public static MemberAccessExpressionSyntax SimpleMemberAccess(INamedTypeSymbol classSymbol, MemberDeclarationMeta memberdecl)
 {
     return(SF.MemberAccessExpression(SyntaxKind.SimpleMemberAccessExpression, SF.IdentifierName(classSymbol.Name), SF.IdentifierName(memberdecl.DeclSymbol.Name)));
 }
Exemple #8
0
 public static IdentifierNameSyntax GenerateReadOnlySpanNameIdentifier(INamedTypeSymbol classSymbol, MemberDeclarationMeta memberdecl)
 {
     return(SF.IdentifierName($"{classSymbol.Name}{memberdecl.StringFieldNameAlias}"));
 }
Exemple #9
0
 public static string GenerateReadOnlySpanName(INamedTypeSymbol classSymbol, MemberDeclarationMeta memberdecl)
 {
     return($"{classSymbol.Name}{memberdecl.StringFieldNameAlias}");
 }
Exemple #10
0
 public virtual ArgumentListSyntax ReadArgumentList(INamedTypeSymbol classSym, MemberDeclarationMeta memberDecl)
 {
     if (_variableDecl != null)
     {
         return(SF.ArgumentList(new SeparatedSyntaxList <ArgumentSyntax>().Add(SF.Argument(default, SF.Token(SyntaxKind.OutKeyword), _variableDecl))));