← board

DWScript — compile under pxx + RTTI auto-bind (scripting stress test)

Why this is the sharper test case

DWScript's headline feature is dwsRTTIExposer.pasexpose any host class to script automatically via extended RTTI, no manual registration ("integrate with anything in the hardcoded library"). That is exactly the feature worth having, and it only works if pxx emits walkable extended RTTI. So this ticket couples two things:

  1. Compile DWScript under pxx — a much harder Object Pascal codebase than Pascal Script (generics, anonymous methods, advanced RTTI, Delphi-isms). As a conformance test it finds far more gaps — deliberately. Expect a stream of Track A tickets; that is the point.
  2. Make the RTTI connector actually bind — needs lib/rtl/typinfo.pas + the compiler's RTTI emission rich enough that the exposer can enumerate published members of a host class and call them. This is the concrete, valuable target for the extended-RTTI backend (a real consumer, not a synthetic one).

Approach

Done when

Phase 1: $(PXX_STABLE) builds the DWScript core and runs a script. Phase 2: a host class is reachable from a script purely via the RTTI exposer (no manual registration), proving pxx's extended RTTI is walkable.

License compliance (we honour it)

If we ship a demo or test app on DWScript, we follow MPL 1.1 and give the attribution — credit DWScript in the app's credits, include or link its source, and if we patch any DWScript unit, publish those changes (file-level copyleft). Fair trade; bake the credit + source link into the demo from the start.

Risk / note

This is a deep target — likely the single richest source of Track A language + RTTI tickets we have. Treat it as a long-running driver, not a quick win; park in unfinished/ between bursts, keep the gap tickets flowing.