aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Scripting/Tango.Scripting
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2020-08-09 02:26:07 +0300
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2020-08-09 02:26:07 +0300
commit92db2f2431bb58a84dc4d476b889fee1de0143e9 (patch)
tree26e8880e86091b08064a3b20b2862d83ed726ab6 /Software/Visual_Studio/Scripting/Tango.Scripting
parent255a47cf96e83e8d11befa9180dc4458f6767188 (diff)
downloadTango-92db2f2431bb58a84dc4d476b889fee1de0143e9.tar.gz
Tango-92db2f2431bb58a84dc4d476b889fee1de0143e9.zip
Procedure runtime debugging and exceptions.
Diffstat (limited to 'Software/Visual_Studio/Scripting/Tango.Scripting')
-rw-r--r--Software/Visual_Studio/Scripting/Tango.Scripting/Parsing/ScriptParser.cs23
-rw-r--r--Software/Visual_Studio/Scripting/Tango.Scripting/Parsing/ScriptSymbol.cs4
2 files changed, 27 insertions, 0 deletions
diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting/Parsing/ScriptParser.cs b/Software/Visual_Studio/Scripting/Tango.Scripting/Parsing/ScriptParser.cs
index e9cb8fc4c..2e7086ce0 100644
--- a/Software/Visual_Studio/Scripting/Tango.Scripting/Parsing/ScriptParser.cs
+++ b/Software/Visual_Studio/Scripting/Tango.Scripting/Parsing/ScriptParser.cs
@@ -138,9 +138,32 @@ namespace Tango.Scripting.Parsing
varSymbol.Type = type;
varSymbol.Class = ReplaceFakeScript(symbol.ContainingType?.Name);
varSymbol.Kind = symbol.Kind;
+ varSymbol.RealSymbol = symbol;
varSymbol.Accessibility = symbol.DeclaredAccessibility;
varSymbol.ContainingNamespace = ReplaceFakeScript(symbol.ContainingNamespace?.Name);
varSymbol.Summary = GetSymbolDocumentation(symbol);
+
+ try
+ {
+ if (symbol.Kind == SymbolKind.Local && symbol.DeclaringSyntaxReferences.Count() > 0)
+ {
+ var node = symbol.DeclaringSyntaxReferences.First().GetSyntax() as VariableDeclaratorSyntax;
+
+ if (node != null)
+ {
+ varSymbol.IsUnassigned = node.Initializer == null;
+ }
+ }
+ }
+ catch { }
+
+ try
+ {
+ varSymbol.Offset = symbol.Locations[0].SourceSpan.Start;
+ varSymbol.Length = symbol.Locations[0].SourceSpan.Length;
+ }
+ catch { }
+
vars.Add(varSymbol);
if (type == "?")
diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting/Parsing/ScriptSymbol.cs b/Software/Visual_Studio/Scripting/Tango.Scripting/Parsing/ScriptSymbol.cs
index d6fdaeebf..4b34837af 100644
--- a/Software/Visual_Studio/Scripting/Tango.Scripting/Parsing/ScriptSymbol.cs
+++ b/Software/Visual_Studio/Scripting/Tango.Scripting/Parsing/ScriptSymbol.cs
@@ -17,6 +17,10 @@ namespace Tango.Scripting.Parsing
public String ContainingNamespace { get; set; }
public List<KeyValuePair<String,String>> Parameters { get; set; }
public String Summary { get; set; }
+ public int Offset { get; set; }
+ public int Length { get; set; }
+ public bool IsUnassigned { get; set; }
+ public ISymbol RealSymbol { get; set; }
public ScriptSymbol()
{