Commit Graph

1159 Commits

Author SHA1 Message Date
jband%netscape.com
f11a8d5735 add JS based test for nsISupportsPrimitives. Run using 'xpcshell xpctest_primitive.js' 1999-08-06 09:43:45 +00:00
norris%netscape.com
d055865e6d Fix problem found by Andrew Wason <aw@softcom.com>:
Subject:
        reflection and illegal package access
   Date:
        Wed, 04 Aug 1999 21:56:20 -0400
   From:
        Andrew Wason <aw@softcom.com>
     To:
        norris@netscape.com (Norris Boyd)
    CC:
        Howard Lin <howard@softcom.com>




If you run Rhino under JDK1.2 with a security manager:

java -Djava.security.manager=java.lang.SecurityManager
org.mozilla.javascript.tools.shell.Main

Then reflection fails for objects that are in a restricted access package
(e.g. sun.*).  Rhino is reflecting based on the dynamic type of the object
instead of the declared static return type.

In this example, createImage is declared to return java.awt.Image, but it
returns sun.awt.image.OffScreenImage.  Attempting to reflect this class
results in a java.security.AccessControlException for
java.lang.RuntimePermission accessClassInPackage.sun.awt.image.

Here is the script.  You will need to type it in because you won't be able
to load it from a file due to the security manager.

var f = new java.awt.Frame();
f.setVisible(true);
var i = f.createImage(10,10);
1999-08-05 16:49:20 +00:00
rogerl%netscape.com
cf8a6b5369 Fixed tests for back-reference case 1999-08-04 23:40:13 +00:00
rogerl%netscape.com
7c94044214 Fixed off by one error and expected output text. 1999-08-04 23:38:34 +00:00
norris%netscape.com
5528ba5cac Fix problem found by Andrew Wason <aw@softcom.com>:
Subject:
        null arguments
   Date:
        Wed, 04 Aug 1999 13:22:35 -0400
   From:
        Andrew Wason <aw@softcom.com>
     To:
        norris@netscape.com
    CC:
        Howard Lin <howard@softcom.com>




When I try to pass a null argument to an interface implemented in JS, I get:

js: Cannot convert null to an object.
js: uncaught JavaScript exception:
org.mozilla.javascript.EvaluatorException: Cannot convert null to an object.


var b = new Packages.javax.swing.border.Border() {
        getBorderInsets : function(c) {
                return new Insets(0,0,0,0);
        }
};
b.getBorderInsets(null);


Here is the stack trace where the exception is happening:

java.lang.reflect.InvocationTargetException:
org.mozilla.javascript.EvaluatorException: Cannot convert null to an object.
         at
org.mozilla.javascript.tools.ToolErrorReporter.runtimeError(ToolErrorReporte
r.java:106)
         at org.mozilla.javascript.Context.reportRuntimeError(Context.java:484)
         at org.mozilla.javascript.Context.reportRuntimeError(Context.java:500)
         at
org.mozilla.javascript.ScriptRuntime.toObject(ScriptRuntime.java:529)
         at org.mozilla.javascript.Context.toObject(Context.java:1107)
         at adapter0.getBorderInsets(<adapter>)
         at java.lang.reflect.Method.invoke(Native Method)
         at
org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java,
Compiled Code)
         at org.mozilla.javascript.ScriptRuntime.call(ScriptRuntime.java:1256)
         at org.mozilla.javascript.Interpreter.interpret(Interpreter.java,
Compiled Code)
         at
org.mozilla.javascript.InterpretedScript.call(InterpretedScript.java:49)
         at
org.mozilla.javascript.InterpretedScript.exec(InterpretedScript.java:37)
         at org.mozilla.javascript.Context.evaluateReader(Context.java:691)
         at
org.mozilla.javascript.tools.shell.Main.processSource(Main.java, Compiled Code)
         at org.mozilla.javascript.tools.shell.Main.main(Main.java:146)


Context.toObject does not allow wrapping nulls.
JavaAdapter.generateOverride should generate bytecode to check if an
argument is null and if it is not call Context.toObject.

I'll take a look at fixing this after the other JavaAdapter patches get
checked in so we don't get out of sync.

Andrew
--
Andrew Wason
SoftCom, Inc.
aw@softcom.com
1999-08-04 23:14:57 +00:00
rogerl%netscape.com
ea6a0fb276 The lastIndex property is defined to be an integer which we're allowed to
keep as 32 bits, so the tests for 33 bits were too demanding.
1999-08-04 22:27:31 +00:00
rogerl%netscape.com
3cc0227c64 Missing '\' before \n. Trailing '|' in expected output was not correct. 1999-08-04 22:26:07 +00:00
rogerl%netscape.com
2eefd9b161 Was using 'g' flag instead of 'm' and wasn't really testing the multiline
functionality (assuming I interpreted the intent correctly).
1999-08-04 22:24:57 +00:00
rogerl%netscape.com
6d59234a00 Added Linux/sparc component 1999-08-04 20:46:58 +00:00
norris%netscape.com
6588bd269b Fix bug 11077 "ScriptableObject.defineFunctionProperties() uses invalid signature check."
The check was actually okay, but the error message didn't state the error correctly.
1999-08-04 19:37:51 +00:00
norris%netscape.com
eb9dcf8b50 * Take advantage of the new semantics of Context.enter & exit to save codesize.
* Accept patch from Andrew Wason <aw@softcom.com>:

Subject:
        Re: partial interface problem
   Date:
        Wed, 04 Aug 1999 13:04:37 -0400
   From:
        Andrew Wason <aw@softcom.com>
     To:
        norris@netscape.com
    CC:
        Howard Lin <howard@softcom.com>




>I'm having a problem implementing a Java interface in JS where I don't
>implement all the methods, and one of the methods I don't define returns
>non-void.

I have a patch for this.  I generate bytecode in
JavaAdapter.generateReturnResult to check the return type on the stack from
JavaAdapter.callMethod.  If it is Undefined, return null.

