ppu.pas:
* increase ppu version
symconst.pas:
+ new enum tmanagementoperator and set tmanagementoperators
symtable.pas, trecordsymtable:
+ new field managementoperators
+ new method includemanagementoperator
symdef.pas, trecorddef.ppuload and trecorddef.ppuwrite:
* save/load for managementoperators
git-svn-id: trunk@35439 -
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 -
sysv_abi_cdecl calling conventions on x86-64 to force using the SYSV/
Microsoft ABI on platforms that don't use it by default (mainly to ease
porting pure assembler routines)
git-svn-id: trunk@35425 -
directly in inline assembly: that's only possible if it's a register
parameter where the address of the record was passed (rather than the
record itself)
git-svn-id: trunk@35424 -
- char and string literals
- setlength() for string
- property read accessor var and function
- property write accessor var and function
- property with param list
- property of type array
- class property
- convert "a div b" to "Math.floor(a / b)"
- and, or, xor, not: logical or bitwise
- enum type with values and names
- enums: option to write numbers instead of variables
- enums: ord(), low(), high(), pred(), succ()
- type cast number to enum
- set of enum
- include(), exclude()
- assign := for sets
- constant set: enums, enum vars, ranges
- set operators +, -, *, ><, =, <>, >=, <=
- set in-operator
- sets: low(), high()
- assign nil to dyn array
git-svn-id: trunk@35417 -
pscanner:
- fixed reading ^a char literals
pasresolver:
- pred(), succ()
- option for class properties non static
- type cast integer to enum
- <= and >= for sets
- property of type array
- low(), high() for sets
- call constructor in class method
- assign nil to dynamic array
- resolve const expression
git-svn-id: trunk@35415 -
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 -