* Patch from Mattias Gaertner

- class external:
    - JS object or function as ancestor
    - does not descend from TObject
    - all members become external. case sensitive
    - has no hidden values like $class, $ancestor, $unitname, $init, $final
    - can be ancestor of a pascal class (not descend from TObject).
    - pascal class descendant can override methods
    - property works as normal, replaced by getter and setter
    - class-of
    - class var/function: works as in JS.
    - is and as operators
    - destructor forbidden
    - constructor must not be virtual
    - constructor 'new' -> new extclass(params)
    - identifiers are renamed to avoid clashes with external names
    - call inherited

git-svn-id: trunk@35643 -
This commit is contained in:
michael 2017-03-23 15:03:57 +00:00
parent 298043354b
commit cfa5a354cb
2 changed files with 2219 additions and 619 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff