Commit Graph

1791 Commits

Author SHA1 Message Date
igor%mir2.org
4b3a0cd41a For VARARG methods wrap the result in the same way as for other methods: in this way VARARG method returning non-JS-type will get its results properly wrapped as LiveConnect object 2004-11-17 16:48:57 +00:00
igor%mir2.org
5ae3dc38e0 XML no longer implements Wrapper interface. Instead getXmlObject method
is added to access the implementation. In this way all functionality
of Java API in XmlObject is available to scripts if they need it.
2004-11-10 23:13:04 +00:00
igor%mir2.org
58aceb81d9 Implement specially NativeJavaObject.getDefaultValue for java.lang.Boolean to match the behavior of JS Boolean object. 2004-10-31 00:15:57 +00:00
igor%mir2.org
5e4041c8e1 Disabling invoker optimization by default: under jdk >= 1.4 and especially with 1.5 it does not bring noticeable benefits with typical usage while increasing loading time and memory consumption and introducing class loading issues. 2004-10-31 00:12:25 +00:00
igor%mir2.org
20d9c33ab6 Work for bug 261278: splitting STRICT_MODE into STRICT_VARS and STRICT_EVAL to allow for better compatibility in future if strictness would be exetended to other areas. 2004-10-28 14:13:05 +00:00
igor%mir2.org
7dc40416b6 Fixing bug 266418: making RegExp serializable 2004-10-28 11:31:38 +00:00
igor%mir2.org
993454366a Minimizing memory footprint by eliminating class fields:
1. IdScriptableObject.maxInstanceId is replaced by overridden getMaxInstanceId()

2. BaseFunction.argumentsProperty is replaced by storing when necessary explicit "arguments" property in ScriptableObject hashmap.

3. NativeFunction.(argNames|argCount|version) is replaced by code that reconstruct the necessary values from embedded in class file or InterpreterData (see bug 264637)
2004-10-25 15:44:24 +00:00
igor%mir2.org
5473ad4f8d Preparations for Rhino 1.6R1 RC3 2004-10-22 13:34:44 +00:00
igor%mir2.org
02b11dd425 Directory with external jars is renamed from jarlib to lib for consistency with other projects. 2004-10-22 12:36:36 +00:00
igor%mir2.org
0b2d78ab46 Fixing smalljar target implementation to include all the necessary classes and updating documentation about its usage. 2004-10-22 07:49:15 +00:00
igor%mir2.org
f6bd49caa2 Compatibility with Rhino+Continuation fork: in ScriptableObject.callMethod always use object as scope source even if the scope from function does not belong to its prototype chain. 2004-10-21 17:55:14 +00:00
igor%mir2.org
b7a9e90d94 Patch from Attila Szegedi <szegedia@freemail.hu> to adress bug 264637 :
Reducing InterpretedFunction footprint
2004-10-17 14:18:19 +00:00
igor%mir2.org
15518a5ed7 Fixing bug 263978: for compatibility with BSF usage IllegalArgumentException is not thrown on negative line numbers. 2004-10-16 00:37:05 +00:00
igor%mir2.org
83c22ac592 For compatibility wrap numbers always as Double instances. 2004-10-15 20:41:01 +00:00
igor%mir2.org
952dd72170 Fixing initialization bug: Continuation.initImplementation() can be called with null arg! 2004-10-15 20:38:21 +00:00
igor%mir2.org
343070e937 Compatibility with Rhino+Continuations fork: Continuation class is moved to continuations package. 2004-10-15 20:33:45 +00:00
igor%mir2.org
ab4159c06b Compatiblility with Rhno+Continuations fork: added Main.setSize(Dimension) 2004-10-15 20:06:22 +00:00
igor%mir2.org
326fb69d8a For compatibility with Rhino+Continuations fork Continuation is made public 2004-10-15 19:59:55 +00:00
igor%mir2.org
7a7538ee75 Compatibility change: allow to use Context.enter/exit when thread already has associated Context with factory. 2004-10-15 18:34:24 +00:00
igor%mir2.org
c12fda22c3 New public API Context.getDebuggableView to extract DebuggableScript implementation. 2004-10-15 18:27:38 +00:00
igor%mir2.org
011d77d870 Compatibility with Cocoon and its usage of Rhino debugger. 2004-10-14 09:15:19 +00:00
igor%mir2.org
0c713dd810 Added GeneratedClassLoader 2004-10-14 07:34:54 +00:00
igor%mir2.org
4edb63b66a Changing (XML|XMLList).(propertyIsEnumeratable|attribute|child) to confirm to the published ECMA 357 specification. 2004-10-14 07:34:13 +00:00
igor%mir2.org
907a84e3c8 I added ContextFactory.createClassLoader that is called from Context.createClassLoader to remove the need to subclass Context if a custom ClassLoader is required. 2004-10-14 07:31:00 +00:00
igor%mir2.org
fc7c9f0900 Fixing https://bugzilla.mozilla.org/show_bug.cgi?id=258844#c25 2004-10-12 13:58:52 +00:00
igor%mir2.org
30a166de64 Removal of autowrapping of XmlObject as XML as it prevents to use full API of XmlObject in JS. Use XML(jsWrapOfXmObject) to get XML corresponding to XmlObject. 2004-10-10 22:54:01 +00:00
igor%mir2.org
0b3a787456 Better information about continuation support 2004-10-10 22:51:10 +00:00
igor%mir2.org
83a78ee629 Work on bug 258844: Continuation by default 2004-10-09 22:07:04 +00:00
igor%mir2.org
f758947174 Implementing Wrapper interface in XML to unwrap to XmlObject and back 2004-10-08 21:04:41 +00:00
igor%mir2.org
a4fdafe750 Changing the license to NPL/GPL duo for consistency with the rest of the sources:
-------- Original Message --------
Subject: RE: www.mozilla.org/rhino: NPL license Messages_fr.properties?
Date: Fri, 8 Oct 2004 13:52:39 -0400
From: Aresteanu, Eugene <eugenea@avivasolutions.com>
To: 'Igor Bukanov' <igor@fastmail.fm>

	Hi Igor,
	Yes, I agree,
	Eugene Aresteanu


