A while ago I asked about the name of TObject ancestor, well, it’s now live in the SVN and its name is ‘Object‘.
Object is thus the new root class, above TObject. Eventually, it’ll be the ancestor for every other type.
- methods are resolved through prototype (they can be resolved either statically or via a VMT for TObject)
- field and method names are not obfuscated
- no smart-linking or de-virtualization can occur
- they are globally scoped in JS
- marking methods as “virtual” is an error (they are dynamic, which is a bit like being implicitly “virtual” and “overridden”)
- visibility isn’t supported (on the JS-side)
- ClassType, ClassName, etc. don’t exist