aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs
diff options
context:
space:
mode:
authorMelanie Thielker2008-07-12 01:34:36 +0000
committerMelanie Thielker2008-07-12 01:34:36 +0000
commitd85774c101f5509672fc8d791fa3c923fc2071c9 (patch)
tree5282e5f1e55a85f5f6c5c56fdecff097bcf0a677 /OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs
parentOverloads CreateMesh method of interface IMesher to pass prim physical status... (diff)
downloadopensim-SC_OLD-d85774c101f5509672fc8d791fa3c923fc2071c9.zip
opensim-SC_OLD-d85774c101f5509672fc8d791fa3c923fc2071c9.tar.gz
opensim-SC_OLD-d85774c101f5509672fc8d791fa3c923fc2071c9.tar.bz2
opensim-SC_OLD-d85774c101f5509672fc8d791fa3c923fc2071c9.tar.xz
Patch #9142 (No mantis)
Add a config option to OpenSim.ini to select between script compilers in the XEngine without recompile. Set UseNewCompiler=true in OpenSim.ini and try it out. Creates the ICodeConverter interface and adapts the new compiler to it.
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs12
1 files changed, 8 insertions, 4 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs b/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs
index 124f1e6..09d816f 100644
--- a/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs
@@ -72,8 +72,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools
72 private string FilePrefix; 72 private string FilePrefix;
73 private string ScriptEnginesPath = "ScriptEngines"; 73 private string ScriptEnginesPath = "ScriptEngines";
74 74
75 private static LSL2CSConverter LSL_Converter = new LSL2CSConverter(); 75 private static ICodeConverter LSL_Converter;
76 //private static CSCodeGenerator LSL_Converter;
77 private static CSharpCodeProvider CScodeProvider = new CSharpCodeProvider(); 76 private static CSharpCodeProvider CScodeProvider = new CSharpCodeProvider();
78 private static VBCodeProvider VBcodeProvider = new VBCodeProvider(); 77 private static VBCodeProvider VBcodeProvider = new VBCodeProvider();
79 private static JScriptCodeProvider JScodeProvider = new JScriptCodeProvider(); 78 private static JScriptCodeProvider JScodeProvider = new JScriptCodeProvider();
@@ -82,6 +81,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools
82 81
83 // private static int instanceID = new Random().Next(0, int.MaxValue); // Unique number to use on our compiled files 82 // private static int instanceID = new Random().Next(0, int.MaxValue); // Unique number to use on our compiled files
84 private static UInt64 scriptCompileCounter = 0; // And a counter 83 private static UInt64 scriptCompileCounter = 0; // And a counter
84 private bool m_UseCompiler = false;
85 85
86 public IScriptEngine m_scriptEngine; 86 public IScriptEngine m_scriptEngine;
87 public Compiler(IScriptEngine scriptEngine) 87 public Compiler(IScriptEngine scriptEngine)
@@ -94,6 +94,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools
94 { 94 {
95 95
96 // Get some config 96 // Get some config
97 m_UseCompiler = m_scriptEngine.Config.GetBoolean("UseNewCompiler", true);
97 WriteScriptSourceToDebugFile = m_scriptEngine.Config.GetBoolean("WriteScriptSourceToDebugFile", true); 98 WriteScriptSourceToDebugFile = m_scriptEngine.Config.GetBoolean("WriteScriptSourceToDebugFile", true);
98 CompileWithDebugInformation = m_scriptEngine.Config.GetBoolean("CompileWithDebugInformation", true); 99 CompileWithDebugInformation = m_scriptEngine.Config.GetBoolean("CompileWithDebugInformation", true);
99 100
@@ -324,9 +325,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools
324 if (l == enumCompileType.lsl) 325 if (l == enumCompileType.lsl)
325 { 326 {
326 // Its LSL, convert it to C# 327 // Its LSL, convert it to C#
328 //compileScript = LSL_Converter.Convert(Script);
329 if(m_UseCompiler)
330 LSL_Converter = (ICodeConverter)new CSCodeGenerator();
331 else
332 LSL_Converter = (ICodeConverter)new LSL2CSConverter();
327 compileScript = LSL_Converter.Convert(Script); 333 compileScript = LSL_Converter.Convert(Script);
328 //LSL_Converter = new CSCodeGenerator(Script);
329 //compileScript = LSL_Converter.Generate();
330 l = enumCompileType.cs; 334 l = enumCompileType.cs;
331 } 335 }
332 336