Resolve function parameter types by checking calls to the function
This commit is contained in:
@@ -52,17 +52,34 @@ testFunc(100)
|
||||
{
|
||||
const string input = @"
|
||||
function testFunc (var1)
|
||||
b = var1 == true
|
||||
var1 == true
|
||||
end
|
||||
testFunc(100)
|
||||
";
|
||||
var script = new Script(input);
|
||||
Assert.Empty(script.Diagnostics.Messages);
|
||||
script.Evaluate();
|
||||
Assert.Empty(script.Diagnostics.Messages);
|
||||
Assert.Single(script.Diagnostics.Messages);
|
||||
Assert.True(script.Scope.TryGet("testFunc", out var func));
|
||||
Assert.IsType<LuaFunction>(func);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void BindUnusedFunctions()
|
||||
{
|
||||
const string input = @"
|
||||
function testFunc (var1)
|
||||
var1 == true
|
||||
end
|
||||
";
|
||||
var script = new Script(input);
|
||||
Assert.Empty(script.Diagnostics.Messages);
|
||||
script.Evaluate();
|
||||
Assert.Empty(script.Diagnostics.Messages);
|
||||
Assert.True(script.Scope.TryGet("testFunc", out var func));
|
||||
var castType = Assert.IsType<LuaFunction>(func);
|
||||
Assert.NotNull(castType.Block);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user