I'm not positive this is the right way to fix this - maybe it should be
fixed closer to the source (e.g. prevent callMethod from returning
Undefined to begin with)

Andrew

--
Andrew Wason
SoftCom, Inc.
aw@softcom.com
1999-08-04 17:43:18 +00:00
norris%netscape.com
3b0d503649 Accept patch (with modifications) from Andrew Wason <aw@softcom.com>:
Subject:
        default JavaAdapter patch
   Date:
        Tue, 20 Jul 1999 15:35:01 -0400
   From:
        Andrew Wason <aw@softcom.com>
     To:
        norris@netscape.com
    CC:
        mccabe@netscape.com, rogerl@netscape.com




Attached is a patch to the patch I sent a while ago for the JavaAdapter stuff.

If a SecurityManager is installed, attempting to access the
"org.mozilla.javascript.JavaAdapter" system property can throw a
SecurityException.  This should not prevent the default JavaAdapter
implementation from being used.

Andrew
--
Andrew Wason
SoftCom, Inc.
aw@softcom.com
1999-08-04 16:56:18 +00:00
jband%netscape.com
a727000940 adding modifications to support enumeration of interfaces from Robert Ginda <rginda@ix.netcom.com>. Also extending nsIXPCScriptable to support a set of flags - the only one implemented now allows for indicating that the objects static properties shouyld not be enumerated 1999-08-04 06:22:27 +00:00
mccabe%netscape.com
a2cd4da365 Added missing ImporterTopLevel.java and ListenerCollection.java files to the source list.
Thanks to Andrew Wason <aw@softcom.com> for noticing this problem.
1999-08-04 02:50:47 +00:00
rogerl%netscape.com
02985bde28 Updated internal name of exec function to match new naming rules. 1999-08-03 22:41:57 +00:00
mccabe%netscape.com
86880f3be0 - Added OS_TARGET-switched definition of CLASSPATHSEP, to support building under Windows NT with GNU make. Thanks to Andew Wason <aw@softcom.com> for this fix.
- Removed outdated references to JSDEBUG_JAR.
1999-08-03 22:15:02 +00:00
norris%netscape.com
528ca6cbca Adding patch (with slight modifications for javadoc) from Andrew Wason <aw@softcom.com>:
Subject:
        Rhino reflection patch
   Date:
        Wed, 28 Jul 1999 18:14:52 -0400
   From:
        Andrew Wason <aw@softcom.com>
     To:
        norris@netscape.com
    CC:
        mccabe@netscape.com, rogerl@netscape.com, Howard Lin <howard@softcom.com>




When JavaAdapter generates an adapter class, it does not take into account
the types of method parameters when wrapping the generated methods arguments.

This means that if a non-public class implements a public interface the
non-public class type will be wrapped instead of the declared public
interface - and methods cannot be invoked via the wrapper.

I have attached sample code (reflect-demo.zip) which shows this.  The
JavaScript caller.js generates an adapter implementing the CallerInterface
interface.  CallerInterface has a method (doSomething) which takes an
argument of type pkg.Interface.  pkg.Target is a non-public class that
implements pkg.Interface.  If an instance of pkg.Target is passed to the
CallerInterface adapter doSomething method, an Error is thrown because
pkg.Target.doSomething is called (instead of pkg.Interface.doSomething) and
pkg.Target is not public.

I have attached a patch to Context.java, ScriptRuntime.java and
JavaAdapter.java.  I overloaded toObject in Context and ScriptRuntime to
take a 3rd argument which is the declared type of the object being
wrapped.  This is passed to NativeJavaObject.wrap so that it generates the
correct wrapper. I changed JavaAdapter.generateOverride to generate
bytecode calling Context.toObject passing the declared Class type of the
argument.

Context.java also includes my previously submitted patch for dealing with
SecurityExceptions and the JavaAdapter property (because this patch has not
been checked into CVS yet).

Andrew

--
Andrew Wason
SoftCom, Inc.
aw@softcom.com



   reflect-patch.txt

                Name:
                      reflect-patch.txt
                 Type:
                      Plain Text (text/plain)




   reflect-demo.zip

                   Name:
                         reflect-demo.zip
                    Type:
                         Zip Compressed Data (application/x-zip-compressed)
                Encoding:
                         base64
