aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared/CodeTools (follow)
Commit message (Collapse)AuthorAgeFilesLines
* In compiler tests, remove the ResolveEventHandlers after test exitJustin Clark-Casey (justincc)2014-05-271-3/+6
|
* Make CompilerTest add same AssemblyResolver as XEngine to see if this solves ↵Justin Clark-Casey (justincc)2014-05-271-1/+7
| | | | the issue with different AppDomain BaseDirectory in local and Jenkins test runs
* Temporarily print regression TestCastAndConcatString() script compile errors ↵Justin Clark-Casey (justincc)2014-05-271-4/+5
| | | | | | out to console to get a handle on what's going wrong. Does not fail for me locally and I failed to notice this test was failing on Jenkins.
* Fix issues where reported LSL compiler error line numbers do not match the ↵Justin Clark-Casey (justincc)2014-05-242-16/+16
| | | | | | | script. This is probably due to changes in the layout of the generated script preamble (using statements etc, ) in c8afc852 (Jan 17 2013). Re-enabled existing regression test that exercises at least one case of this.
* Get regression test TestUseUndeclaredVariable() functional again, though not ↵Justin Clark-Casey (justincc)2014-05-231-8/+19
| | | | | | yet enabled. This reveals the position map problems and will make the fix (and subsequent continual checking) easier.
* Reactivate regression test TestCastAndConcatString() in CompilerTests.Justin Clark-Casey (justincc)2014-05-232-10/+18
|
* Also take YP/commented out JS references from script engine CodeTools.Justin Clark-Casey (justincc)2014-03-262-157/+0
| | | | Fixes build break from d3387d591a2bd496c8315f17b2310d6a6f40a7c3
* Add lsl arg syntax checking for control eventJustin Clark-Casey (justincc)2013-12-212-9386/+9716
|
* refactor: rename internal lsl parser VectorDeclaration -> VecDeclaration for ↵Justin Clark-Casey (justincc)2013-12-211-7907/+7903
| | | | consistency
* Add arg checking for at_target lsl eventJustin Clark-Casey (justincc)2013-12-212-8828/+9158
|
* Add lsl event arg checking for at_rot_targetJustin Clark-Casey (justincc)2013-12-212-8915/+9306
|
* Add lsl event argument checking for attach and on_rezJustin Clark-Casey (justincc)2013-12-212-8593/+8946
|
* Add parameter checking for land_collision, land_collision_start and ↵Justin Clark-Casey (justincc)2013-11-292-7784/+8165
| | | | | | land_collision_end lsl events Wrong number of parmeters now generates syntax error on compile, as seen on LL grid
* Add regression test to check that specifying a non-existent event raise a ↵Justin Clark-Casey (justincc)2013-11-161-0/+9
| | | | | | syntax error This was the case before any of the recent changes
* Add syntax checking for no_sensor() no-arg eventJustin Clark-Casey (justincc)2013-11-162-4970/+4981
|
* refactor common code out of no argument LSL event regression testsJustin Clark-Casey (justincc)2013-11-161-14/+13
|
* If anything other than a single integer is specified for events that only ↵Justin Clark-Casey (justincc)2013-11-162-8245/+8691
| | | | | | take a single integer, generate a syntax error on LSL script compile rather than an exception later on. This applies to events changed, collision, collision_start, collision_end, on_rez, run_time_permissions, sensor, touch, touch_start, touch_end
* Make state_exit, moving_end, moving_start, not_at_rot_target, not_at_target ↵Justin Clark-Casey (justincc)2013-11-162-7447/+7520
| | | | | | | and timer LSL events generate a syntax error if inappropriately given arguments. This matches behaviour seen on the LL grid and a previous change for state_entry. These are all the events which should take no arguments
* refactor LSL_EventTests.TestStateEntryEvent into single method to test compileJustin Clark-Casey (justincc)2013-11-161-14/+17
|
* refactor: replace verbose checks with String.IsNullOrEmpty where applicable.Justin Clark-Casey (justincc)2013-11-151-1/+1
| | | | Thanks to Kira for this patch from http://opensimulator.org/mantis/view.php?id=6845
* Add initial test for checking that specifying a parameter in LSL ↵Justin Clark-Casey (justincc)2013-11-091-0/+64
| | | | | | state_entry() generates a syntax error. Same for other events to follow at a later date.
* If the LSL state_entry() event definition contains any parameters, then ↵Justin Clark-Casey (justincc)2013-11-024-7471/+7692
| | | | | | | | generate syntax error as seen on the LL grid This is done through the parser and so generates the same syntax error message if any parameters are wrongly specified for this event. We were already enforcing event names in the parser. This is only for state_entry so far as an initial test of the approach - appears to work correctly.
* Bump OPenSimulator version and assembly versions up to 0.8.0 DevJustin Clark-Casey (justincc)2013-10-041-1/+1
|
* Fix problem with modInvoke defined integer constants being build intoRobert Adams2013-08-021-1/+1
| | | | | | scripts as boxed integers rather than proper reference to a new LSLInteger. This fixes an exception when using a registered integer constant in a script.
* Make C# scripts return correct error line and column numbers instead of ↵Justin Clark-Casey (justincc)2013-03-131-3/+8
| | | | | | | failing because they have no linemap. Adapted fix from http://opensimulator.org/mantis/view.php?id=6571 Thanks Nickel Briand
* Deleted all AssemblyFileVersion directivesDiva Canto2013-02-191-1/+1
|
* Bump version and assembly version numbers from 0.7.5 to 0.7.6Justin Clark-Casey (justincc)2013-02-051-1/+1
| | | | | | | | This is mostly Bluewall's work but I am also bumping the general version number OpenSimulator 0.7.5 remains in the release candidate stage. I'm doing this because master is significantly adding things that will not be in 0.7.5 This update should not cause issues with existing external binary DLLs because our DLLs do not have strong names and so the exact version match requirement is not in force.
* Fix issue where lsl -> c# generation in co-operative termination mode did ↵Justin Clark-Casey (justincc)2013-01-301-9/+21
| | | | | | | not correctly handle single statement versions of for, while and do-while loops. Add regression tests to validate the fix. This problem will not affect the default abort termination mode.
* Remove unnecessary System.Linq reference from Compiler.csJustin Clark-Casey (justincc)2013-01-241-1/+0
| | | | Hopefully will fix windows build via compile.bat
* If ScriptStopStrategy hasn't been set to co-op in [XEngine] config, then ↵Justin Clark-Casey (justincc)2013-01-231-12/+18
| | | | | | | | | continue to generate C# that is functionality identical to historical generation This is to eliminate disruption until co-op termination has been well-tested. In non co-op mode, XEngine will continue to load DLLs of the existing Script class and the new XEngineScript class. Moving to co-op mode still requires existing script DLL deletion to force recompilation, either manually or by setting DeleteScriptsOnStartup = true for one run. This change also means that scripts which fail to initialize do not still show up as running scripts.
* Fix bug in generating termination checks in compound statement for loop.Justin Clark-Casey (justincc)2013-01-221-1/+1
| | | | Add regression test for this case.
* Implement non-wait co-operative termination of scripts for XEngine in ↵Justin Clark-Casey (justincc)2013-01-172-65/+134
| | | | | | | | | | | | | addition to termination on wait. This involves inserting opensim_reserved_CheckForCoopTermination() calls in lsl -> c# translation at any place where the script could be in a loop with no wait calls. These places are for, while, do-while, label, user function call and manual event function call. Call goes through to an XEngineScriptBase which extends ScriptBase. IEngine is extended to supply necessary engine-specific parent class references and constructor parameters to Compiler. Unfortunately, since XEngineScriptBase has to be passed WaitHandle in its constructor, older compiled scripts will fail to load with an error on the OpenSim console. Such scripts will need to be recompiled, either by removing all *.dll files from the bin/ScriptEngines/<region-id> or by setting DeleteScriptsOnStartup = true in [XEngine] for one run. Automatic recompilation may be implemented in a later commit. This feature should not yet be used, default remains termination with Thread.Abort() which will work as normal once scripts are recompiled.
* Consistenly make NUnit test cases inherit from OpenSimTestCase which ↵Justin Clark-Casey (justincc)2012-11-242-2/+2
| | | | automatically turns off any logging enabled between tests
* Added AssemblyInfos to every dll in the OpenSim.Region namespace.Diva Canto2012-11-141-0/+33
|
* Add a reference to OpenMetaverseType.dll to compiled script assemblies.Melanie2012-08-181-0/+2
|
* Adds support to ScriptModuleComms for region modules to exportMic Bowman2012-07-311-2/+37
| | | | constants to the script engine.
* Where possible, use the system Encoding.ASCII and Encoding.UTF8 rather than ↵Justin Clark-Casey (justincc)2012-07-111-5/+3
| | | | | | | constructing fresh copies. The encodings are thread-safe and already used in such a manner in other places. This isn't done where Byte Order Mark output is suppressed, since Encoding.UTF8 is constructed to output the BOM.
* Revert "Bind ~ and ! operators in LSL tighter in order to resolve issues in ↵Justin Clark-Casey (justincc)2012-06-111-3956/+3978
| | | | | | | | LSL where these aren't evaluated propertly." This reverts commit a8a9d13dc07bc9e23ebf439cbea5ece6ae002315. Accidentally committed, this patch might not be the correct approach.
* Bind ~ and ! operators in LSL tighter in order to resolve issues in LSL ↵Justin Clark-Casey (justincc)2012-06-091-3978/+3956
| | | | | | where these aren't evaluated propertly. Addresses http://opensimulator.org/mantis/view.php?id=3268
* Protect the scriptmodulecomms interface.Mic Bowman2012-03-151-1/+4
|
* Adds a new script command 'modInvoke' to invoke registered functionsMic Bowman2012-03-152-3/+30
| | | | | | | | | from region modules. The LSL translator is extended to generate the modInvoke format of commands for directly inlined function calls. A region module can register a function Test() with the name "Test". LSL code can call that function as "Test()". The compiler will translate that invocation into modInvoke("Test", ...)
* Fix TestSyntaxError() and TestSyntaxErrorDeclaringVariableInForLoop()Justin Clark-Casey (justincc)2012-03-061-8/+14
| | | | | | | They were all failing assertions but the exceptions these threw were caught as expected Exceptions. I don't think we can easily distinguish these from the Exceptions that we're expecting. So for now we'll do some messy manually checking with boolean setting instead. This patch also corrects the assertions themselves.
* Get all test methods in OpenSim.Region.ScriptEngine.Tests.dll to report that ↵Justin Clark-Casey (justincc)2012-03-062-1/+101
| | | | they're running
* Fix off by one error in script error reporting.Justin Clark-Casey (justincc)2012-03-061-1/+1
|
* Add a regression test to compile and start a script. Remove ↵Justin Clark-Casey (justincc)2012-02-072-3/+13
| | | | | | | | Path.GetDirectoryName when getting assembly loading path in Compiler.CompileFromDotNetText(). The Path.GetDirectoryName call in Compiler.CompileFromDotNetText is unnecessary since AppDomain.CurrentDomain.BaseDirectory is always a directory. Later path concatenation is already done by Path.Combine() which handles any trailing slash. Removing Path.GetDirectoryName() will not affect the runtime but allows NUnit to work since it doesn't add a trailing slash to AppDomain.CurrentDomain.BaseDirectory.
* Optionally, don't delete previously compiled scripts on startupOren Hurvitz2011-06-241-5/+14
|
* Add configurable path to script engine assembliesBlueWall2010-09-261-2/+3
| | | | | | | | | Adding ability to place script engine assemblies outside the codebase directories. Uses new [XEngine] option: ScriptEnginesPath = "path_to_assemblies" Signed-off-by: Melanie <melanie@t-data.com>
* Comment and remove JScript support. Mono 2.7Dev and 2.8 no longer include theMelanie2010-06-011-19/+19
| | | | needed libraries
* Compiler.cs contained method GetCompilerOutput which, apparently,unknown2010-04-281-4/+7
| | | | | | | was not used, but exactly the same path was calculated inline. This patch does some minor refactoring by replacing inline path calculation with GetCompilerOutput. This doesn't actually affect anything, just minor prettifying of the code
* FINALLY! Script compile errors now appear in the script error pane,Melanie2009-12-223-4/+4
| | | | not in a funky debug window.