1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-10 12:32:20 +02:00

Fixes for new out-var rules, unassigned variable detection

This commit is contained in:
Brian Fiete 2020-09-22 07:44:47 -07:00
parent 6878183873
commit fd3265445d
9 changed files with 56 additions and 30 deletions

View file

@ -27,12 +27,19 @@ namespace IDETest
b = a;
}
public void For1(out int a) //FAIL
public void For1(out int a)
{
for (int b < 2)
a = 9;
}
public void For2(out int a) //FAIL
{
int b = 123;
for (int c < b)
a = 9;
}
public void Do1(out int a) //FAIL
{
int b = 123;

View file

@ -9363,7 +9363,7 @@ namespace IDE
{
if (mBuildContext != null)
{
if (mBuildContext.mScriptContext.mVars.TryGetValue(varName, var value))
if (mBuildContext.mScriptContext.mVars.TryGetValue(varName, out value))
{
if (value.VariantType == typeof(String))
{

View file

@ -2447,7 +2447,7 @@ namespace IDE
if (hasError)
mScriptManager.Fail("Unexpected error at line {0} in {1}\n\t", lineIdx + 1, textPanel.mFilePath);
else
mScriptManager.Fail("Expected error at line {0} in {1} but didn't encounter one\n\t", lineIdx + 1, textPanel.mFilePath);
mScriptManager.Fail("Expected error but didn't encounter one at line {0} in {1}\n\t", lineIdx + 1, textPanel.mFilePath);
return;
}
}

View file

@ -475,6 +475,8 @@ namespace IDE.ui
{
if (val.StartsWith("!", StringComparison.Ordinal))
{
addr = 0;
byteCount = 0;
String errorString = scope String();
DebugManager.GetFailString(val, evalStr, errorString);
IDEApp.sApp.Fail(errorString);

View file

@ -2447,7 +2447,7 @@ namespace IDE.ui
if (stmtEndChar == '{')
offsetLinePos++;
}
else if (GetStatementRange(toLineStart, .AllowInnerMethodSelect, var stmtStartIdx, var stmtEndIdx, var stmtEndChar) == .Declaration)
else if (GetStatementRange(toLineStart, .AllowInnerMethodSelect, out stmtStartIdx, out stmtEndIdx, out stmtEndChar) == .Declaration)
{
if (stmtEndIdx <= toLineEnd)
{