beard%netscape.com
be1f23517c
Added JSClass::get/setConstructor().
2000-06-24 02:51:03 +00:00
beard%netscape.com
83ca8f326d
Added call to constructor when executing NEW_CLASS.
2000-06-24 02:50:23 +00:00
beard%netscape.com
cb43927903
Generating default constructor to run slot initializers.
2000-06-24 02:49:45 +00:00
beard%netscape.com
db5e4eeed7
testCompile() is static
2000-06-24 01:04:58 +00:00
rogerl%netscape.com
1f65c8a44c
typing 'this'
2000-06-24 01:02:34 +00:00
rogerl%netscape.com
ac7b311416
Got newClass working, added printProperties for instances, some slot
...
stuff is happening.
2000-06-24 00:50:59 +00:00
beard%netscape.com
69d8a01263
added NEW_CLASS instruction, to instantiate classes.
2000-06-23 23:49:48 +00:00
beard%netscape.com
24a81ca7ca
added NEW_CLASS instruction.
2000-06-23 23:49:17 +00:00
rogerl%netscape.com
3930dfffb9
Adding slot handling to code gen.
2000-06-23 23:43:24 +00:00
beard%netscape.com
2be0b299fc
added NEW_CLASS instruction.
2000-06-23 23:41:27 +00:00
beard%netscape.com
a313672e06
Added JSClass::hasSlot, getSlotCount(), and JSInstance.
2000-06-23 23:25:55 +00:00
beard%netscape.com
8132a040d4
JSValue::type now JSType* instead of const JSType*, all predefined JSType objects no longer const as well.
2000-06-23 23:25:14 +00:00
rogerl%netscape.com
9d4fb54c88
Removed FUNCTION instruction, other class related junk.
2000-06-23 22:53:09 +00:00
rginda%netscape.com
b4077ed50c
Added debugger opcode, change InstructionMap to a std::map, print source lines while tracing
2000-06-23 22:27:17 +00:00
rogerl%netscape.com
a03db28a3b
Add return statement if the function doesn't end with one
2000-06-23 21:20:03 +00:00
beard%netscape.com
0b87b860eb
added assertion to ensure that mPC is always valid before fetching the next instruction.
2000-06-23 06:10:14 +00:00
beard%netscape.com
107dbc95b6
Additional JSClass processing: defining slots, generating methods.
2000-06-23 05:13:04 +00:00
beard%netscape.com
ff711f4a8f
When using a JSScope that has a parent scope, don't bother defining the standard properties, they will be shared.
2000-06-23 05:10:46 +00:00
beard%netscape.com
03ee321bef
A JSClass is a JSType now, and has a JSScope. Added addSlot, getSlot, getScope.
2000-06-23 05:09:37 +00:00
beard%netscape.com
e03ab761d7
remove unused file.
2000-06-23 04:10:04 +00:00
beard%netscape.com
585fef1917
putting the JSClass* in the current global scope, and looking up superclass rereferences.
2000-06-23 02:22:55 +00:00
rogerl%netscape.com
1a2c265dd0
Added support for 'debugger' as a statement. (Rob made me)
2000-06-23 00:08:10 +00:00
beard%netscape.com
0d1c72d6a6
JSClass support.
2000-06-21 23:58:17 +00:00
beard%netscape.com
d193ec4ea0
initial checkin, starting on a representation for JS2 classes.
2000-06-21 23:57:09 +00:00
rogerl%netscape.com
3783f2c99e
Work to support 'this'.
2000-06-21 22:32:21 +00:00
rogerl%netscape.com
0bb6f588ba
Changed use of Register to TypedRegister throughout.
2000-06-20 22:45:45 +00:00
rogerl%netscape.com
c23aa15cea
Support for TypedRegister
2000-06-20 22:44:46 +00:00
rogerl%netscape.com
a0ca8346b0
Added tests for scripts as strings.
2000-06-16 01:37:47 +00:00
rogerl%netscape.com
63047e7baf
Mucking about with operator overlaoding plus initializing global context
...
- beginning type stuff.
2000-06-16 01:36:59 +00:00
rogerl%netscape.com
c36f967be2
Fixed spelling.
2000-06-16 01:35:25 +00:00
rogerl%netscape.com
2e3359c741
Added op= support.
2000-06-15 16:03:54 +00:00
rogerl%netscape.com
22b93140d6
Mark top-level execution as 'script' rather than function - to handle
...
vars correctly.
2000-06-14 23:28:38 +00:00
rogerl%netscape.com
f32f769135
Added 'Function' instruction, plus suppresses class output if there is
...
no super specified. (ok it's a hack, but it works)
2000-06-14 23:27:28 +00:00
rogerl%netscape.com
dae9b1607b
Adding support for Functions and Vars, preXcrement, object literals.
2000-06-14 23:26:15 +00:00
waldemar%netscape.com
2c96ad5323
Added parsing and printing of classes, interfaces, and namespaces
2000-06-02 04:35:44 +00:00
waldemar%netscape.com
7812dc9a8e
Widened default line width to 30
2000-06-01 03:31:17 +00:00
waldemar%netscape.com
4fc6a829b4
Added function and constructor parsing and printing; fixed printing of blocks, compound statements, and ::
2000-06-01 03:30:58 +00:00
waldemar%netscape.com
17668e8a07
Added two-argument linearBreak
2000-06-01 03:30:19 +00:00
rogerl%netscape.com
6e0db88822
Removed old branches, changed offset printing to handle NULL operand.
2000-05-26 22:35:36 +00:00
rogerl%netscape.com
7535f22230
Update to new icg constructor etc.
2000-05-26 22:34:42 +00:00
rogerl%netscape.com
a7d428fee6
Statement fun
2000-05-26 22:33:05 +00:00
waldemar%netscape.com
fe2b190592
Added var, const, and for statements
2000-05-26 06:20:11 +00:00
waldemar%netscape.com
e5a692e62d
Fixed case/default indenting
2000-05-24 02:18:57 +00:00
rogerl%netscape.com
bbd7ed8e62
Codegen for statements. Blew off old statement API and most of the test
...
functions for now, sorry.
2000-05-24 02:11:39 +00:00
waldemar%netscape.com
01a830b36d
Turned on statement parsing and printing
2000-05-24 01:51:32 +00:00
waldemar%netscape.com
ef0a0075ca
Added statement parsing
2000-05-24 01:51:20 +00:00
waldemar%netscape.com
2d2b4d1e40
Added using std::fmod declaration
2000-05-24 00:55:23 +00:00
waldemar%netscape.com
758d1aa2a0
Fixed Mac warning
2000-05-24 00:54:56 +00:00
waldemar%netscape.com
ffe032b94e
Fixed Mac warnings
2000-05-24 00:54:40 +00:00
waldemar%netscape.com
0409172259
Fixed syntax errors: can't use qualified names in class definitions, and 'not' is a C++ reserved word
2000-05-24 00:54:28 +00:00
rginda%netscape.com
0fa9224054
apparently windows is too
2000-05-23 00:15:06 +00:00
rginda%netscape.com
b8139b714f
linux is so picky
2000-05-23 00:13:48 +00:00
rogerl%netscape.com
bf553c65fb
COMPARE_GT etc are gone.
2000-05-23 00:09:44 +00:00
rogerl%netscape.com
6c379c9539
Fall out from operator overloading.
2000-05-23 00:09:02 +00:00
rogerl%netscape.com
8bde6514f2
Added operator overloading support
2000-05-23 00:08:29 +00:00
rginda%netscape.com
ab1f2aeef2
quieting linux warnings and fixing build bustage
2000-05-22 21:05:35 +00:00
rogerl%netscape.com
8b137399a7
Playing with operator overloading & Type types.
2000-05-19 17:41:10 +00:00
beard%netscape.com
af00ce0353
fix const cast away linux breakage
2000-05-19 05:38:29 +00:00
rogerl%netscape.com
c4b6a652d5
Bunch o' expression ops.
2000-05-18 00:04:15 +00:00
rogerl%netscape.com
4ec5cba5d9
Moved genExpr to ICodeGenerator - added most expression ops.
2000-05-18 00:03:23 +00:00
rogerl%netscape.com
ad5c33b8e4
Moved genExpr to ICodeGenerator
2000-05-18 00:01:33 +00:00
beard%netscape.com
351bd72f09
ensuring both arguments to max are the same type
2000-05-16 22:23:15 +00:00
beard%netscape.com
0a0acdcf76
fix for linux bustage
2000-05-13 02:14:52 +00:00
waldemar%netscape.com
23816b0170
Simplified grammar without changing syntax
2000-05-13 00:18:56 +00:00
waldemar%netscape.com
d3acc733e0
Fixed ?: parsing bug and pretty-printing offsets
2000-05-12 05:39:28 +00:00
waldemar%netscape.com
b1a75a201a
Fixed build flags
2000-05-12 05:16:08 +00:00
waldemar%netscape.com
f2965154c2
Fixed parser errors
2000-05-12 05:15:52 +00:00
waldemar%netscape.com
c8b3c01b71
Worked around Visual C++ problem
2000-05-12 05:15:17 +00:00
waldemar%netscape.com
c17f899a83
Interchanged linearBreak and fillBreak
2000-05-12 03:43:35 +00:00
waldemar%netscape.com
3be5d6b79c
Turned on expression parsing and printing
2000-05-12 03:26:43 +00:00
waldemar%netscape.com
80084c8eb5
Added expression parsing and printing code
2000-05-12 03:26:24 +00:00
waldemar%netscape.com
1f0d17398b
Added RawArrayBuffer::reserve_advance_back
2000-05-12 03:25:49 +00:00
beard%netscape.com
34678ad655
removed unnecessary #include <iomanip>
2000-05-12 01:46:16 +00:00
beard%netscape.com
d4060c6bef
InterpretStage -> Context::Event.
2000-05-12 01:20:34 +00:00
beard%netscape.com
e7503b10fb
Fixed signed/unsigned warning. InterpretStage -> Context::Event. Context::removeListener now using find() from <algorithm>.
2000-05-12 01:19:39 +00:00
beard%netscape.com
171d878a64
InterpretStage -> Context::Event. Added typedefs for ListenerList and ListenerIterator.
2000-05-12 01:17:32 +00:00
beard%netscape.com
10e19444a4
turned off extra comma warnings.
2000-05-12 00:31:48 +00:00
rogerl%netscape.com
48f6891a39
post inc/dec
2000-05-11 00:35:43 +00:00
rogerl%netscape.com
33370b0248
Added post inc/dec for properties & names.
2000-05-11 00:35:06 +00:00
waldemar%netscape.com
abe74d890c
Added 'public' to the list of qualifiers
2000-05-09 20:55:09 +00:00
rogerl%netscape.com
908ce34c76
playing with gencode
2000-05-09 19:01:00 +00:00
beard%netscape.com
a90cac7e92
Needed to transfer ownwership of iCode from ICodeGenerator to ICodeModule
2000-05-09 18:59:12 +00:00
beard%netscape.com
8b37e3f091
generalized gc_allocator copy constructor
2000-05-09 18:32:14 +00:00
beard%netscape.com
698cbbf51d
removed JSFunction::operator delete
2000-05-09 18:31:43 +00:00
rogerl%netscape.com
737ea3d9ab
Fixed leakage of ICodeModule via JSFunction
2000-05-09 18:09:33 +00:00
beard%netscape.com
d991eb363d
Need to modify string BEFORE caching iterators.
2000-05-09 06:39:39 +00:00
beard%netscape.com
1f06b15acc
ensure that source buffer is always terminated by a uni::null (which isn't automatically true for basic_string<T>).
2000-05-09 06:31:54 +00:00
beard%netscape.com
6a4d27e9e3
map::find() works just fine on all platforms.
2000-05-09 05:55:30 +00:00
beard%netscape.com
c5dcfed7a0
generating code rather than showing tokens, printing generic result rather than assuming it's a float64.
2000-05-09 05:46:26 +00:00
beard%netscape.com
2a42ae2d9b
LoadString now has JSString* as second operand
2000-05-09 05:38:48 +00:00
beard%netscape.com
9acc5cacea
Added JSString(const String&) and operator<<(Formatter&, const JSString&)
2000-05-09 05:37:58 +00:00
beard%netscape.com
69e170c16b
LOAD_STRING now has String as second operand rather than String*
2000-05-09 05:18:16 +00:00
beard%netscape.com
052dad7118
VC6 bustage: can't initialize refs using construction form
2000-05-09 04:29:32 +00:00
beard%netscape.com
5e9296ee19
std::numeric_limits isn't working...
2000-05-09 04:26:44 +00:00
beard%netscape.com
f8c91a8cf2
JSNativeFunction::mCode returns JSValue now to avoid leaking
2000-05-09 03:57:28 +00:00
beard%netscape.com
c5e54d1f21
print now returns JSValue, added space between args when printing
2000-05-09 03:56:56 +00:00
beard%netscape.com
3c70fd5a83
CASE(string)
2000-05-09 03:56:08 +00:00
beard%netscape.com
e3056982ab
g++ basic_string annoyances
2000-05-09 03:55:43 +00:00
beard%netscape.com
ec32a56539
needed deallocate(void*, size_type) on XP_UNIX for basic_string.
2000-05-09 03:46:03 +00:00
beard%netscape.com
5511c85685
Fixed leaks by changing JSValue::toString()/toNumber() to return JSValue rather than JSValue*. LOAD_STRING now creates a JSString from a String*.
2000-05-09 03:11:54 +00:00
beard%netscape.com
17bcf1f4d9
Added JSString for gc-able UNICODE strings, changed toString(), toNumber() to return JSValue rather than JSValue*.
2000-05-09 03:10:04 +00:00
beard%netscape.com
9e824b3492
make wchar_t an atomic type, for JSString.
2000-05-09 03:06:49 +00:00
waldemar%netscape.com
b6ad6e0d78
Changed default constructor name from 'new' to the same name as its class
2000-05-09 00:10:50 +00:00
rogerl%netscape.com
9da7770958
testing native 'print' function
2000-05-08 23:12:10 +00:00
rogerl%netscape.com
70fd2e12cf
Added more string handling + valueToString/Number code.
...
NativeFunction support.
2000-05-08 22:59:42 +00:00
waldemar%netscape.com
32a487e8ba
Fixed syntax errors
2000-05-06 03:47:35 +00:00
waldemar%netscape.com
7ec407aaec
Reordered includes to ensure that systemtypes.h is always included first; that's needed for Visual C++
2000-05-06 03:47:13 +00:00
waldemar%netscape.com
45d64f11e9
Reordered files back to dependency order. Added gc_allocator.h.
2000-05-06 03:33:25 +00:00
waldemar%netscape.com
f92842a971
Fixed syntax error
2000-05-06 03:31:50 +00:00
waldemar%netscape.com
9258b98a99
Added formatters, zones, and other miscellaneous utilities
2000-05-06 03:31:35 +00:00
waldemar%netscape.com
172513021f
Fixed mac warning
2000-05-06 03:30:37 +00:00
rogerl%netscape.com
73705a8af1
Load_String
2000-05-05 23:23:13 +00:00
rogerl%netscape.com
25d9160b79
Basic string literal & value support
2000-05-05 23:22:31 +00:00
rogerl%netscape.com
0abfa73fd7
New arithmetic ops.
2000-05-05 21:38:16 +00:00
rogerl%netscape.com
05b4422677
Bunch more arithmetic ops etc.
...
Also fixed case munging when class name was only 2 letters long.
2000-05-05 21:36:36 +00:00
beard%netscape.com
d1e0d062d0
Added debugger source
2000-05-05 18:20:05 +00:00
beard%netscape.com
f346f8d86c
No need to use string, now that size_t LineReader::readLine(String& wstr) exists.
2000-05-05 05:25:00 +00:00
beard%netscape.com
094e8c7500
added size_t LineReader::readLine(String& wstr) for convenience.
2000-05-05 05:24:02 +00:00
beard%netscape.com
15d927bcb1
regenerated dependencies
2000-05-05 04:58:56 +00:00
beard%netscape.com
6e4e5d59d1
LineReader returns at least '\n'
2000-05-05 04:50:45 +00:00
beard%netscape.com
a95951573d
stdin rather than cin
2000-05-05 04:45:39 +00:00
beard%netscape.com
7ff3a71924
Needed to use namespace Interpreter to see Context, using LineReader instead of istream.
2000-05-05 04:44:51 +00:00
beard%netscape.com
f9843b94da
remove unnecessary #include <iostream>
2000-05-05 04:44:01 +00:00
beard%netscape.com
1a0c42b62f
Use FILE* instead of istream& for better line handling
2000-05-05 04:43:12 +00:00
beard%netscape.com
1210745bf0
EOF handling
2000-05-05 04:19:20 +00:00
beard%netscape.com
d473e75f91
can't use std::getline() with a String on all platforms.
2000-05-05 04:10:01 +00:00
beard%netscape.com
34072e3ec7
forward declaring std::istream.
2000-05-05 04:08:59 +00:00
beard%netscape.com
6a814bf3a1
fixed ICodeGenerator/ICodeModule::print on Mac, which seems to be getting confused when using operator<< in another namespace.
2000-05-05 04:05:56 +00:00
beard%netscape.com
3bee0e64c4
removed unused macro NS_JSICG.
2000-05-05 04:04:23 +00:00
rginda%netscape.com
ace8bcaf1e
much debugger spankage; parse and execute step, continue, set, and print (kind-of) commands.
...
push implementation details of ICodeGenerator::print() into InstructionStream so they can be shared with ICodeModule.
copy variableList from ICodeGenerator to ICodeModule.
s/ScringAtom/const StringAtom/ in gencode.pl, regenerate vmtypes.h
2000-05-04 22:42:49 +00:00
rogerl%netscape.com
f0a527348f
Added const to the StringAtom usage.
...
Propagated variableList to ICodeModule
2000-05-04 22:08:38 +00:00
beard%netscape.com
638c7e68c2
fix assert bustage in DEBUG build.
2000-05-03 01:41:37 +00:00
rogerl%netscape.com
c5ae7fcab1
Cleaning up some label stuff
2000-05-02 21:36:28 +00:00
beard%netscape.com
e57aaf2941
warnings on Linux
2000-05-01 17:18:49 +00:00
beard%netscape.com
d3a405ae82
fixing breakage on Linux
2000-05-01 17:18:23 +00:00
beard%netscape.com
a38befc82a
removed unnecessary casts to int32 in ICodeGenerator::setLabel() which were generating warnings.
2000-05-01 17:11:36 +00:00
waldemar%netscape.com
67d784459e
Changed syntax of identifiers, attributes, expressions, functions, and packages. Added export, use, constructor, namespace, import.
2000-05-01 06:21:39 +00:00
beard%netscape.com
b8c58d5968
made startsWith() static, to fix no prototype warning.
2000-04-30 14:56:31 +00:00
beard%netscape.com
a7d1d8240d
added debugger.cpp/h.
2000-04-30 14:55:51 +00:00
beard%netscape.com
d1626bab75
Removed setGlobalObject(), as only the interpreter should be mucking with it after initial creation. Added getWorld(), made getICode() out of line, removed mICode since it's part of Activation record.
2000-04-29 14:44:42 +00:00
beard%netscape.com
99e50b3eb4
Implemented WITHIN, WITHOUT instructions, removed mICode from Context since it's part of Activation. No longer deleteing mActivation, just clearing it, since Activation objects are garbage collected.
2000-04-29 14:43:36 +00:00
beard%netscape.com
a49b031e34
Added JSScope::getParent().
2000-04-29 14:39:50 +00:00
beard%netscape.com
154414a0ee
JSNamespace -> JSScope.
2000-04-29 14:14:28 +00:00
beard%netscape.com
5e49b8d13f
JSValue::operator==(const JSValue&)
2000-04-29 14:13:43 +00:00
beard%netscape.com
1603cc24d3
Added JSValue::operator==(const JSValue&), renamed JSNamespace JSScope.
2000-04-29 14:13:08 +00:00
beard%netscape.com
275ac8e2bf
moved kUndefinedValue to jstypes.cpp, where it belongs.
2000-04-29 14:11:27 +00:00
beard%netscape.com
dce8602831
added WITHIN, WITHOUT instructions.
2000-04-29 14:10:53 +00:00
beard%netscape.com
28a0b3bb92
fixing windows bustage.
2000-04-29 00:29:56 +00:00
rginda%netscape.com
c9f14ba1b4
somewhat weak debugger console hookup.
...
build shouldn't *look* different yet.
Moved Context::interpret() local vars into Context private, added accessors for
stuff, using JavaScript::Lexer to lex debugger commands.
Fixed sign comparison warning in icg.cpp
2000-04-29 00:23:06 +00:00
beard%netscape.com
cd2ea3d3e4
Added jstypes.cpp
2000-04-28 23:10:06 +00:00