Граф коммитов

1570 Коммитов

Автор SHA1 Сообщение Дата
igor%mir2.org 9c694e01db Make EvaluatorException(String) public for compatibility 2004-06-15 04:42:59 +00:00
igor%mir2.org 7b30a5de99 Fixing regression after previous commit for bug 245882: when used as top scope ImporterTopLevel should not define constructor property not to hide Object.prototype.constructor. 2004-06-09 17:01:01 +00:00
igor%mir2.org a8ca02b455 1. IdFunction.methodId is no longer public as some old Java compilers have troubles with it and accessor method has to be used instead.
2. IdFunction constructor now takes scope argument as well to prevent initialization bugs.
2004-06-09 12:54:04 +00:00
igor%mir2.org 89f5fdbbf7 The last commit made Rhino uncompilable! Fixing that. 2004-06-09 08:25:59 +00:00
igor%mir2.org 7bc79c031f Implementing bug 245882: now ImporterTopLevel can be constructed from JavaScript using JavaImporter to allow to have class and package collections without namespace polluting. 2004-06-09 07:36:31 +00:00
igor%mir2.org 49246d9273 Work on bug 245882: check that scope is not this when setting scope chain
to prevent scope chain loops.
2004-06-08 23:30:30 +00:00
igor%mir2.org bdfcefdff8 Default implemetation of toSource now lives in ScriptRuntime to allow its
reuse in othr objects.
2004-06-08 23:28:32 +00:00
igor%mir2.org e565588063 Yet another change in IdFunction: now its constructor takes arity argument
which removes the need to have separated methodArity in IdFunctionMaster
intertface. The method, however, has to be preseved in IdScriptable since it
is used to find which arity should be used during IdFunction construction.
2004-06-08 22:25:57 +00:00
igor%mir2.org 7be4658c39 Using IdFunction in place of JIFunction in NativeJavaTopPackage 2004-06-08 15:29:34 +00:00
igor%mir2.org 4ab02a8202 Changin IdFunction/IdFunctionMaster iteraction:
1. execMethod and methodArity in IdFunctionMaster do not receive methodId explicitly but rather through the IdFunction instance. To ensure fastest access to method id it is made pubic final field.

2. IdFunction allows to associate an internal tag with itself that allows not to worry about id clashes and simply check for object tag before doing method dispatch.
2004-06-08 14:23:35 +00:00
igor%mir2.org 9409fd1750 JIFunction was wrong idea at the end: it is better to stick with IdFunction and teach it missed functionality. The patch changes JavaAdapter to use IdFunction for its constructor call. 2004-06-08 12:38:20 +00:00
igor%mir2.org 87e6a1e09c API to set global SecurityController is moved to SecurityController not to clatter Context. 2004-06-08 11:09:40 +00:00
igor%mir2.org f3d3d1d14a Work on bug 244492: RhinoException is the new common base class for all exceptions. 2004-06-07 16:40:28 +00:00
igor%mir2.org 78729bc8b9 Switch to using Context.javaToJS instead of Context.toObject 2004-06-07 10:35:22 +00:00
igor%mir2.org 8404a66bdf setGlobalSecurityController should be static 2004-06-07 10:34:22 +00:00
igor%mir2.org a58e08501c Introduction of ContextAction interface as a safe alternative for Context.enter/Context.exit. All usages of Context.enter/Context.exit in Rhino are replaced by
Context.call(new ContextAction() {
	public Object run(Context cx) { ... }
});
or similar alternatives.

It prevents bugs with missed Context.exit and provides room for optimization of Context association with current thread and simplify implementation of safe environment for execution of untrusted applets and scripts.

In addition, Rhino now supports global SecurityController that take precedence over any per/Context controllers so the application can setup the controller once and for all.
2004-06-06 15:33:59 +00:00
igor%mir2.org 08117caf7c ContextFactory is a new API class 2004-06-06 09:28:18 +00:00
igor%mir2.org 60c0074729 added ContextFactory which is used to create Context instances in JavaAdapter when there is no Context associated with the current thread. 2004-06-04 17:54:42 +00:00
igor%mir2.org ca73e6aad1 Better JavaDoc comments for FEATURE_ constants 2004-06-04 17:51:27 +00:00
igor%mir2.org 46aea95d99 Allow to disable special treatment of __proto__ and __parent__ via overriding Context.hasFeature(). 2004-06-04 14:57:31 +00:00
igor%mir2.org 29355807c9 Use consistent naming for property manipulation functions in ScriptRuntime and drop no longer used scope argument for ScriptRuntime.setProp that acts on strings. 2004-06-04 06:58:03 +00:00
igor%mir2.org 5a88756821 Code to create references to manipulate with __proto__ and __parent__ is moved to ScriptRuntime.specialReference not to expose too much implementation details 2004-06-02 14:56:25 +00:00
igor%mir2.org a5438d7003 Changing Refrence.set(Object) to return Object to return the real stored value. 2004-06-02 11:33:09 +00:00
igor%mir2.org 4db86ff03e Pass __proto__ and __parent__ special properties to code generation as strings to allow to support application-specific special properties without altering code generation. 2004-06-02 09:13:12 +00:00
igor%mir2.org 2c7e977b7e Allow Rhino embeddings to support function as left-hand-side extension via overriding BaseFunction.specialCall(). 2004-06-01 16:04:18 +00:00
igor%mir2.org ef83ead18b Making invalid left hand of assignment runtime reference error instead of syntax error as dictated by ECMAScript. Now interpreter/class compiler generates code that calls ScriptRuntime.genericReference() that in turn throws the error. 2004-05-31 15:49:19 +00:00
igor%mir2.org 2361dfc4fe Work on bug 243057:
Introduction of support for calling function in reference context so with native functions code like f(args) = something or x.y(args)++ would be allowed.