1999-08-03 21:24:39 +00:00
norris%netscape.com
88aa514a1b Remove unused clone() method. 1999-08-03 20:40:25 +00:00
rogerl%netscape.com
ed8e8dbacf Fixed test cases for non-global regexp. case - the result array should be
exactly the same as that returned by simply 'exec'ing the regexp against
the input string.
1999-08-03 00:51:23 +00:00
mccabe%netscape.com
786d00b0e0 Further fix to properly include classes from the org.mozilla.classfile package in the generated .jar file.
Thanks to Andrew Wason <aw@softcom.com> for his continued work on the Rhino make system.
1999-08-03 00:25:30 +00:00
mccabe%netscape.com
7967e283d1 Add the classes defined in org/mozilla/classfile to js.jar. 1999-08-02 09:01:19 +00:00
jband%netscape.com
6a09fe909e fix for bug 10998 pointed out by rginda@ix.netcom.com. This was really just a refcounting bug 1999-07-31 18:53:40 +00:00
briano%netscape.com
7508eec834 OpenVMS-specific addition to force a POSIX build of jscpucfg. 1999-07-31 00:38:25 +00:00
jband%netscape.com
eab48df1ca 1) fix the xpconnect factories to not use static objects.
2) add a test that acts as a sample for doing oberloaded methods on xpconnect wraped natives.
3) add a NOT_IMPLEMENTED method to wrapped native for getting the prototype JS object.
4) Set the global object of the JSContext as the wrapped native JSObject's parent when creating this JSObject. This makes JS code compiled against the wrapper actuall work!
5) fix the refcounting on factories in the tests/components module
1999-07-31 00:26:35 +00:00
jband%netscape.com
009da53086 copy in most of the better error reporter from js.c 1999-07-31 00:19:50 +00:00
briano%netscape.com
5ca4aa0b87 Trivial elimination of some pointless macros as discussed in bug 8568. Approved by leaf@mozilla.org. 1999-07-29 01:18:12 +00:00
brendan%mozilla.org
ed627432e2 Fix warnings reported at http://tinderbox.mozilla.org/SeaMonkey/warnings.html, mostly unsigned/signed bothers. 1999-07-28 06:48:44 +00:00
briano%netscape.com
007ea62765 Cleaned it up and changed the name of libreg.{a,so} to libmozreg.{a,so} to fix the conflict reported in bug 8568. 1999-07-27 23:27:44 +00:00
waldemar%netscape.com
a63b667215 Updated for recent semantic engine changes. Changed the meaning of (?= to match Perl. 1999-07-27 01:05:59 +00:00
waldemar%netscape.com
229e628f04 Updated for recent semantic engine changes 1999-07-27 01:05:27 +00:00
waldemar%netscape.com
c7ff05cef6 Implemented partial order for operator precedences. Removed global array functions and reformatted 'length' and 'empty' functions. 1999-07-27 01:03:19 +00:00
waldemar%netscape.com
e59b7c66d6 Implemented partial order for operator precedences. Removed global array functions and reformatted 'length' and 'empty' functions. Made lexer-actions into global function calls. 1999-07-27 01:02:21 +00:00
waldemar%netscape.com
ae381708a6 Made lexer-actions into global function calls 1999-07-27 01:00:05 +00:00
waldemar%netscape.com
a9ba1329e2 Added partial order library 1999-07-27 00:58:44 +00:00
waldemar%netscape.com
b32801e030 Replaced :unit by :empty-10 1999-07-27 00:58:01 +00:00
waldemar%netscape.com
2de968d05f First Checked In. 1999-07-27 00:57:03 +00:00
mccabe%netscape.com
1057414fef Fix code to invoke Wrapper interfaces using INVOKEINTERFACE rather than INVOKEVIRTUAL.
Thanks go to Andrew Wason <aw@softcom.com> for finding this problem and providing the patch:



If we implement a Java interface in JavaScript, and a method in that interface returns a Java object, we get a java.lang.IncompatibleClassChangeError: org/mozilla/javascript/Wrapper  exception.

We have attached a sample JavaScript file which duplicates the error.

The problem is JavaAdapter is generating an INVOKEVIRTUAL bytecode to call Wrapper.unwrap, but Wrapper is an interface and so INVOKEINTERFACE should be used instead.  As a result of this change, the IFEQ bytecode generated needs to jump more bytes.  We have attached a patch that fixes the problem.

Andrew
--
Andrew Wason
SoftCom, Inc.
aw@softcom.com
1999-07-26 10:45:38 +00:00
mccabe%netscape.com
db16cf6ac4 Added NPL. 1999-07-26 10:41:46 +00:00
mccabe%netscape.com
9306d81fba Comment fixes.
- normalized initial MPL comment to match the format of others in the tree, including an initial -*- Mode line.

- removed RCS $log$, etc. comments.  We use CVS, and they just make spurious changes...
1999-07-26 10:40:53 +00:00
brendan%mozilla.org
dd68d93bca Eliminate warning about unsigned/signed == comparison. 1999-07-23 08:24:35 +00:00
brendan%mozilla.org
7c297899de Add new flag to js_DecompileValueGenerator calls. 1999-07-23 08:22:12 +00:00
brendan%mozilla.org
3f05c43fc5 Bugs, bugs bugs:
- js_DecompileValueGenerator had rusted due to bytecode/source-note changes,
  or maybe parts of it never worked right.  Anyway, it now does not induce a
  crashing underflow in the decompiler.  As part of this fix, it now takes a
  checkStack flag telling whether to look for the jsval v argument on the JS
  stack.  The calls from ImportProperty, js_SetProperty, and js_DeleteProperty
  pass in v a jsval for the property id, which should not be sought after on
  the stack (it might happen to be there due to o['p'] = 2, but we want to
  decompile o["p"], not "p").
- js_DecompileValueGenerator would load a generating pc even if the value v
  did not match the pc's corresponding stack item!  Oops.  This lead to less
  than idea diagnostics.
- js_DecompileValueGenerator was also not mapping JSOP_TRAP to the real op at
  a sufficiently early and univeral point in its control flow.
- Fix PopOff to assert and check for stack underflow in the decompiler, and
  beef up PushOff too (it asserted, but did not check).
- js_ReportIsNotFunction now avoids JS_InternString by indexing directly into
  cx->runtime->atomState.typeAtoms with the result of JS_TypeOfValue.
- Removed unnecessary local GC root reserved by non-zero trailing member of
  obj_eval's JSFunctionSpec initializer.
1999-07-23 08:01:54 +00:00
mccabe%netscape.com
5bfae9e201 Fix warnings flagged by the auto-warnings page http://tinderbox.mozilla.org/SeaMonkey/warnings.html . Thanks slamm. 1999-07-22 10:36:23 +00:00
mccabe%netscape.com
c253c535fe Changes to support building on Alpha NT.
Patches courtesy bob meader <bob@guiduck.com> who seems to be working fast and furious on this port.
1999-07-22 03:58:51 +00:00
cbegle%netscape.com
9afec96e21 fixed a versioning problem with the tests. these should succeed now.
these files files have no impact on the mozilla build.
1999-07-21 19:20:02 +00:00
cbegle%netscape.com
990405ae6e *** empty log message *** 1999-07-21 18:02:34 +00:00
cbegle%netscape.com
227215f038 update shared functions file.
this is not part of the mozilla client build, and has no effect on its
bustedness.
1999-07-20 18:00:13 +00:00
cbegle%netscape.com
799b238b4e adding file for running tests in the driver. 1999-07-20 17:49:01 +00:00
Jerry.Kirk%Nexwarecorp.com
78e21283f2 Defined DASH_R for Neutrino 1999-07-19 21:18:19 +00:00
jband%netscape.com
2552269283 enabling xpconnect for Linux ARM because we now have xptcall code for Linux ARM from Stefan Hanske <sh990154@mail.uni-greifswald.de> 1999-07-19 02:59:21 +00:00
cbegle%netscape.com
896723aca8 the js1.2 tests really need the version(120) called.
fix regression test for #7703.

This is not part of the mozilla build and has no effect on its bustedness.
1999-07-16 21:47:51 +00:00
jband%netscape.com
e1f567d081 adding forward declaration test 1999-07-16 20:38:16 +00:00
jband%netscape.com
0fc3066530 added files: mozilla/js/src/xpconnect/idl/xpctest2.idl 1999-07-16 20:35:58 +00:00
jband%netscape.com
fe0aea2102 adding new file for forward declaration test 1999-07-16 20:33:36 +00:00
jband%netscape.com
38990d5388 an inout of interface pointer test that illustrates that bug 9914 is not a bug 1999-07-16 04:29:49 +00:00
jband%netscape.com
8bd1437342 make the const things const so that strict compilers don't complain 1999-07-16 04:23:00 +00:00
norris%netscape.com
6563fb2291 Add new example. 1999-07-16 03:03:20 +00:00
cbegle%netscape.com
7f486608b0 Remove more recursive calls to startTest. hm..
This is not part of the mozilla build and has no effect on its bustedness.
1999-07-16 01:39:07 +00:00
cbegle%netscape.com
639a7136c4 Add a regression test case for #7224.
This is not part of the mozilla build and has no effect on build bustage.
1999-07-16 01:30:24 +00:00
cbegle%netscape.com
2110f64332 Remove a recursive call to startTest.
This file is not part of the client build.
1999-07-16 01:25:50 +00:00
mccabe%netscape.com
b32ef2d2a0 Fix to 9523. In the javascript Date implementation, check for unsupplied date argument to new Date(year, month, date) rather than clamping it to 1 if < 1. Previously we ignored negative values for the date argument, rather than subtracting from the resulting date, as per the ECMA-262 spec. for the JavaScript language.
Thanks go to Martin Honnen <martin.honnen@sector27.de> for spotting this difference from the spec.
1999-07-16 00:50:11 +00:00
mccabe%netscape.com
91f1c10d79 Fix to 9523.
Add an #if defined(__arm) check to tell jsdtoa.c about the (somewhat bizzare) endian-ness of the ARM architecture.

Thanks go to Stefan Hanske <sh990154@mail.uni-greifswald.de> for this fix.
1999-07-16 00:45:13 +00:00
rogerl%netscape.com
1e234bee7e Fixed compile time errors + minor memory allocation problems. 1999-07-15 23:37:05 +00:00
cbegle%netscape.com
fd28e5b3c2 Add a regression test case for #7635.
This file is not part of the client build.
1999-07-15 22:28:12 +00:00
cbegle%netscape.com
2e2a2c8645 New tests for the JavaScript engine.
These tests are not built and are not part of the client build.
1999-07-15 20:27:40 +00:00
jband%netscape.com
50e430403c 1) added JSContextStack per thread service (with test).
2) rooted out all instances of JS_ReportErros and replaced with JS exception throwing.
3) added more exception message types.
4) Added service (also reflected into JS) for getting JS and native stack objects to be used in exceptions.
5) Fixed broken test.
6) updated TODO list.
1999-07-15 05:42:53 +00:00
mcafee%netscape.com
5083998c76 Fixing linux warning 1999-07-15 03:02:44 +00:00
jband%netscape.com
bbee6e597d added files: mozilla/js/src/xpconnect/src/xpcstack.cpp 1999-07-15 03:00:55 +00:00
jband%netscape.com
86f9361856 adding placeholder file - soon to be used 1999-07-15 02:59:43 +00:00
jband%netscape.com
c721652ae0 added files: mozilla/js/src/xpconnect/idl/xpcexception.idl 1999-07-15 02:50:47 +00:00
jband%netscape.com
d39d8a4018 adding file - soon to be used 1999-07-15 02:48:07 +00:00
brendan%mozilla.org
23eab7fbcf Warning abatement. 1999-07-15 02:46:00 +00:00
brendan%mozilla.org
7fa05e97d9 - Fix for..in bug where ECMA 12.6.3 steps 5 and 6 are reversed: the effect was
to define an unbound global variable used to enumerate an empty object, when
  the standard says no variable should be defined.
