Spaces:
Runtime error
Runtime error
| using Microsoft.CodeAnalysis; | |
| using Microsoft.CodeAnalysis.CSharp; | |
| namespace RobloxCS | |
| { | |
| public abstract class BaseTransformer : CSharpSyntaxRewriter | |
| { | |
| protected SyntaxNode _root; | |
| protected readonly SyntaxTree _tree; | |
| protected readonly ConfigData _config; | |
| public BaseTransformer(SyntaxTree tree, ConfigData config) | |
| { | |
| _root = tree.GetRoot(); | |
| _tree = tree; | |
| _config = config; | |
| } | |
| public SyntaxTree TransformTree() | |
| { | |
| return _tree.WithRootAndOptions(Visit(_root), _tree.Options); | |
| } | |
| protected string? TryGetName(SyntaxNode node) | |
| { | |
| return Utility.GetNamesFromNode(node).FirstOrDefault(); | |
| } | |
| protected string GetName(SyntaxNode node) | |
| { | |
| return Utility.GetNamesFromNode(node).First(); | |
| } | |
| protected SyntaxToken CreateIdentifierToken(string text, string? valueText = null, SyntaxTriviaList? trivia = null) | |
| { | |
| var triviaList = trivia ?? SyntaxFactory.TriviaList(); | |
| return SyntaxFactory.VerbatimIdentifier(triviaList, text, valueText ?? text, triviaList); | |
| } | |
| } | |
| } | |