From 1caf8320b3b2545b6575e9e6691e9e3c539e5041 Mon Sep 17 00:00:00 2001 From: Deukhoofd Date: Thu, 6 Dec 2018 16:25:06 +0100 Subject: [PATCH] Fixed issue with no parameter funcs --- Upsilon/BaseTypes/TypeConversion.cs | 2 +- Upsilon/StandardLibraries/StaticScope.cs | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Upsilon/BaseTypes/TypeConversion.cs b/Upsilon/BaseTypes/TypeConversion.cs index 9944e5d..f5ac9ca 100644 --- a/Upsilon/BaseTypes/TypeConversion.cs +++ b/Upsilon/BaseTypes/TypeConversion.cs @@ -125,7 +125,7 @@ namespace Upsilon.BaseTypes if (t == typeof(ScriptType)) return Type.Unknown; if (typeof(IEnumerable).IsAssignableFrom(t)) - return Type.Table | Type.Function; + return Type.Table; return Type.UserData; } diff --git a/Upsilon/StandardLibraries/StaticScope.cs b/Upsilon/StandardLibraries/StaticScope.cs index 24d0f19..b3bc540 100644 --- a/Upsilon/StandardLibraries/StaticScope.cs +++ b/Upsilon/StandardLibraries/StaticScope.cs @@ -109,13 +109,16 @@ namespace Upsilon.StandardLibraries { var genericParameters = type.GetGenericArguments(); var parameters = new List(); - for (var i = 0; i < genericParameters.Length - 1; i++) + if (genericParameters.Length > 1) { - var t = DeriveValidTypes(genericParameters[i]); - parameters.Add(new InternalFunctionVariableSymbol.InternalFunctionParameter(t, false)); + for (var i = 0; i < genericParameters.Length - 1; i++) + { + var t = DeriveValidTypes(genericParameters[i]); + parameters.Add(new InternalFunctionVariableSymbol.InternalFunctionParameter(t, false)); + } } - var result = genericParameters[parameters.Count - 1].GetScriptType(); + var result = genericParameters[genericParameters.Length - 1].GetScriptType(); return new InternalFunctionVariableSymbol(name, true, result, parameters.ToArray()); }