- Clean up minor nits, make comment style match prevailing, tighten up for..in
  element-indexing special case comments.
- Fix js_Invoke to take CONSTRUCT and INTERNAL flags arg instead of a construct
  boolean arg and the JSStackFrame internalCall mis-located boolean non-arg.
  Use these flags correctly in all calls (previous version failed to set the
  bogus frame.internalCall around js_Invoke calls from jsfun.c and jsstr.c).
1999-07-15 02:24:23 +00:00
cbegle%netscape.com
57c272ae37 add a regression test for bug #9802 1999-07-14 20:26:27 +00:00
cbegle%netscape.com
7864b1fab8 correct the naming of these tests. negative tests have an -n.js filename
extension.
1999-07-14 18:12:11 +00:00
cbegle%netscape.com
1d5a125e45 allow command line option to specify the full path to the js executable. 1999-07-14 18:11:22 +00:00
jdunn%netscape.com
e85c4dfe66 Need to put libxpconnect.so in components for AIX 1999-07-14 16:36:16 +00:00
norris%netscape.com
e07db97ba0 Report errors for incorrect usages of varargs forms. 1999-07-08 16:32:51 +00:00
norris%netscape.com
5212cf9694 Fix javadoc bug. 1999-07-08 00:37:12 +00:00
ramiro%netscape.com
bbed66360e Checkin another chunk of Alex Larsson's non-exported symbol reduction
patch.  All changes protected by  MOZ_STRIP_NOT_EXPORTED.
These particular changes set the NS_EXPORT declarations as needed by
the linker.
1999-07-07 09:02:21 +00:00
brendan%mozilla.org
3c47cbe1b2 Avoid overallocating JS stack for "%ip" and other multi-char format codes. 1999-07-07 08:18:42 +00:00
mccabe%netscape.com
00a2b5290f Define JS_HAVE_LONG_LONG for VMS on the Alpha.
Thanks to Colin Blake <colin@theblakes.com> for this patch.
1999-07-07 00:38:52 +00:00
mccabe%netscape.com
b6aed3e5d7 Fix to 9241 - Change types to unsigned to fix compile-time warnings.
Thanks go to kherron@sgum.mci.com for the patch.
1999-07-06 22:58:42 +00:00
sspitzer%netscape.com
ca20b32c35 fix warning 1999-07-06 22:40:54 +00:00
norris%netscape.com
4369cccbf6 Fix bug in ScriptableObject that make classes with jsGet_ but not jsFunction_ work improperly.
Also update Foo example to conform to new defineClass API.
1999-07-06 17:13:33 +00:00
jband%netscape.com
488ac73cde added files: mozilla/js/src/xpconnect/src/xpcthreadcontext.cpp 1999-07-05 19:42:55 +00:00
jband%netscape.com
935615bc82 adding new file to build projects 1999-07-05 19:42:32 +00:00
jband%netscape.com
acc9aa4f7f added files: mozilla/js/src/xpconnect/idl/nsIJSContextStack.idl 1999-07-05 19:29:09 +00:00
jband%netscape.com
65b75a8897 adding JSContextStack interface 1999-07-05 19:26:36 +00:00
jband%netscape.com
d0965e0a9d updating string example/test to include an example of [shared] 1999-07-03 00:59:56 +00:00
jband%netscape.com
40ffe9be8d adding a string getter tests as an example for bug 9227 1999-07-03 00:34:35 +00:00
briano%netscape.com
5b812bbb20 Minor IRIX-specific tweak to make 5.x happy. 1999-07-02 23:19:13 +00:00
jband%netscape.com
8c51bca47b fix mismatched bool type. Thanks to Glen Nakamura <glen.nakamura@usa.net> 1999-07-02 23:08:24 +00:00
ramiro%netscape.com
43295086e9 Part I of Alexander Larsson's (alex@signum.se) patch to reduce symbol bloat.
All these changes are safely ifdefed out for the time being.
There are also a few implementation
DEFINES cleanups.
1999-07-02 14:59:36 +00:00
dveditz%netscape.com
0eb6c820cf nakefile cleanups 1999-07-02 13:42:17 +00:00
jband%netscape.com
0c82b1f04e spaced out format string for readability 1999-07-02 02:41:15 +00:00
jband%netscape.com
460d62cc6b xpconnect now QIs the object to be wrapped before wrapping it 'just to be sure' 1999-07-02 02:17:37 +00:00
jband%netscape.com
367e8add5e change some instances of 'const char* foo' to 'const char foo[]' 1999-07-01 18:21:01 +00:00
brendan%mozilla.org
1eed515ae6 Rip out assign hack, simplify boolean value synthesis, minor cleanups. 1999-07-01 02:24:32 +00:00
jband%netscape.com
99fcffe580 1) make nsIXPConnect.h include only jspubtd.h instead of the whole of jsapi.h.
2) make the wrappedJS QI check for a match with chained wrappers before trying QI on the wrapped JS object.
3) add support for brendan's new JSArgumentFormatter callback to do auto js arg conversions - with test.
1999-06-30 06:01:36 +00:00
jband%netscape.com
4d8f787193 an nsISupports::GetIID() to nsCOMTypeInfo<nsISupports>::GetIID() change that scc missed 1999-06-30 03:17:30 +00:00
jband%netscape.com
a39bd6d9f6 Fixing lame bug in two Find implementations - thanks shaver. Removing commented out dead code 1999-06-29 21:37:09 +00:00
jband%netscape.com
a022bcbbcf doing my part for bug 8227 1999-06-29 21:34:50 +00:00
scc%netscape.com
f79508bc68 |nsISupports::GetIID()| --> |nsCOMTypeInfo<nsISupports>::GetIID()| 1999-06-29 21:01:31 +00:00
mcafee%netscape.com
c904fa8bfa BeOS changes. a=jband 1999-06-29 07:05:14 +00:00
mcafee%netscape.com
916a980efe BeOS changes. a=jband 1999-06-29 06:57:57 +00:00
mcafee%netscape.com
0457f7bdd5 BeOS changes. a=jband 1999-06-29 06:53:01 +00:00
mcafee%netscape.com
9107baba71 BeOS changes. a=jband 1999-06-29 06:51:25 +00:00
mcafee%netscape.com
f2d4af5b11 BeOS changes, a=jband. 1999-06-29 06:47:38 +00:00
mcafee%netscape.com
cb27a1049b BeOS changes. a=jband 1999-06-29 06:44:17 +00:00
mcafee%netscape.com
0890671c0d BeOS changes 1999-06-29 06:42:26 +00:00
mcafee%netscape.com
1a6cdf6b8f BeOS changes 1999-06-29 06:36:18 +00:00
mcafee%netscape.com
b62c5954a7 Changes for BeOS. r=jband 1999-06-29 06:23:40 +00:00
brendan%netscape.com
8a019b8da7 - Add (jsatomid) cast to GET_ATOM_INDEX to abate warnings.
- Fix js_GetAtom fallibility by returning &dummy on assert-botch "can't happen"
  index out of range case.
