AlRunner/Program.cs | CLI entry point, AlTranspiler, RoslynCompiler, Executor, PrintGuide |
AlRunner/RoslynRewriter.cs | BC→mock type transformations (AST-level CSharpSyntaxRewriter) |
AlRunner/Pipeline.cs | Pipeline orchestration, exit codes |
AlRunner/DiagnosticClassifier.cs | AL diagnostic message parser |
AlRunner/PackageScanner.cs | .app file scanning and deduplication |
AlRunner/StubGenerator.cs | --generate-stubs command |
AlRunner/Runtime/AlScope.cs | Base scope, AlDialog (Error/Message + ErrorInfo), AlCompat (Format, RoundDateTime, utility stubs), MockDialog, collectible errors state |
AlRunner/Runtime/MockRecordHandle.cs | In-memory record store (filtering, composite PKs, sort, triggers, temp records, CalcFields) |
AlRunner/Runtime/MockCodeunitHandle.cs | Cross-codeunit dispatch via reflection |
AlRunner/Runtime/EventSubscriberRegistry.cs | Event subscriber discovery + dispatch |
AlRunner/Runtime/HandlerRegistry.cs | Test handler dispatch (Confirm, Message, ModalPage, RequestPage, Report, SendNotification) |
AlRunner/Runtime/MockTestPageHandle.cs | TestPage mock — full lifecycle, field access, navigation, Editable, ValidationErrorCount, Last, Previous, Expand, GetRecord |
AlRunner/Runtime/MockRecordRef.cs | RecordRef backed by MockRecordHandle; Mark/MarkedOnly/ClearMarks (functional), Rename, FieldExists, HasFilter, GetPosition, Ascending get/set, ModifyAll, KeyCount/KeyIndex/CurrentKeyIndex, system-field number accessors |
AlRunner/Runtime/MockFieldRef.cs | FieldRef get/set, range/filter, GetFilter, GetRangeMin/Max, Record(), Name/Caption/Type/Length, enum introspection, CalcSum, ALSetTable (no-op stub) |
AlRunner/Runtime/MockKeyRef.cs | KeyRef mock — FieldCount, FieldIndex(n), Record, Active, ALAssign |
AlRunner/Runtime/TableFieldRegistry.cs | Transpile-time AL field metadata (field name/caption/type/length, table name/caption, enum field names, PK extraction) |
AlRunner/Runtime/MockNotification.cs | Notification mock — Message, Send (dispatches to SendNotificationHandler), Recall, SetData/GetData/HasData, AddAction, Id, Scope |
AlRunner/Runtime/MockTaskScheduler.cs | TaskScheduler stubs — CreateTask (sync dispatch), TaskExists, CancelTask, SetTaskReady |
AlRunner/Runtime/MockBigText.cs | BigText — ALAddText, ALGetSubText, ALTextPos, ALLength, ALWrite, ALRead (StringBuilder-backed) |
AlRunner/Runtime/MockDataTransfer.cs | DataTransfer stubs — SetTables, AddFieldValue, AddConstantValue, CopyFields, CopyRows (no-ops) |
AlRunner/stubs/LibraryAssert.al | AL stub for codeunit 130 (auto-loaded test library) |
AlRunner/stubs/LibraryVariableStorage.al | AL stub for codeunit 131004 (auto-loaded test library) |
docs/limitations.md | Architectural limits and behavioral differences |