private void EvaluateCreateNewInstance(FunctionArgs args, List<Dictionary<string, object>> localVariableStack, List<object> dotOperatorStack)
{
string typeAsString = args.Parameters[0].ParsedExpression.ToString();
typeAsString = typeAsString.Substring(1, typeAsString.Length - 2);
Type type = TypeManager.GetTypeFromString(typeAsString);
int constructorParameterCount = args.Parameters.Length - 1;
object[] constructorParameters;
constructorParameters = new object[constructorParameterCount];
for (int i = 0; i < constructorParameterCount; i++)
{
constructorParameters[i] = args.Parameters[i + 1].Evaluate();
}
object toReturn = Activator.CreateInstance(type, constructorParameters);
args.Result = toReturn;
}