- js_InitAtomMap needn't bother nulling ale->next with tmp save
- js_InitAtomState explicit tail fusion for FROB via goto bad, and early memset
  (I know, JSRuntime is cleared already and it contains the atom state ... but
  jsatom.c doesn't know that).
- Clear all ATOM_ flags save ATOM_PINNED when creating a new atom.
- Cleanup xtra, ALIGNNUM, etc. useless variables, use JSVAL_ALIGN and JS_MAX.
1999-06-29 02:19:17 +00:00
brendan%netscape.com
fe9bf84815 Final part of 8042 fix: always initialize frame.internalCall. 1999-06-29 00:22:06 +00:00
brendan%netscape.com
e7941a0a33 Forgot externs before JS_PUBLIC_API calls for ArgumentFormatter functions. 1999-06-29 00:20:21 +00:00
brendan%netscape.com
314d395746 OK, final fix not to impute JS_ARGUMENT_FORMATTER_DEFINED from va_start (duh).
Despite my stupidity here, I must say that over-includers elsewhere of both
jspubtd.h and jsapi.h, and even jscntxt.h, with system headers intermixed, suck
a lot too.
1999-06-28 04:50:37 +00:00
brendan%netscape.com
33592bf521 Shoot me now. 1999-06-28 04:36:54 +00:00
brendan%netscape.com
bfb9739a08 *Clone* JSArgumentFormatter typedef from jspubtd.h to jsapi.h to cope with bad
includers who grab jspubtd.h first, then stdarg.h, then jsapi.h.  Suckage.
1999-06-28 04:04:58 +00:00
brendan%netscape.com
0476eb43d9 Move JSArgumentFormatter typedef from jspubtd.h to jsapi.h to cope with bad
includers who grab jspubtd.h first, then stdarg.h, then jsapi.h.
1999-06-28 03:52:16 +00:00
brendan%netscape.com
e3df4f3ab2 Added custom JS_{Convert,Push}Arguments{,VA} formatter function support for
use by XPConnect and other clients.
1999-06-28 03:13:21 +00:00
sspitzer%netscape.com
1b73b6e649 more anal tricks. 1999-06-26 05:01:40 +00:00
sspitzer%netscape.com
49b8290fcf being anal. 1999-06-26 04:59:48 +00:00
brendan%netscape.com
549950fc69 Remove gratuitous include of <string.h>. 1999-06-26 03:32:15 +00:00
brendan%netscape.com
54eafda12a - Rename js_CallFunctionValue to js_InternalCall to distinguish it from all
"external" calls compiled from scripts, which have stack budget depth slots
  under the return value slot for the call expression's generating pc.
- New internalCall packed boolean flag in JSStackFrame to distinguish callers
  of js_InternalCall so the generating pc isn't mistakenly stored depth slots
  below stack space allocated on-the-fly for internal call args/rval.
- Fixed bugzilla bug 8042, finally by storing the call expression's generating
  pc -- but only for external calls.
- Whitespace policing, gratuitous parenthesization reduction, etc.
1999-06-26 03:28:47 +00:00
brendan%netscape.com
0ae269e87b Eliminate assignment in condition. 1999-06-26 03:00:36 +00:00
briano%netscape.com
86248d81a4 Fix for the case where jscpucfg dies and leaves a zero-length jsautocfg.h. 1999-06-24 22:35:28 +00:00
rogerl%netscape.com
a8790683a9 Added tree deletion to regexp finalizer 1999-06-24 20:47:20 +00:00
Jerry.Kirk%Nexwarecorp.com
214abd1c03 - Add support for Neutrino platform 1999-06-24 20:21:26 +00:00
fur%netscape.com
e1ac50b525 Backing out the merge with SpiderMonkey140_BRANCH for LiveConnect.
Some OJI-related changes were made on the trunk that can't be easily
reconciled with the branch.
1999-06-24 05:56:16 +00:00
fur%netscape.com
05603647c8 Merge changes from SpiderMonkey140_BRANCH between
JS_STABLE_DROP_04261999 and
 JS_STABLE_DROP_06221999
1999-06-24 05:22:41 +00:00
briano%netscape.com
8365ed034e IRIX-specific fix to create jsmath.o properly. 1999-06-23 22:20:25 +00:00
fur%netscape.com
dbef917c04 Removing shaver/brendan fix for #8042 since it's apparently buggy 1999-06-23 19:39:08 +00:00
fur%netscape.com
51498f2fa6 Merge from SpiderMonkey140_BRANCH:
Incorporated changes from JS_STABLE_DROP_04261999 to JS_STABLE_DROP_06221999
1999-06-23 14:18:56 +00:00
jband%netscape.com
a51fe23392 1) fix for bug 7700 - use a JSClass without a call method for all wrappers that don't do nsIXPCScriptable so that JS doesn't think they're all functions.
2) breakout js ops into their own file so that the flattening project is less complicated
3) add a noisy object to the test components - this object prints addrefs, release, QIs, ctor, and dtor. This is useful for refcounting tests.
4) cleanup some component registration stuff.
1999-06-23 07:04:34 +00:00
jband%netscape.com
6d5b6565ad fix bustage 1999-06-22 20:57:57 +00:00
jband%netscape.com
fff555b722 added files: mozilla/js/src/xpconnect/src/xpcwrappednativejsops.cpp 1999-06-22 19:50:25 +00:00
jband%netscape.com
929f3e10b0 breaking out stuff into a new file - using placeholder now to get all makefiles and projects building right first 1999-06-22 19:45:56 +00:00
beard%netscape.com
48ce127df1 added ImporterTopLevel.java 1999-06-19 23:38:35 +00:00
norris%netscape.com
716b905e30 Add support for selectively filtering Java classes' visibility to JS 1999-06-18 21:35:35 +00:00
norris%netscape.com
562b4ecb1b Reduce need for a current context. 1999-06-18 21:32:18 +00:00
norris%netscape.com
75d18cd332 A bunch of changes, some experimental.
Support for jsGet_ and jsSet_ prefixes to methods for explicit getter
and setter definition.
Addition of "importClass" and "importPackage" top-level functions.
The beginnings of a history object accessible from the shell.
1999-06-18 17:37:20 +00:00
cbegle%netscape.com
d3e91bee1b Add regression test for http://bugzilla.mozilla.org/show_bug.cgi?id=7635.
Rename files for consistency.

