Skip to content

feat(c430): add Do Not Use Undocumented Functions rule - #28

Merged
onefloid merged 1 commit into
mainfrom
feat/undocumented-function
Aug 2, 2026
Merged

feat(c430): add Do Not Use Undocumented Functions rule#28
onefloid merged 1 commit into
mainfrom
feat/undocumented-function

Conversation

@onefloid

@onefloid onefloid commented Aug 2, 2026

Copy link
Copy Markdown
Member

Reports calls to TI functions that IBM does not document or support (DimensionElementInsertByAlias, LockOn, Hex, ...). Such functions carry no compatibility guarantee and are not covered by support, so production code should stay on the documented API.

Matching is AST-based like C510: case-insensitive, found in IF/WHILE conditions and nested arguments, and reported for paren-less no-arg calls (LockOn;) while a plain identifier read (nX = IsNull + 2) is not. A token fallback recovers findings from statements the parser cannot read.

Enabled by default. Intentional use is suppressed inline with # noqa: C430 or project-wide via the rule's allowed_functions setting.

Assisted by: Claude Code

Resolves #10

Reports calls to TI functions that IBM does not document or support
(DimensionElementInsertByAlias, LockOn, Hex, ...). Such functions carry no
compatibility guarantee and are not covered by support, so production code
should stay on the documented API.

Matching is AST-based like C510: case-insensitive, found in IF/WHILE
conditions and nested arguments, and reported for paren-less no-arg calls
(`LockOn;`) while a plain identifier read (`nX = IsNull + 2`) is not. A token
fallback recovers findings from statements the parser cannot read.

Enabled by default. Intentional use is suppressed inline with `# noqa: C430`
or project-wide via the rule's `allowed_functions` setting.

Assisted by: Claude Code
@onefloid
onefloid merged commit 7966e0c into main Aug 2, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Rule Proposal: DoNotUseUndocumentedFunctions

1 participant