Added basic logging, just a facade for now

Added FissionContext class
Changed name on both class and function for input code to avoid namespace clashes when adding FissionContext
Updated README
Added section on how to develop/debug the code to README, might be obvious for some but not all
Changed code input from static function to method
This commit is contained in:
Klavs Madsen
2017-01-22 15:45:08 +01:00
parent f5270d97b1
commit 760e021141
8 changed files with 186 additions and 54 deletions
+12 -5
View File
@@ -1,21 +1,28 @@
using System;
using System.Reflection;
using System.Collections.Generic;
using Fission.DotNetCore.Api;
namespace Fission.DotNetCore.Compiler
{
class Function
{
private readonly Assembly _assembly;
private readonly Type _type;
private readonly MethodInfo _info;
public Function(MethodInfo info)
public Function(Assembly assembly, Type type, MethodInfo info)
{
if (info == null) throw new ArgumentNullException(nameof(info));
if (assembly == null) throw new ArgumentNullException(nameof(assembly));
if (type == null) throw new ArgumentNullException(nameof(type));
_assembly = assembly;
_type = type;
_info = info;
}
public object Invoke(Dictionary<string, object> args)
public object Invoke(FissionContext context)
{
return _info.Invoke(null, new[] { args });
return _info.Invoke(_assembly.CreateInstance(_type.FullName), new[] { context });
}
}
}
}