These files are not part of the client.
1999-06-17 00:20:04 +00:00
cbegle%netscape.com
1a1cc46868 Add regression test for http://bugzilla.mozilla.org/show_bug.cgi?id=4088,
Date.parse.

Not built in the client.
1999-06-16 19:25:05 +00:00
jband%netscape.com
f482f9d4df updaing TODO list 1999-06-16 01:30:13 +00:00
jband%netscape.com
d5eb762653 fix for bug 8248. Not setting the VAL_IS_IFACE flag for purely out params when calling native from JS. All interfaces that return an interface (e.g. QueryInterface) were getting left with one extra ref. Yuck! 1999-06-16 01:29:49 +00:00
dp%netscape.com
2cfd8edb31 Using default autoregistration 1999-06-16 00:34:08 +00:00
rogerl%netscape.com
5f9a2314ee Fixed bug #7635. instanceof now starts the chain walk from the object
prototype.
1999-06-15 23:44:30 +00:00
cbegle%netscape.com
773de348f7 Fix errors in liveconnect tests per furman@netscape.com. Renaming files
to not have a "-n" filename, since they are no longer negative tests.
1999-06-15 20:03:30 +00:00
jband%netscape.com
847f7d87f9 removing an assert that is no longer appropriate 1999-06-15 04:46:18 +00:00
jband%netscape.com
df0f752009 fix for bug 7940. Notification in xpconnect of JSContext about to be destroyed was zeroing out information later used to remove gc root. This was keeping JS_RemoveRoot from being called for those objects. So, the JSRuntime was getting left with pointers to roots for stuff on JSContexts long since destroyed and for which memory had been recycled. The fix is to be *sure* to do all the proper cleanup in xpconnect upon notification that a JSContext is about to be destroyed. 1999-06-15 02:48:26 +00:00
rogerl%netscape.com
c52c6e4113 Changes to get traditional functions with args. working 1999-06-15 00:57:05 +00:00
cbegle%netscape.com
b338f85088 Fix error in test. Arrays should be sorted by the string value of their
members, even if they're numbers.
1999-06-14 23:39:14 +00:00
frankm%eng.sun.com
33b9d6533a Add "fast" make target, to compile only changed files. 1999-06-14 21:51:52 +00:00
jband%netscape.com
137f5a895e fix DOM native -> JSObject convert to not leak on failure and to fail fully rather than spuriously fall back and create an xpconnect wrapper 1999-06-14 21:23:46 +00:00
cbegle%netscape.com
cb992db4e8 Fix test case -- remove commas from the expected result. 1999-06-14 21:06:54 +00:00
jband%netscape.com
c2fa37e815 adding strlen replacement that brendan suggested to allow for passing (oneway) JSStrings with embedded NULLs. Also added comment to Makefile.in for Unixish x86 1999-06-14 20:35:26 +00:00
jband%netscape.com
4984bba80e changing JS_AddRoot calls to JS_AddNamedRoot calls to satisfy request in bug 8070 1999-06-13 19:19:44 +00:00
frankm%eng.sun.com
7c763a58f9 Revamp NativeJavaObject.coerceType and associated methods to make code
more maintainable, and to pass lc3/JSObject/ToChar-001.js.
1999-06-12 01:41:20 +00:00
rogerl%netscape.com
f25d7b5229 Mucking about with stuff. 1999-06-11 23:05:16 +00:00
jband%netscape.com
c1b2360bce fix for bug 8017. We were allowing JS null and void to get converted into C++ NULL for pointer types even when the target was declared as a C++ reference. This was bad. Now we check for this and fail with a nice explanatory message in the JS exception. 1999-06-11 21:59:56 +00:00
jband%netscape.com
58fa7ac41c fix for bug 7698. Have the prop state object call the right object when doing the JSENUMERATE_DESTROY and make sure that the object does not get gc'd first 1999-06-11 19:16:46 +00:00
jband%netscape.com
5e7127dd45 1) adding the fix for 7926 from brendan and sfraser (with cleanup from me).
2) added where I was not checking for JSVAL_NULL from brendan.
3) got rid of 'xpcom32' references.
4) added nsIEcho::ReturnInterface as a loopback for testing the above.
5) removed some redundant retval setting code.
1999-06-11 02:04:42 +00:00
frankm%eng.sun.com
a66a71b8d7 Fixes for LC3 regression tests, including:
- check static members of instances in JavaMembers.put

