This commit is contained in:
deeaitch committed 2026-10-20 13:38:21 -04:00
1 parent 849ce31e2f
commit a55d1c58ed
272 files changed
+41866 -261

No files matched your search

+16 -3
View File
@@ -885,8 +885,8 @@ Stored in:
- `FrameInfo::comment`
- `SignalInfo::comment`
Comments accept spaces and tabs between fields, escaped quotes (`\"`) and
backslashes (`\\`), and text spanning multiple physical lines. Newlines, blank
Comments accept spaces and tabs between fields, quotes and backslashes escaped
with a preceding backslash, and text spanning multiple physical lines. Newlines, blank
lines, and indentation inside quoted text are preserved; CRLF becomes LF.
Comments may appear before their frame or signal definitions. References use the
same decimal CAN ID validation and normalization as `BO_`, including reserved-bit
@@ -1196,7 +1196,8 @@ VAL_ 256 State 0 "Off" 1 "On" 2 "Error";
Each statement must occupy one physical line, contain at least one integer/text
pair, and end with a semicolon. Spaces and tabs are accepted between fields;
descriptions may contain whitespace, semicolons, and empty text. Inside quoted
text, `\"` and `\\` represent a quote and a backslash; other escapes are rejected.
text, escape a quote or a backslash with a preceding backslash; other escapes
are rejected.
Keys are decimal integers in `INT64_MIN..UINT64_MAX`, with an optional minus
sign; plus signs, fractions, hexadecimal numbers, exponents, and overflow are
rejected. Keys never pass through `double`.
@@ -1506,6 +1507,18 @@ tree nodes. It verifies all supported metadata in both builders, standard and
extended frames sharing a numeric ID, empty databases, comments, and replacement
with another fixture or an empty database.
## Code review and additional checks
Attribute numeric parsing shares one locale-independent converter for integer and
floating-point values. Default application skips unrelated scopes, CAN ID
normalization uses the validated identifier mask, and signal layout validation
owns the length checks. Statement handlers continue to use `TypeFactory`.
Core, adapter, example, and test C++ sources use explicit return types and contain
no lambdas. Public metadata and parser-state comments use Doxygen descriptions.
See [tests/README.md](tests/README.md#extended-validation) for attribute boundary
regressions, sanitizer commands, and the latest validation results.
## Measuring code coverage
Coverage instrumentation is separate from the QtTest suite named `CoverageTest`: