pastree:
- allow custom data to be chained.
pparser:
- procedure modifier assembler
- Self[]
- Self.member
- fixed some wrong parents
pasresolver:
- aString[i]:=
- check proc external modifier
- test if WithExprScope is set
- Self[]
- Self.member
fppas2js:
- proc assembler modifier
- assigned(class-instance)
- class default property
- low(array), high(array)
- multi dim arrays [index1,index2] -> [index1][index2]
- string: read and write char aString[]
- procedure modifier external name 'funcname'
- option to add "use strict";
- with-do using local var
- with record do i:=v;
- with classinstance do begin create; i:=v; f(); i:=a[]; end;
- Self[]
- Self.member
git-svn-id: trunk@35428 -
jswriter:
less duplicate brackets
pasresolver:
break, continue, option to fix case of overrides
pas2js:
procedure args default values,
try..except,
try..except..on..else,
raise, raise E,
class vars,
call class methods,
break,
continue,
rename name conflicts with JS identifiers: apply, call, null, ...
git-svn-id: trunk@35402 -
jswriter: more compact try..catch
pasresolver:
- mark function calls without ()
- "with type do ;"
- constructor call store TPasType
- mark if a constructor call creates a new
instance or is a normal call
- same for destructor
- fixed checking assign operator types
- more tests
fppas2js:
- convert implicit calls in Pascal to explicit calls in JS
- built in procedure "exit" and "exit(value)"
- if loopvar is used afterwards append if($loopend>i)i--;
- classes
- declare using createClass, needs rtl magic
- constructor
- destructor
- vars
- ancestor
- virtual, override, abstract
- "is" operator
- "as" operator
- call inherited "inherited;", "inherited funcname;"
- dynamic arrays
- init as "arr = []"
- SetLength(arr,newlength)
- length(arr)
- try..except, on .. do, raise
- insert default values in calls
git-svn-id: trunk@35383 -
- more tests
- case-of: added option to change between switch and if-else
- Some changes to the way the implementation block is generated for units.
git-svn-id: trunk@35055 -
jsbase: Changed TJSString from WideString to UnicodeString to use ref counting on Windows.
jsbase: Added TJSValue.CustomValue.
fppas2js: Changed context from pas to js context.
The pas context is already in the resolver values.
fppas2js: Support for type alias
fppas2js: Built in functions inc/dec for integers
git-svn-id: trunk@34851 -