- do not unwrap Wrappers before calling NativeJavaMethod.findFunction
     or NativeJavaObject.coerceType; both methods may need extra information
     provided by the wrapper.

- separate Java signatures for resolving overloaded methods and script
     signatures for error messages, so we can distinguish primitive types
     from classes.

- separate Java signatures for resolving overloaded methods and script
     signatures for error messages, so we can distinguish primitive types
     from classes.

- prevent a NativeJavaClass from being treated as a wrapped instance of
     java.lang.Class

- correct bug which preferred the *less* specific of two classes in
     NativeJavaMethod.preferSignature

- add new LC3 conversion rules to  NativeJavaObject.coerceTypes.

- coerce JS numbers to Java numbers or chars only if the JS number is in
     range.
1999-06-11 01:24:40 +00:00
rogerl%netscape.com
18b3c93221 Function calling begun. 1999-06-11 00:21:26 +00:00
rogerl%netscape.com
4bf675b98a Added base to ScriptRuntime.numberToString, NativeNumber.toString()
Bug #7625
1999-06-10 01:54:28 +00:00
rogerl%netscape.com
5ceb7b04d6 New 1999-06-09 03:10:30 +00:00
rogerl%netscape.com
1a16eaebd5 tried adding some lexical scoping to the leftmost identifier 1999-06-09 03:10:09 +00:00
jband%netscape.com
2537d68a6f removing unused file 1999-06-08 21:03:35 +00:00
norris%netscape.com
c3423e873f Small reduction in code size. 1999-06-08 20:57:19 +00:00
cbegle%netscape.com
636b252693 Fix constructor test to match the constructors in DataTypeClass.java 1999-06-08 18:07:15 +00:00
cbegle%netscape.com
b137e4a079 Add constructor tests. 1999-06-08 18:06:28 +00:00
cbegle%netscape.com
aff9dd66fb Object getters should return the same object set in the object setters,
and not create a new object.
1999-06-08 16:27:43 +00:00
brendan%netscape.com
85b69beb44 - "varargs" counterpart to JS_ConvertArguments, JS_ConvertArgumentsVA.
- JS_PushArguments{,VA} and JS_PopArguments to convert a list of C/C++ values
  passed as actual arguments into an 'jsval *argv' on the JS stack.
