Commit fdcf1f7a authored by Vinicius Jarina's avatar Vinicius Jarina
Browse files

Fixed issue with vargs

Rename LuaRunner to NLua.exe (now can be called as stand-alone exe).
parent 255ad93d
......@@ -26,6 +26,7 @@
using System;
using System.Threading;
using NLua;
using System.Collections.Generic;
/*
* Application to run Lua scripts that can use NLua
......@@ -34,64 +35,450 @@ using NLua;
* Author: Fabio Mascarenhas
* Version: 1.0
*/
namespace LuaRunner
namespace NLua
{
public class LuaNetRunner
{
const string lua_script = @"-- lua.lua - Lua 5.1 interpreter (lua.c) reimplemented in Lua.
--
-- WARNING: This is not completed but was quickly done just an experiment.
-- Fix omissions/bugs and test if you want to use this in production.
-- Particularly pay attention to error handling.
--
-- (c) David Manura, 2008-08
-- Licensed under the same terms as Lua itself.
-- Based on lua.c from Lua 5.1.3.
-- Improvements by Shmuel Zeigerman.
-- Variables analogous to those in luaconf.h
local LUA_INIT = ""LUA_INIT""
local LUA_PROGNAME = ""lua""
local LUA_PROMPT = ""> ""
local LUA_PROMPT2 = "">> ""
local function LUA_QL(x) return ""'"" .. x .. ""'"" end
local lua51 = _VERSION:match '5%.1$'
-- Variables analogous to those in lua.h
local LUA_RELEASE, LUA_COPYRIGHT, eof_ender
if lua51 then
LUA_RELEASE = ""Lua 5.1.4""
LUA_COPYRIGHT = ""Copyright (C) 1994-2008 Lua.org, PUC-Rio""
eof_ender = LUA_QL(""<eof>"")
else
LUA_RELEASE = ""Lua 5.2.2""
LUA_COPYRIGHT = ""Copyright (C) 1994-2013 Lua.org, PUC-Rio""
eof_ender = '<eof>'
end
local EXTRA_COPYRIGHT = ""lua.lua (c) David Manura, 2008-08""
-- Note: don't allow user scripts to change implementation.
-- Check for globals with ""cat lua.lua | luac -p -l - | grep ETGLOBAL""
local _G = _G
local assert = assert
local collectgarbage = collectgarbage
local loadfile = loadfile
local loadstring = loadstring or load
local pcall = pcall
local rawget = rawget
local select = select
local tostring = tostring
local type = type
local unpack = unpack or table.unpack
local xpcall = xpcall
local io_stderr = io.stderr
local io_stdout = io.stdout
local io_stdin = io.stdin
local string_format = string.format
local string_sub = string.sub
local os_getenv = os.getenv
local os_exit = os.exit
local progname = LUA_PROGNAME
-- Use external functions, if available
local lua_stdin_is_tty = function() return true end
local setsignal = function() end
local function print_usage()
io_stderr:write(string_format(
""usage: %s [options] [script [args]].\n"" ..
""Available options are:\n"" ..
"" -e stat execute string "" .. LUA_QL(""stat"") .. ""\n"" ..
"" -l name require library "" .. LUA_QL(""name"") .. ""\n"" ..
"" -i enter interactive mode after executing "" ..
LUA_QL(""script"") .. ""\n"" ..
"" -v show version information\n"" ..
"" -- stop handling options\n"" ..
"" - execute stdin and stop handling options\n""
,
progname))
io_stderr:flush()
end
local our_tostring = tostring
local tuple = table.pack or function(...)
return {n=select('#', ...), ...}
end
local using_lsh,lsh
local function our_print (...)
local args = tuple(...)
for i = 1,args.n do
io.write(our_tostring(args[i]),'\t')
end
_G._ = args[1]
io.write '\n'
end
local function saveline(s)
if using_lsh then
lsh.saveline(s)
end
end
local function getline(prmt)
if using_lsh then
return lsh.readline(prmt)
else
io_stdout:write(prmt)
io_stdout:flush()
return io_stdin:read'*l'
end
end
local function l_message (pname, msg)
if pname then io_stderr:write(string_format(""%s: "", pname)) end
io_stderr:write(string_format(""%s\n"", msg))
io_stderr:flush()
end
local function report(status, msg)
if not status and msg ~= nil then
msg = tostring(msg)
--~ msg = (type(msg) == 'string' or type(msg) == 'number') and tostring(msg)
--~ or ""(error object is not a string)""
l_message(progname, msg);
end
return status
end
local function traceback (message)
local tp = type(message)
if tp ~= ""string"" and tp ~= ""number"" then return message end
local debug = _G.debug
if type(debug) ~= ""table"" then return message end
local tb = debug.traceback
if type(tb) ~= ""function"" then return message end
return tb(message, 2)
end
local function docall(f, ...)
local tp = {...} -- no need in tuple (string arguments only)
local F = function() return f(unpack(tp)) end
setsignal(true)
local result = tuple(xpcall(F, traceback))
setsignal(false)
-- force a complete garbage collection in case of errors
if not result[1] then collectgarbage(""collect"") end
return unpack(result, 1, result.n)
end
function dofile(name)
local f, msg = loadfile(name)
if f then f, msg = docall(f) end
return report(f, msg)
end
local function dostring(s, name)
local f, msg = loadstring(s, name)
if f then f, msg = docall(f) end
return report(f, msg)
end
local function dolibrary (name)
return report(docall(_G.require, name))
end
local function print_version()
l_message(nil, LUA_RELEASE .. "" "" .. LUA_COPYRIGHT..""\n""..EXTRA_COPYRIGHT)
end
local function getargs (argv, n)
local arg = {}
for i=1,#argv do arg[i - n] = argv[i] end
if _G.arg then
local i = 0
while _G.arg[i] do
arg[i - n] = _G.arg[i]
i = i - 1
end
end
return arg
end
local function get_prompt (firstline)
-- use rawget to play fine with require 'strict'
local pmt = rawget(_G, firstline and ""_PROMPT"" or ""_PROMPT2"")
local tp = type(pmt)
if tp == ""string"" or tp == ""number"" then
return tostring(pmt)
end
return firstline and LUA_PROMPT or LUA_PROMPT2
end
local function fetchline(firstline)
return getline(get_prompt(firstline))
end
local function incomplete (msg)
if msg then
if string_sub(msg, -#eof_ender) == eof_ender then
return true
end
end
return false
end
local function pushline (firstline)
local fine,b = true
repeat
b = fetchline(firstline)
if not b then return end -- no input
if using_lsh then
fine = lsh.checkline(b)
end
until fine
if firstline and string_sub(b, 1, 1) == '=' then
return ""return "" .. string_sub(b, 2) -- change '=' to `return'
else
return b
end
end
local function loadline ()
local b = pushline(true)
if not b then return -1 end -- no input
local f, msg
while true do -- repeat until gets a complete line
f, msg = loadstring(b, ""=stdin"")
if not incomplete(msg) then break end -- cannot try to add lines?
local b2 = pushline(false)
if not b2 then -- no more input?
return -1
end
b = b .. ""\n"" .. b2 -- join them
end
saveline(b)
return f, msg
end
local function dotty ()
local oldprogname = progname
progname = nil
using_lsh,lsh = false -- pcall(require, 'luaish') blows with LI ??
if using_lsh then
our_tostring = lsh.tostring
else
--print('problem loading luaish:',lsh)
our_tostring = tostring
end
while true do
local result
local status, msg = loadline()
if status == -1 then break end
if status then
result = tuple(docall(status))
status, msg = result[1], result[2]
end
report(status, msg)
if status and result.n > 1 then -- any result to print?
status, msg = pcall(our_print, unpack(result, 2, result.n))
if not status then
l_message(progname, string_format(
""error calling %s (%s)"",
LUA_QL(""print""), msg))
end
end
end
io_stdout:write""\n""
io_stdout:flush()
progname = oldprogname
end
local function handle_script(argv, n)
_G.arg = getargs(argv, n) -- collect arguments
local fname = argv[n]
if fname == ""-"" and argv[n-1] ~= ""--"" then
fname = nil -- stdin
end
local status, msg = loadfile(fname)
if status then
status, msg = docall(status, unpack(_G.arg))
end
return report(status, msg)
end
local function collectargs (argv, p)
local i = 1
while i <= #argv do
if string_sub(argv[i], 1, 1) ~= '-' then -- not an option?
return i
end
local prefix = string_sub(argv[i], 1, 2)
if prefix == '--' then
if #argv[i] > 2 then return -1 end
return argv[i+1] and i+1 or 0
elseif prefix == '-' then
return i
elseif prefix == '-i' then
if #argv[i] > 2 then return -1 end
p.i = true
p.v = true
elseif prefix == '-v' then
if #argv[i] > 2 then return -1 end
p.v = true
elseif prefix == '-e' then
p.e = true
if #argv[i] == 2 then
i = i + 1
if argv[i] == nil then return -1 end
end
elseif prefix == '-l' then
if #argv[i] == 2 then
i = i + 1
if argv[i] == nil then return -1 end
end
else
return -1 -- invalid option
end
i = i + 1
end
return 0
end
local function runargs(argv, n)
local i = 1
while i <= n do if argv[i] then
assert(string_sub(argv[i], 1, 1) == '-')
local c = string_sub(argv[i], 2, 2) -- option
if c == 'e' then
local chunk = string_sub(argv[i], 3)
if chunk == '' then i = i + 1; chunk = argv[i] end
assert(chunk)
if not dostring(chunk, ""=(command line)"") then return false end
elseif c == 'l' then
local filename = string_sub(argv[i], 3)
if filename == '' then i = i + 1; filename = argv[i] end
assert(filename)
if not dolibrary(filename) then return false end
end
i = i + 1
end end
return true
end
local function handle_luainit()
local init = os_getenv(LUA_INIT)
if init == nil then
return -- status OK
elseif string_sub(init, 1, 1) == '@' then
dofile(string_sub(init, 2))
else
dostring(init, ""="" .. LUA_INIT)
end
end
if _G.arg and _G.arg[0] and #_G.arg[0] > 0 then progname = _G.arg[0] end
local argv = arg
handle_luainit()
local has = {i=false, v=false, e=false}
local script = collectargs(argv, has)
if script < 0 then -- invalid args?
print_usage()
os_exit(1)
end
if has.v then print_version() end
local status = runargs(argv, (script > 0) and script-1 or #argv)
if not status then os_exit(1) end
if script ~= 0 then
status = handle_script(argv, script)
if not status then os_exit(1) end
else
_G.arg = nil
end
if has.i then
dotty()
elseif script == 0 and not has.e and not has.v then
if lua_stdin_is_tty() then
print_version()
import 'System'
dotty()
else dofile(nil) -- executes stdin as a file
end
end
";
/*
* Runs the Lua script passed as the first command-line argument.
* It passed all the command-line arguments to the script.
*/
[STAThread] // steffenj: testluaform.lua "Load" button complained with an exception that STAThread was missing
[STAThread]
public static void Main(string[] args)
{
if(args.Length > 0)
{
// For attaching from the debugger
// Thread.Sleep(20000);
try {
using(Lua lua = new Lua())
{
using (Lua lua = new Lua ()) {
//lua.OpenLibs(); // steffenj: Lua 5.1.1 API change (all libs already opened in Lua constructor!)
lua.NewTable("arg");
LuaTable argc = (LuaTable)lua["arg"];
argc[-1] = "LuaRunner";
argc[0] = args[0];
for(int i = 1; i < args.Length; i++)
argc[i] = args[i];
lua.NewTable ("arg");
LuaTable argc = (LuaTable)lua ["arg"];
argc [0] = "NLua";
for (int i = 0; i < args.Length; i++) {
argc [i + 1] = args [i];
}
argc["n"] = args.Length - 1;
argc ["n"] = args.Length;
try
{
//Console.WriteLine("DoFile(" + args[0] + ");");
lua.DoFile(args[0]);
}
catch(Exception e)
{
// steffenj: BEGIN error message improved, output is now in decending order of importance (message, where, stacktrace)
// limit size of strack traceback message to roughly 1 console screen height
lua.LoadCLRPackage ();
try {
lua.DoString (lua_script,"lua");
} catch (Exception e) {
// limit size of stack traceback message to roughly 1 console screen height
string trace = e.StackTrace;
if(e.StackTrace.Length > 1300)
trace = e.StackTrace.Substring(0, 1300) + " [...] (traceback cut short)";
if (e.StackTrace.Length > 1300)
trace = e.StackTrace.Substring (0, 1300) + " [...] (traceback cut short)";
Console.WriteLine();
Console.WriteLine(e.Message);
Console.WriteLine(e.Source + " raised a " + e.GetType().ToString());
Console.WriteLine(trace);
Console.WriteLine ();
Console.WriteLine (e.Message);
Console.WriteLine (e.Source + " raised a " + e.GetType ().ToString ());
Console.WriteLine (trace);
// wait for keypress if there is an error
Console.ReadKey();
// steffenj: END error message improved
// wait for key press if there is an error
Console.ReadKey ();
}
}
}
else
{
Console.WriteLine("LuaRunner -- runs Lua scripts with CLR access");
Console.WriteLine("Usage: luarunner <script.lua> [{<arg>}]");
} catch (Exception e) {
Console.WriteLine ();
Console.WriteLine (e.Message);
Console.WriteLine (e.Source + " raised a " + e.GetType ().ToString ());
Console.ReadKey ();
}
}
}
......
......@@ -8,8 +8,8 @@
<ProjectGuid>{3CE4CCB6-3465-43E3-B5ED-5FB9B70D20E5}</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>LuaRunner</RootNamespace>
<AssemblyName>LuaRunner</AssemblyName>
<RootNamespace>NLua</RootNamespace>
<AssemblyName>NLua</AssemblyName>
<ReleaseVersion>2.x</ReleaseVersion>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile />
......@@ -18,17 +18,17 @@
<DebugSymbols>True</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>False</Optimize>
<OutputPath>..\..\Run\Debug</OutputPath>
<OutputPath>..\..\tests\</OutputPath>
<DefineConstants>DEBUG</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<Externalconsole>true</Externalconsole>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>none</DebugType>
<Optimize>True</Optimize>
<OutputPath>..\..\Run\Release</OutputPath>
<OutputPath>..\..\tests\</OutputPath>
<DefineConstants>RELEASE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
......@@ -58,12 +58,14 @@
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugKopiLua|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\DebugKopiLua\</OutputPath>
<OutputPath>..\..\tests\</OutputPath>
<DefineConstants>DEBUG</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<WarningLevel>4</WarningLevel>
<Optimize>false</Optimize>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugKopiLua|x64'">
<DebugSymbols>true</DebugSymbols>
......@@ -73,12 +75,21 @@
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<WarningLevel>4</WarningLevel>
<Optimize>false</Optimize>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseKopiLua|AnyCPU'">
<OutputPath>bin\ReleaseKopiLua\</OutputPath>
<OutputPath>..\..\tests\</OutputPath>
<WarningLevel>4</WarningLevel>
<Optimize>false</Optimize>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseKopiLua|x64'">
<OutputPath>bin\x64\ReleaseKopiLua\</OutputPath>
<WarningLevel>4</WarningLevel>
<Optimize>false</Optimize>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>NLua.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
......@@ -111,10 +122,13 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Core\NLua\NLua.Net40.csproj">
<Project>{f55cabbb-4108-4a39-94e1-581fd46dc021}</Project>
<Project>{F55CABBB-4108-4A39-94E1-581FD46DC021}</Project>
<Name>NLua.Net40</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Content Include="NLua.ico" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
......
......@@ -42,9 +42,13 @@
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<WarningLevel>4</WarningLevel>
<Optimize>false</Optimize>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseKopiLua|AnyCPU'">
<OutputPath>bin\ReleaseKopiLua\</OutputPath>
<WarningLevel>4</WarningLevel>
<Optimize>false</Optimize>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
......@@ -68,7 +72,7 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Core\NLua\NLua.Net40.csproj">
<Project>{f55cabbb-4108-4a39-94e1-581fd46dc021}</Project>
<Project>{F55CABBB-4108-4A39-94E1-581FD46DC021}</Project>
<Name>NLua.Net40</Name>
</ProjectReference>
</ItemGroup>
......
......@@ -830,7 +830,10 @@ namespace NLua
internal Array TableToArray (Func<int, object> luaParamValueExtractor, Type paramArrayType, int startIndex, int count)
{
Array paramArray;
Array paramArray;
if (count == 0)
return Array.CreateInstance (paramArrayType, 0);
var luaParamValue = luaParamValueExtractor (startIndex);
......@@ -860,6 +863,7 @@ namespace NLua
} else {
paramArray = Array.CreateInstance (paramArrayType, count);
paramArray.SetValue (luaParamValue, 0);
for (int i = 1; i < count; i++) {
......@@ -898,14 +902,7 @@ namespace NLua
{
paramList.Add (null);
outList.Add (paramList.LastIndexOf (null));
} else if (currentLuaParam > nLuaParams) { // Adds optional parameters
if (currentNetParam.IsOptional)
paramList.Add (currentNetParam.DefaultValue);
else {
isMethod = false;
break;
}
} else if (IsTypeCorrect (luaState, currentLuaParam, currentNetParam, out extractValue)) { // Type checking
} else if (IsTypeCorrect (luaState, currentLuaParam, currentNetParam, out extractValue)) { // Type checking
var value = extractValue (luaState, currentLuaParam);
paramList.Add (value);
int index = paramList.LastIndexOf (value);
......@@ -939,6 +936,13 @@ namespace NLua
methodArg.paramsArrayType = paramArrayType;
argTypes.Add (methodArg);
} else if (currentLuaParam > nLuaParams) { // Adds optional parameters
if (currentNetParam.IsOptional)
paramList.Add (currentNetParam.DefaultValue);
else {
isMethod = false;
break;
}
} else if (currentNetParam.IsOptional)
paramList.Add (currentNetParam.DefaultValue);
else { // No match
......
......@@ -3,21 +3,21 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Test", "Test", "{0E28CF40-4DFA-46FE-95BB-E90648DFE6F5}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Applications", "Applications", "{B13128D8-A4F3-4C53-A4C6-F2EA34F527BD}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NLuaTest", "NLuaTest\NLuaTest.csproj", "{D5FCADFA-5047-40C2-B392-256875862920}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LuaRunner", "Applications\LuaRunner\LuaRunner.csproj", "{3CE4CCB6-3465-43E3-B5ED-5FB9B70D20E5}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleTest", "ConsoleTest\ConsoleTest.csproj", "{A42D438C-34B3-4D3D-8165-8D3779FE16A7}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core", "Core", "{B8664957-CB71-4F11-A4DB-59E7514BC5F3}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Applications", "Applications", "{B13128D8-A4F3-4C53-A4C6-F2EA34F527BD}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KopiLua", "Core\KopiLua\KopiLua\KopiLua.Net40.csproj", "{E8DDBC21-EF74-4ABA-9C49-BFC702BE25D8}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NLua", "Applications\LuaRunner\NLua.csproj", "{3CE4CCB6-3465-43E3-B5ED-5FB9B70D20E5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NLua", "Core\NLua\NLua.Net40.csproj", "{F55CABBB-4108-4A39-94E1-581FD46DC021}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core", "Core", "{B8664957-CB71-4F11-A4DB-59E7514BC5F3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NLuaTest", "NLuaTest\NLuaTest.csproj", "{D5FCADFA-5047-40C2-B392-256875862920}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KopiLua.Net40", "Core\KopiLua\KopiLua\KopiLua.Net40.csproj", "{E8DDBC21-EF74-4ABA-9C49-BFC702BE25D8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KeraLua", "Core\KeraLua\src\KeraLua.Net40.csproj", "{47153754-10F5-44D8-B578-F5A32B69061A}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NLua.Net40", "Core\NLua\NLua.Net40.csproj", "{F55CABBB-4108-4A39-94E1-581FD46DC021}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleTest", "ConsoleTest\ConsoleTest.csproj", "{A42D438C-34B3-4D3D-8165-8D3779FE16A7}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KeraLua.Net40", "Core\KeraLua\src\KeraLua.Net40.csproj", "{47153754-10F5-44D8-B578-F5A32B69061A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
......@@ -35,30 +35,6 @@ Global
{3CE4CCB6-3465-43E3-B5ED-5FB9B70D20E5}.Release|Any CPU.Build.0 = Release|Any CPU
{3CE4CCB6-3465-43E3-B5ED-5FB9B70D20E5}.ReleaseKopiLua|Any CPU.ActiveCfg = ReleaseKopiLua|Any CPU
{3CE4CCB6-3465-43E3-B5ED-5FB9B70D20E5}.ReleaseKopiLua|Any CPU.Build.0 = ReleaseKopiLua|Any CPU
{E8DDBC21-EF74-4ABA-9C49-BFC702BE25D8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E8DDBC21-EF74-4ABA-9C49-BFC702BE25D8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E8DDBC21-EF74-4ABA-9C49-BFC702BE25D8}.DebugKopiLua|Any CPU.ActiveCfg = DebugKopiLua|Any CPU
{E8DDBC21-EF74-4ABA-9C49-BFC702BE25D8}.DebugKopiLua|Any CPU.Build.0 = DebugKopiLua|Any CPU
{E8DDBC21-EF74-4ABA-9C49-BFC702BE25D8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E8DDBC21-EF74-4ABA-9C49-BFC702BE25D8}.Release|Any CPU.Build.0 = Release|Any CPU
{E8DDBC21-EF74-4ABA-9C49-BFC702BE25D8}.ReleaseKopiLua|Any CPU.ActiveCfg = ReleaseKopiLua|Any CPU
{E8DDBC21-EF74-4ABA-9C49-BFC702BE25D8}.ReleaseKopiLua|Any CPU.Build.0 = ReleaseKopiLua|Any CPU
{F55CABBB-4108-4A39-94E1-581FD46DC021}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F55CABBB-4108-4A39-94E1-581FD46DC021}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F55CABBB-4108-4A39-94E1-581FD46DC021}.DebugKopiLua|Any CPU.ActiveCfg = DebugKopiLua|Any CPU
{F55CABBB-4108-4A39-94E1-581FD46DC021}.DebugKopiLua|Any CPU.Build.0 = DebugKopiLua|Any CPU
{F55CABBB-4108-4A39-94E1-581FD46DC021}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F55CABBB-4108-4A39-94E1-581FD46DC021}.Release|Any CPU.Build.0 = Release|Any CPU
{F55CABBB-4108-4A39-94E1-581FD46DC021}.ReleaseKopiLua|Any CPU.ActiveCfg = ReleaseKopiLua|Any CPU
{F55CABBB-4108-4A39-94E1-581FD46DC021}.ReleaseKopiLua|Any CPU.Build.0 = ReleaseKopiLua|Any CPU
{D5FCADFA-5047-40C2-B392-256875862920}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D5FCADFA-5047-40C2-B392-256875862920}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D5FCADFA-5047-40C2-B392-256875862920}.DebugKopiLua|Any CPU.ActiveCfg = DebugKopiLua|Any CPU
{D5FCADFA-5047-40C2-B392-256875862920}.DebugKopiLua|Any CPU.Build.0 = DebugKopiLua|Any CPU
{D5FCADFA-5047-40C2-B392-256875862920}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D5FCADFA-5047-40C2-B392-256875862920}.Release|Any CPU.Build.0 = Release|Any CPU
{D5FCADFA-5047-40C2-B392-256875862920}.ReleaseKopiLua|Any CPU.ActiveCfg = ReleaseKopiLua|Any CPU
{D5FCADFA-5047-40C2-B392-256875862920}.ReleaseKopiLua|Any CPU.Build.0 = ReleaseKopiLua|Any CPU
{47153754-10F5-44D8-B578-F5A32B69061A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{47153754-10F5-44D8-B578-F5A32B69061A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{47153754-10F5-44D8-B578-F5A32B69061A}.DebugKopiLua|Any CPU.ActiveCfg = DebugKopiLua|Any CPU
......@@ -75,9 +51,30 @@ Global
{A42D438C-34B3-4D3D-8165-8D3779FE16A7}.Release|Any CPU.Build.0 = Release|Any CPU
{A42D438C-34B3-4D3D-8165-8D3779FE16A7}.ReleaseKopiLua|Any CPU.ActiveCfg = ReleaseKopiLua|Any CPU
{A42D438C-34B3-4D3D-8165-8D3779FE16A7}.ReleaseKopiLua|Any CPU.Build.0 = ReleaseKopiLua|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
{D5FCADFA-5047-40C2-B392-256875862920}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D5FCADFA-5047-40C2-B392-256875862920}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D5FCADFA-5047-40C2-B392-256875862920}.DebugKopiLua|Any CPU.ActiveCfg = DebugKopiLua|Any CPU
{D5FCADFA-5047-40C2-B392-256875862920}.DebugKopiLua|Any CPU.Build.0 = DebugKopiLua|Any CPU
{D5FCADFA-5047-40C2-B392-256875862920}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D5FCADFA-5047-40C2-B392-256875862920}.Release|Any CPU.Build.0 = Release|Any CPU
{D5FCADFA-5047-40C2-B392-256875862920}.ReleaseKopiLua|Any CPU.ActiveCfg = ReleaseKopiLua|Any CPU
{D5FCADFA-5047-40C2-B392-256875862920}.ReleaseKopiLua|Any CPU.Build.0 = ReleaseKopiLua|Any CPU
{E8DDBC21-EF74-4ABA-9C49-BFC702BE25D8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E8DDBC21-EF74-4ABA-9C49-BFC702BE25D8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E8DDBC21-EF74-4ABA-9C49-BFC702BE25D8}.DebugKopiLua|Any CPU.ActiveCfg = DebugKopiLua|Any CPU
{E8DDBC21-EF74-4ABA-9C49-BFC702BE25D8}.DebugKopiLua|Any CPU.Build.0 = DebugKopiLua|Any CPU
{E8DDBC21-EF74-4ABA-9C49-BFC702BE25D8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E8DDBC21-EF74-4ABA-9C49-BFC702BE25D8}.Release|Any CPU.Build.0 = Release|Any CPU
{E8DDBC21-EF74-4ABA-9C49-BFC702BE25D8}.ReleaseKopiLua|Any CPU.ActiveCfg = ReleaseKopiLua|Any CPU
{E8DDBC21-EF74-4ABA-9C49-BFC702BE25D8}.ReleaseKopiLua|Any CPU.Build.0 = ReleaseKopiLua|Any CPU
{F55CABBB-4108-4A39-94E1-581FD46DC021}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F55CABBB-4108-4A39-94E1-581FD46DC021}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F55CABBB-4108-4A39-94E1-581FD46DC021}.DebugKopiLua|Any CPU.ActiveCfg = DebugKopiLua|Any CPU
{F55CABBB-4108-4A39-94E1-581FD46DC021}.DebugKopiLua|Any CPU.Build.0 = DebugKopiLua|Any CPU
{F55CABBB-4108-4A39-94E1-581FD46DC021}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F55CABBB-4108-4A39-94E1-581FD46DC021}.Release|Any CPU.Build.0 = Release|Any CPU
{F55CABBB-4108-4A39-94E1-581FD46DC021}.ReleaseKopiLua|Any CPU.ActiveCfg = ReleaseKopiLua|Any CPU
{F55CABBB-4108-4A39-94E1-581FD46DC021}.ReleaseKopiLua|Any CPU.Build.0 = ReleaseKopiLua|Any CPU
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{D5FCADFA-5047-40C2-B392-256875862920} = {0E28CF40-4DFA-46FE-95BB-E90648DFE6F5}
......@@ -88,135 +85,17 @@ Global
{47153754-10F5-44D8-B578-F5A32B69061A} = {B8664957-CB71-4F11-A4DB-59E7514BC5F3}
EndGlobalSection
GlobalSection(MonoDevelopProperties) = preSolution
StartupItem = NLuaTest\NLuaTest.csproj
StartupItem = Applications\LuaRunner\NLua.csproj
Policies = $0
$0.TextStylePolicy = $3
$1.inheritsSet = null
$1.scope = text/x-csharp
$0.CSharpFormattingPolicy = $2
$2.AfterDelegateDeclarationParameterComma = True
$2.inheritsSet = Mono
$2.inheritsScope = text/x-csharp
$2.scope = text/x-csharp
$3.inheritsSet = Mono
$3.inheritsScope = text/plain
$3.scope = text/plain
$0.StandardHeader = $4
$4.Text =
$4.IncludeInNewFiles = True
$0.NameConventionPolicy = $5
$5.Rules = $6
$6.NamingRule = $26
$7.Name = Namespaces
$7.AffectedEntity = Namespace
$7.VisibilityMask = VisibilityMask
$7.NamingStyle = PascalCase
$7.IncludeInstanceMembers = True
$7.IncludeStaticEntities = True
$8.Name = Types
$8.AffectedEntity = Class, Struct, Enum, Delegate
$8.VisibilityMask = Public
$8.NamingStyle = PascalCase
$8.IncludeInstanceMembers = True
$8.IncludeStaticEntities = True
$9.Name = Interfaces
$9.RequiredPrefixes = $10
$10.String = I
$9.AffectedEntity = Interface
$9.VisibilityMask = Public
$9.NamingStyle = PascalCase
$9.IncludeInstanceMembers = True
$9.IncludeStaticEntities = True
$11.Name = Attributes
$11.RequiredSuffixes = $12
$12.String = Attribute
$11.AffectedEntity = CustomAttributes
$11.VisibilityMask = Public
$11.NamingStyle = PascalCase
$11.IncludeInstanceMembers = True
$11.IncludeStaticEntities = True
$13.Name = Event Arguments
$13.RequiredSuffixes = $14
$14.String = EventArgs
$13.AffectedEntity = CustomEventArgs
$13.VisibilityMask = Public
$13.NamingStyle = PascalCase
$13.IncludeInstanceMembers = True
$13.IncludeStaticEntities = True
$15.Name = Exceptions
$15.RequiredSuffixes = $16
$16.String = Exception
$15.AffectedEntity = CustomExceptions
$15.VisibilityMask = VisibilityMask
$15.NamingStyle = PascalCase
$15.IncludeInstanceMembers = True
$15.IncludeStaticEntities = True
$17.Name = Methods
$17.AffectedEntity = Methods
$17.VisibilityMask = Protected, Public
$17.NamingStyle = PascalCase
$17.IncludeInstanceMembers = True
$17.IncludeStaticEntities = True
$18.Name = Static Readonly Fields
$18.AffectedEntity = ReadonlyField
$18.VisibilityMask = Protected, Public
$18.NamingStyle = PascalCase
$18.IncludeInstanceMembers = False
$18.IncludeStaticEntities = True
$19.Name = Fields
$19.AffectedEntity = Field
$19.VisibilityMask = Protected, Public
$19.NamingStyle = PascalCase
$19.IncludeInstanceMembers = True
$19.IncludeStaticEntities = True
$20.Name = ReadOnly Fields
$20.AffectedEntity = ReadonlyField
$20.VisibilityMask = Protected, Public
$20.NamingStyle = PascalCase
$20.IncludeInstanceMembers = True
$20.IncludeStaticEntities = False
$21.Name = Constant Fields
$21.AffectedEntity = ConstantField
$21.VisibilityMask = Protected, Public
$21.NamingStyle = PascalCase
$21.IncludeInstanceMembers = True
$21.IncludeStaticEntities = True
$22.Name = Properties
$22.AffectedEntity = Property
$22.VisibilityMask = Protected, Public
$22.NamingStyle = PascalCase
$22.IncludeInstanceMembers = True
$22.IncludeStaticEntities = True
$23.Name = Events
$23.AffectedEntity = Event
$23.VisibilityMask = Protected, Public
$23.NamingStyle = PascalCase
$23.IncludeInstanceMembers = True
$23.IncludeStaticEntities = True
$24.Name = Enum Members
$24.AffectedEntity = EnumMember
$24.VisibilityMask = VisibilityMask
$24.NamingStyle = PascalCase
$24.IncludeInstanceMembers = True
$24.IncludeStaticEntities = True
$25.Name = Parameters
$25.AffectedEntity = Parameter
$25.VisibilityMask = VisibilityMask
$25.NamingStyle = CamelCase
$25.IncludeInstanceMembers = True
$25.IncludeStaticEntities = True
$26.Name = Type Parameters
$26.RequiredPrefixes = $27
$27.String = T
$26.AffectedEntity = TypeParameter
$26.VisibilityMask = VisibilityMask
$26.NamingStyle = PascalCase
$26.IncludeInstanceMembers = True
$26.IncludeStaticEntities = True
$0.DotNetNamingPolicy = $28
$28.DirectoryNamespaceAssociation = None
$28.ResourceNamePolicy = FileFormatDefault
$0.TextStylePolicy = $1
$1.FileWidth = 120
$1.TabsToSpaces = False
$1.inheritsSet = VisualStudio
$1.inheritsScope = text/plain
description = NLua
version = 2.x
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment