Take the shorter dispatcher through the documentation - #149
Merged
Conversation
IF client->check_on_init( ) OR client->check_on_navigated( ). is one condition too many, and a page that teaches it teaches the OR as if there were a case the second half does not cover. There is not: check_on_init( ) is only ever true on a roundtrip where check_on_navigated( ) is true as well - the framework raises both for a fresh CREATE OBJECT and for a bookmark-draft restore (z2ui5_cl_ui5_action=>factory_first_start; the interface says so in ABAP Doc since abap2UI5 #2614). 84 examples on 50 pages. technical/concept.md keeps its third term - the condition there is `... OR partly = abap_false` and only the redundant half goes. This is the change that was written and reverted a fortnight ago, and the reason it was reverted is worth recording: @abap2ui5/linter 0.2.0 read the ELSE of a `COND #( ... )` as the end of a lifecycle branch, so an example whose view_display( ) came four statements after a COND was reported as a branch that never re-displays. Fixed in 0.2.1, which this pins. check:examples 46 example files, 0 failing (linter 0.2.1)
The samples repository gave all 103 catalogue apps a `" @summary` line, and SAMPLES.md renders it under the row title - in NORMAL type, next to the small type this script already knew: | **Basics I** — Hello World<br>The smallest app that runs.<br><sub>hello world minimal</sub> | [`Z2UI5_CL_SMP_APP_493`](...) | The pattern here expected `<br><sub>` blocks only, so it matched no rows at all. The failure is the bad kind: not a broken run but a WRONG ANSWER - every page's declaration came back as "`z2ui5_cl_smp_app_493` is not in the sample catalogue - renamed, deleted, or a typo", which is exactly what this check exists to report truthfully. Matched loosely now: a run of `<br>` blocks, whatever is in them. The row shape is maintained in three other repositories, and a block this script does not know about has to cost it nothing. abap2UI5/ai-mcp's parser took the same fix today, for the same row and the same reason. link:samples --check 152 samples, 39 pages, 109 links, up to date
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
One condition too many — and a page that teaches it teaches the
ORas if there were a case the second half does not cover. There is not:check_on_init( )is only ever true on a roundtrip wherecheck_on_navigated( )is true as well. The framework raises both for a freshCREATE OBJECTand for a bookmark-draft restore (z2ui5_cl_ui5_action=>factory_first_start), andz2ui5_if_clienthas said so in ABAP Doc since abap2UI5 #2614.84 examples on 50 pages.
technical/concept.mdkeeps its third term — the condition there is… OR partly = abap_false, and only the redundant half goes.Why this is the second attempt
It was written and reverted a fortnight ago, and the reason is worth recording:
@abap2ui5/linter0.2.0 read theELSEof aCOND #( … )as the end of a lifecycle branch, so an example whoseview_display( )came four statements after aCONDwas reported as a branch that never re-displays. That is fixed in 0.2.1, which this pins.check:examples: 46 example files, 0 failing.Generated by Claude Code