The changes added necessary changes to parser and code generation but at runtime currently any such usage would throw an exception.
2004-05-31 14:51:20 +00:00
igor%mir2.org a3039484fe For prefix and postfix ++/-- use mask flags instead of enumeration to denote postfix/prefix and ++/-- operation. 2004-05-31 13:03:16 +00:00
igor%mir2.org 991ba5a998 Optimize ++name and --name similarly to name++ and name-- via special runtime support 2004-05-31 12:09:39 +00:00
igor%mir2.org dbadb64388 Optimizing ++x.y and --x.y in the same way as x.y++ and x.y-- via special runtime support 2004-05-31 08:18:38 +00:00
igor%mir2.org 047a15067a Introduction of generic Reference class to support latter constructions like f(args) = y and f(args)++. For now it is used to implement __proto__ and __parent__ special properties so x.__proto__++ now works 2004-05-31 07:18:52 +00:00
igor%mir2.org 067167b599 ++x[y] is optimized in the same way as x[y]++ via special runtime support 2004-05-30 15:54:21 +00:00
igor%mir2.org b79f99d123 Using negative nimbers for interpreter-specific tokens to allow for 256 bytecodes without using 0xFF & conversion 2004-05-30 14:21:07 +00:00
igor%mir2.org 0b398922b2 Added JavaDocs for Kit.initCauseOrIgnore 2004-05-29 09:37:48 +00:00
igor%mir2.org bf11211950 Make code to call Throwable.initCause via reflection previously located in WrappedException publically available in Kit.java 2004-05-29 08:55:41 +00:00
igor%mir2.org 13742bf7e3 Follow conventinal code practics of throwing IllegalArgumentException, IllegalStateException directly instead of using additional helper methods for it. 2004-05-29 08:54:24 +00:00
igor%mir2.org b32204397b Patch from Merten Schumman <Merten.Schumman@asg.com> to add Main.mainEmbedded(String) which is a version of Main.main without System.in/err/out redirection. It simplifies life for embeddings. 2004-05-28 14:19:11 +00:00
igor%mir2.org 745d21a64a Final implementation of GUI/debug implementation internals separation. Now the newly introduced Dim.java (Dim: Debug IMplementation) depends only on GuiCallback and contains all iteractions with Rhino. 2004-05-27 11:26:59 +00:00
igor%mir2.org 376d1c704f exitAction is moved to DebugGui 2004-05-27 10:34:44 +00:00
igor%mir2.org a33c5804bd Prepare to remove dependancy of core debugger implementation on GUI: introduction of GuiCallback interface that DebugGui implements. 2004-05-27 10:21:24 +00:00
igor%mir2.org 8ebd78d480 Work on 244492: JavaScriptException extends RuntimeException 2004-05-26 11:54:10 +00:00
igor%mir2.org 2859645f27 Make sure that Context.getSourcePositionFromStack never returns negative numbers and uses 0 to indicate absence of line information. It accounts for differences between JVMs when dealing with incomplete debug information. 2004-05-26 11:03:03 +00:00
igor%mir2.org d5073b98f0 In JavaScriptException constructor do not call ScriptableObjec.toString(value) since it may potentially trigger script execution for objects defining toString method which in turn may throw exceptions.
Instead for Scriptable arguments prints their [Object className] form which is provided by the new ScriptRuntime.defaultObjectToString(Scriptable) method.
2004-05-25 15:39:28 +00:00
igor%mir2.org 5951c62a93 Added JavaDoc link to a better way of wrapping exceptions then using WrappedException constructor 2004-05-24 10:11:23 +00:00
igor%mir2.org 1b43332683 Restoring public constructor for WrappedException for compatibility with Batik. 2004-05-24 07:53:06 +00:00
igor%mir2.org 34ab13be2a Change Arguments.getIds to include argument indexes when getAll is true. It allows not to have a tailored getIds in the debugger. 2004-05-23 17:34:44 +00:00
igor%mir2.org 6e88856ae7 Fixing JavaDoc comments 2004-05-23 17:32:32 +00:00
igor%mir2.org 72e2855e0d 1. Reorganize debugger to move all code that interacts with the engine into Main.java while all GUI logic now presents in DebugGui
2. Move downloaded files for swing tree table into downloaded directory and adjust build files accordingly.
2004-05-23 16:15:09 +00:00
igor%mir2.org 52e39ba59a Make sure that for Rhino-generated exceptions Throwable.getMessage() contains script file and line information. 2004-05-23 14:32:07 +00:00
igor%mir2.org 35bdebcd32 Make EcmaError to follow the same pattern as JavaScriptException
and EvaluatorException for getMessage() methods: it provides error message
with script source/line information.
2004-05-23 09:50:20 +00:00