- Clean up and robustify ConvertArgs test command in the js shell.
1999-06-08 02:15:57 +00:00
waldemar%netscape.com
692562586a Fixed several semantic errors. Added (?= and (?!. 1999-06-08 00:45:49 +00:00
waldemar%netscape.com
96af4f6e5c Added statement showing number of grammar states 1999-06-08 00:44:52 +00:00
briano%netscape.com
71fe6fb29a SunOS 4.x doesn't have libsocket either. 1999-06-08 00:15:02 +00:00
rogerl%netscape.com
4b314af77e Fixed bug #7703, typeof<var> wasn't referencing activation frame vars
correctly.
1999-06-07 22:29:41 +00:00
waldemar%netscape.com
aeca55ec75 Simplified grammar by using lookahead constraints. Fixed \dd bugs. Made all errors occur at pattern compile time. 1999-06-07 22:00:09 +00:00
waldemar%netscape.com
9fd6762147 Simplified grammar by using lookahead constraints. 1999-06-07 21:58:24 +00:00
waldemar%netscape.com
d2eb493880 Simplified grammar by using lookahead constraints. Removed requirement for an underscore before unit name. 1999-06-07 21:57:29 +00:00
norris%netscape.com
efa5849c1f Clean up formatting. 1999-06-07 18:14:15 +00:00
norris%netscape.com
b901db9067 Optimization: avoid allocating a Vector object for every LiveConnect call. 1999-06-07 18:13:15 +00:00
jband%netscape.com
ab56353b31 allow for mapping both directions between NULL and JSVAL_NULL for all pointer type objects (string, wstring, nsid, as well as interface pointers 1999-06-07 05:09:38 +00:00
mccabe%netscape.com
6c864cef7d Change the emacs /* Mode: */ comment for many .cpp files from C to C++. A .js file snuck in there too, but I like seeing my .js in c++-mode anyway... 1999-06-06 04:25:58 +00:00
mccabe%netscape.com
93bf7039b9 Patches courtesy Jeremy Lea <reg@shale.csir.co.za>
To wit:

Attached are a couple of small fixes for building in the js/ subdir.

These are for FreeBSD-CURRENT, and for building in a seperate OBJDIR.

The FreeBSD one is a quick and dirty.  The real fix is pobably just to
use OS_LDFLAGS as defined by configure...
1999-06-06 04:10:33 +00:00
beard%netscape.com
3b5126c019 added NativeJavaConstructor.java 1999-06-05 08:20:54 +00:00
frankm%eng.sun.com
19e7423849 Replace *.class with ScriptRuntime.*Class; added ScriptRuntime.ClassClass 1999-06-05 01:48:24 +00:00
briano%netscape.com
d30a760d9d Fix for SunOS 4.x. 1999-06-05 01:46:10 +00:00
jdunn%netscape.com
76a7c2d97b need to handle building in a separate directory from where the source is... 1999-06-04 23:40:02 +00:00
mccabe%netscape.com
d3889060d3 Backing out demo cvs checkin. 1999-06-04 22:27:50 +00:00
briano%netscape.com
8699ea0019 Handle the (Unix) platform-specific DLL naming conventions properly. 1999-06-04 22:17:30 +00:00
jdunn%netscape.com
429f64edbd This file can't be optimized on AIX and so just like the NSPR file (prdtoa.c)
we turn off optimizing while compiling.
1999-06-04 21:50:09 +00:00
norris%netscape.com
28b57410f7 Add benchmarks. 1999-06-04 18:44:17 +00:00
beard%netscape.com
849c2a7d1d added top-level "environment" associative array - which provides JavaScript access to Java System properties. 1999-06-04 18:06:25 +00:00
beard%netscape.com
64159943da First Checked In. 1999-06-04 18:03:06 +00:00
beard%netscape.com
2e3345c4e6 File Removed. 1999-06-04 17:43:35 +00:00
beard%netscape.com
5a9cfbbb74 added Environment.java 1999-06-04 17:43:17 +00:00
norris%netscape.com
dbbafc6b60 Subject:
Re: netscape.javascript.JSObject ?
        Date:
             Thu, 03 Jun 1999 17:52:42 -0700
       From:
             Frank Mitchell <frankm@eng.Sun.COM>
 Organization:
             Java Products Engineering
         To:
             Norris Boyd <norris@netscape.com>
  References:
             1 , 2 , 3 , 4 , 5 , 6 , 7 , 8




Norris Boyd wrote:
>
> Sorry--missed the checkin of a new file. It's there now.
>
> I'd also added a small change for the "inheritance" of JavaScript array methods.

Actually, I've already done that (and for String as well).  It still
fails some LC3 regression tests, though.

I'm including a tarfile that includes the previous changes and the new
ones.

Frank
1999-06-04 16:25:41 +00:00
norris%netscape.com
5513cb38fd Add NativeJavaConstructor.java 1999-06-04 16:06:14 +00:00