Ejemplo n.º 1
0
        private void GeneratedStatementFile(
            GeneratedStatement generatedStatement
            )
        {
            // Get Path/File
            var namespaceToPath = Path.Combine(
                generatedStatement.ClassStatement.Namespace.Split(
                    '.'
                    ).Skip(1).ToArray()
                );
            var namepacePath = Path.Combine(
                _projectDirectory,
                namespaceToPath
                );
            var filePath = Path.Combine(
                namepacePath,
                $"{generatedStatement.ClassStatement.Name}.cs"
                );

            if (!Directory.Exists(
                    namepacePath
                    ))
            {
                Directory.CreateDirectory(
                    namepacePath
                    );
            }
            File.WriteAllText(
                filePath,
                CleanupGeneratedStatementString(
                    generatedStatement
                    )
                );
        }
 private string CleanupGeneratedStatementString(
     GeneratedStatement generatedStatement
     )
 {
     return(generatedStatement.GeneratedString.Replace(
                "ValueTask<void>",
                "ValueTask"
                ).Replace(
                "ValueTask<ValueTask>",
                "ValueTask"
                ).Replace(
                "await await",
                "await"
                ).Replace(
                "Task<void>",
                "CachedEntity"
                ).Replace(
                "ValueTask<Task<void>>",
                "ValueTask"
                ).Replace(
                "set_@",
                "set_"
                ).Replace(
                "get_@",
                "get_"
                ).Replace(
                "[[CLASS_GENERICS]]",
                BuildClassGenerics(
                    generatedStatement
                    )
                ));
 }
Ejemplo n.º 3
0
        private static string BuildClassGenerics(
            GeneratedStatement generatedStatement
            )
        {
            var template = "<[[TYPE]]>";

            if (!generatedStatement.ClassStatement.GenericTypes.Any())
            {
                return(string.Empty);
            }

            return(template.Replace(
                       "[[TYPE]]",
                       string.Join(
                           ", ",
                           generatedStatement.ClassStatement.GenericTypes.Select(
                               genericType => TypeStatementWriter.Write(
                                   genericType
                                   )
                               )
                           )
                       ));
        }