diff options
| author | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2020-04-19 23:12:56 +0300 |
|---|---|---|
| committer | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2020-04-19 23:12:56 +0300 |
| commit | 9b7875d904456c34c3698d7fc569078f99ed5187 (patch) | |
| tree | cb6ef38d0f2bde6b78d241e6a9a1ec4ba49ec82f /Software/Visual_Studio/Scripting/Tango.Scripting | |
| parent | 6e172dd3bc3e2388e532fd43381896f15abaed70 (diff) | |
| download | Tango-9b7875d904456c34c3698d7fc569078f99ed5187.tar.gz Tango-9b7875d904456c34c3698d7fc569078f99ed5187.zip | |
Scripting refactoring.
Diffstat (limited to 'Software/Visual_Studio/Scripting/Tango.Scripting')
| -rw-r--r-- | Software/Visual_Studio/Scripting/Tango.Scripting/Parsing/ScriptParser.cs | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting/Parsing/ScriptParser.cs b/Software/Visual_Studio/Scripting/Tango.Scripting/Parsing/ScriptParser.cs index 15760c950..7accdbb83 100644 --- a/Software/Visual_Studio/Scripting/Tango.Scripting/Parsing/ScriptParser.cs +++ b/Software/Visual_Studio/Scripting/Tango.Scripting/Parsing/ScriptParser.cs @@ -258,7 +258,21 @@ namespace Tango.Scripting.Parsing { SyntaxTree tree = CSharpSyntaxTree.ParseText(code); CompilationUnitSyntax root = tree.GetCompilationUnitRoot(); - return root.DescendantNodes().OfType<ObjectCreationExpressionSyntax>().FirstOrDefault(); + var creationSyntax = root.DescendantNodes().OfType<ObjectCreationExpressionSyntax>().FirstOrDefault(); + return creationSyntax; + } + + public MethodDeclarationSyntax GetCurrentConstructionExpressionAlt(String code) + { + if (code.Contains("=") && code.Contains("new")) + { + SyntaxTree tree = CSharpSyntaxTree.ParseText(code); + CompilationUnitSyntax root = tree.GetCompilationUnitRoot(); + var creationSyntax = root.DescendantNodes().OfType<MethodDeclarationSyntax>().FirstOrDefault(); + return creationSyntax; + } + + return null; } public T GetExpressionFirst<T>(String line) where T : CSharpSyntaxNode |
