objectionary / objectionary/lints
`redundant-object` ignores Φ-rooted references and flags attributes that are used
@h1alexbel is already working on this.
Since Aug 15, 2026.
- Dominant language
- Java
- Stars
- 14
- Forks
- 39
- Avg merge
- 22h 54m
- Merged PRs (30d)
- 90
Description
The redundant-object rule reports an attribute as redundant whenever the only
references to it are written in absolute form. In objectionary/eo, the file
eo-runtime/src/main/eo/os.eo declares is-linux at line 14 and reads it three
times, at lines 36, 41 and 42, always as os.is-linux. The lint still says:
os:14 The object "is-linux" is redundant and may be inlined (redundant-object/S)
The referenced-by-name key in
src/main/resources/org/eolang/lints/misc/redundant-object.xsl:11 indexes only
those o[@base] whose @base matches ^ξ(?:\.ρ)*\., so the three references
above, which the parser writes as Φ.os.is-linux and Φ.os.is-linux.and, are
counted as zero. The same blindness hits every public attribute of a library
object, since callers in other files can only reach it through Φ: on
eo-runtime the rule reports 166 defects and 74 of them are API attributes such
as win32.rdonly, tuple.empty, posix.stdout and number.as-i16, none of
which can be inlined.
Extend the key to index Φ-rooted references too: when @base matches
^Φ\., use the token that follows the name of the top object in
/object/o/@name, instead of mapping the whole reference to the empty string.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.