Do you agree to change the license as expressed in the license header
for the file:

mozilla/js/rhino/src/org/mozilla/javascript/resources/Messages_fr.properties

located at cvs.mozilla.org:/cvsroot to the following text:

#
# French JavaScript messages file.
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Aviva Inc. code, released March 5, 2004.
#
# The Initial Developer of the Original Code is Aviva Inc.
# Portions created by Aviva Inc. are Copyright (C) 2004 Aviva Inc.
# All Rights Reserved.
#
# Contributor(s):
# Eugene Aresteanu
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL.  If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.


The change shall apply only to CVS HEAD version of the file.
2004-10-08 21:02:47 +00:00
igor%mir2.org
331238d910 License change to NPL 1.1/GPL duo for consistency with the rest of Rhino:
-------- Original Message --------
Subject: Re: www.mozilla.org/rhino: Changing the license for Delegator
Date: Fri, 08 Oct 2004 16:08:01 +0100
From: Matthias Radestock <matthias@sorted.org>
To: Igor Bukanov <igor@fastmail.fm>
References: <41668055.2050404@fastmail.fm> <4166830A.3010900@sorted.org> <4166AD80.6070806@fastmail.fm>

Igor Bukanov wrote:

> Thanks, I would like to change the license header from the current:
>
> /* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset:
> 4 -*-
>  * The contents of this file are subject to the Mozilla Public License
>  * Version 1.1 (the "License"); you may not use this file except in
>  * compliance with the License. You may obtain a copy of the License at
>  * http://www.mozilla.org/MPL/
>  *
>  * Software distributed under the License is distributed on an "AS IS"
>  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
>  * License for the specific language governing rights and limitations
>  * under the License.
>  *
>  * The Original Code is Delegator.java, released Sep 27, 2000.
>  *
>  * The Initial Developer of the Original Code is Matthias Radestock.
>  * <matthias@sorted.org>. Portions created by Matthias Radestock are
>  * Copyright (C) 2000 Matthias Radestock. All Rights Reserved.
>  *
>  * Contributor(s):
>  *      Redfig Ltd (http://www.redfig.com)
>  *      LShift Ltd (http://www.lshift.net)
>  *
>  * Alternatively, the contents of this file may be used under the terms
>  * of the GNU Public License (the  "GPL License"), in which case the
>  * provisions of the GPL License are applicable instead of those
>  * above.  If you wish to allow use of your version of this file only
>  * under the terms of the GPL License and not to allow others to use
>  * your version of this file under the MPL, indicate your decision by
>  * deleting  the provisions above and replace  them with the notice and
>  * other provisions required by the GPL License.  If you do not delete
>  * the provisions above, a recipient may use your version of this file
>  * under either the MPL or the GPL License.
>  */
>
>
> to the following one:
>
>
> /* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset:
> 4 -*-
>  *
>  * The contents of this file are subject to the Netscape Public
>  * License Version 1.1 (the "License"); you may not use this file
>  * except in compliance with the License. You may obtain a copy of
>  * the License at http://www.mozilla.org/NPL/
>  *
>  * Software distributed under the License is distributed on an "AS
>  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
>  * implied. See the License for the specific language governing
>  * rights and limitations under the License.
>  *
>  * The Original Code is Delegator.java, released Sep 27, 2000.
>  *
>  * The Initial Developer of the Original Code is Matthias Radestock.
>  * <matthias@sorted.org>. Portions created by Matthias Radestock are
>  * Copyright (C) 2000 Matthias Radestock. All Rights Reserved.
>  *
>  * Contributor(s):
>  *
>  * Matthias Radestock, Redfig Ltd (http://www.redfig.com)
>  * Matthias Radestock, LShift Ltd (http://www.lshift.net)
>  *
>  * Alternatively, the contents of this file may be used under the
>  * terms of the GNU Public License (the "GPL"), in which case the
>  * provisions of the GPL are applicable instead of those above.
>  * If you wish to allow use of your version of this file only
>  * under the terms of the GPL and not to allow others to use your
>  * version of this file under the NPL, indicate your decision by
>  * deleting the provisions above and replace them with the notice
>  * and other provisions required by the GPL.  If you do not delete
>  * the provisions above, a recipient may use your version of this
>  * file under either the NPL or the GPL.
>  */
>
>
>
> Note that the new version replaces:
>
>  * Contributor(s):
>  *      Redfig Ltd (http://www.redfig.com)
>  *      LShift Ltd (http://www.lshift.net)
>
> by the following text:
>
>  * Contributor(s):
>  *
>  * Matthias Radestock, Redfig Ltd (http://www.redfig.com)
>  * Matthias Radestock, LShift Ltd (http://www.lshift.net)
>
> since Contributors section should contain at lease the name of the
> person contributing.
>
> If it is Ok, then I need your authorisation to perform such license
> change for the following files:
>
> mozilla/js/rhino/src/org/mozilla/javascript/Delegator.java
> mozilla/js/rhino/src/org/mozilla/javascript/.java
>
> located at the CVS repository at cvs.mozilla.org:/cvsroot
>
> The license change shall apply only to the CVS HEAD version of the files.
>

Igor,

that's all fine. Go ahead and make the changes.


Matthias.
2004-10-08 15:20:04 +00:00
igor%mir2.org
c99ef9d21c Yet another reference reorganization:
References now are represented by the pairs (ref, ref_target) where ref is Ref (former Reference) instance and ref_target is Scriptable to apply the reference for.

To return the pair from Reference creation function Context.scratchRefTarget is used to store the target part.

This change allowed to extend XMLName from Ref eliminating the need for XMLReference.
2004-10-03 23:55:04 +00:00
igor%mir2.org
438bd2230e Fixing bug 262687: patch from Kurt Huwig, bugzilla@huwig.de , to make the source compatible with JDK 1.5. 2004-10-03 11:23:07 +00:00
igor%mir2.org
6116e53140 Better error reporting for undefined access:
I changes just added toObject(Contetx cx, Object obj) to
toObjectOrNull(Contetx cx, Object obj) which returns null when obj is undefined
or null. It forces the caller to check to the return status but then much
better error report can be generated since the caller knows the operation that was called upon the undefined or null value.
2004-10-02 22:14:02 +00:00
igor%mir2.org
141e7d2365 Removal of scope argument of runtime functions to access|modify object members. The only reason for the argument was the need to call toObject to convert target object to Scriptable, but since now there is topCallScope available, that one can always be used instead. 2004-10-02 09:45:44 +00:00
igor%mir2.org
402ae75fef Change ScriptRuntime.get(Elem|Prop)FunctionAndThis to treat XML objects specially to follow ECMA 357, 11.2.2.1, CalMethod. This is done to minimize the overhead of method calls as otherwise someXmlObject.method() would first construct XMLList and apply () to it later.
To implement the function call redirection functionality XMLObject.getExtraMethodSource is added() to return an additional object to use as method source.
2004-10-01 22:07:12 +00:00
igor%mir2.org
2208dc8f95 RUnit Software AS as the single owner of copyrights for the following list of files present in Mozilla CVS as of 2004-10-01 15:10 UTC changes the license of the files to NPL/GPL. This is done for consistency with the rest of the source code in Rhino.
List of the affected files:

mozilla/js/rhino/src/org/mozilla/javascript/Callable.java
mozilla/js/rhino/src/org/mozilla/javascript/ClassCache.java
mozilla/js/rhino/src/org/mozilla/javascript/CompilerEnvirons.java
mozilla/js/rhino/src/org/mozilla/javascript/ContextAction.java
mozilla/js/rhino/src/org/mozilla/javascript/ContextFactory.java
mozilla/js/rhino/src/org/mozilla/javascript/Kit.java
mozilla/js/rhino/src/org/mozilla/javascript/Reference.java
mozilla/js/rhino/src/org/mozilla/javascript/SpecialRef.java
mozilla/js/rhino/toolsrc/org/mozilla/javascript/tools/debugger/GuiCallback.java
mozilla/js/rhino/toolsrc/org/mozilla/javascript/tools/debugger/test.js
mozilla/js/rhino/xmlimplsrc/org/mozilla/javascript/xmlimpl/XMLReference.java

Please contact igor@runitsoft.com if you have any questions about this.
2004-10-01 15:11:01 +00:00
igor%mir2.org
3aaa416d55 Fixing bug 262447: bad implementation of trying-hard-to-avoid-map-allocation idea in ScriptableObject.getPropertyIds 2004-10-01 14:59:45 +00:00
igor%mir2.org
59af2f367b More Reference clenups: Reference.delete now returns boolean to follow JS semantic clother and Reference implementation for __proto__|__parent__ is moved to a separated file SpecialRef. 2004-10-01 13:32:14 +00:00
igor%mir2.org
e048fa7512 Replacing calls to XMLLib to construct special name objects to represent qulified names, attributes and descendants by calls to object to get Reference based on name type. It allowed to implement proper namespace resolution in qulified name without forcing activation creation and simplified code.
In addition XMLName is no longer leaked to interpretation stack which would allow to remove unnecessary casts to XMLName in future.
2004-09-30 22:52:40 +00:00
igor%mir2.org
9f63611ce1 1. Reference cleanup:
Signatures in Reference are changed to include Context and reference-related methods in ScriptRuntime accept/return explicit Reference type instead of generic Object as code generation ensure proper type.

2. x..y use explicit reference instead of special descendants mark XMLName:

In this way less code is necessary to support x..y operations and support for .. in non-xml objects is possible.
2004-09-29 20:58:16 +00:00
igor%mir2.org
fa2d593b85 Transform name access to var access only if function does not require activation: previously the tests missed the check for .() that caused activation to be created. 2004-09-29 20:49:05 +00:00
igor%mir2.org
5421cfce46 Define var and arguments as PERMANENT properties as required by ECMA. 2004-09-29 19:04:47 +00:00
igor%mir2.org
dfa85f90dd 1. I fixed a recent regression that caused "arguments" array to be constructed before initialization of standard objects: Global.init() should be called in procesFiles as well.
2. I replaced a couple of anonymous classes implementing ContextAction by Use single IProxy class to shrink compiled code size.
2004-09-29 05:41:00 +00:00
igor%mir2.org
31962091d1 Store optimization level and language version in ShellContextFactory
so all Context instances created on other threads or from JavaAdapter
calls would have proper setup.
2004-09-28 21:58:01 +00:00
igor%mir2.org
1f3b183f24 1. Pass Context argument to XMLReference creation method to use it later
to check for strict mode.

2. Fix name lokup bug in XMLReference that caused in cases like
   foo.(@bar == 'something') to throw runtime exception if bar attribute
   does not exist in foo.
2004-09-28 21:56:33 +00:00
igor%mir2.org
835fe30439 I added methods to check for valid version and optimization levels that
Rhino embeddings can use to check the validity of data.
2004-09-28 21:52:19 +00:00
igor%mir2.org
e394b15872 NotAFuctionException is not deprecated for now 2004-09-28 07:20:27 +00:00
igor%mir2.org
8650308ed6 *** empty log message *** 2004-09-27 23:24:27 +00:00
igor%mir2.org
81746e1776 Use Context.emptyArgs, not null to denote null-arity method call for consistency. 2004-09-27 20:48:44 +00:00