github / github/codeql-cli-binaries

Improve `int.toUnicode()` documentation

Open
#80 2 comments 0 reactions 0 assignees View on GitHub
CLI
Dominant language
No language data
Stars
1k
Forks
184
PR merge metrics
No merged PRs in 30d

Description

The documentation for the newly added `int.toUnicode()` predicate [says](https://codeql.github.com/codeql-standard-libraries/java/predicate.int$toUnicode.0.html):
> Returns the unicode character for the receiver seen as a unicode code point

This is slightly misleading because CodeQL strings consist of UTF-16 code points. Therefore supplementary code points (> U+FFFF) will result in two CodeQL string characters (demonstrated by [this query](https://lgtm.com/query/8363238946666626198/)). It might also be good to describe its behavior for invalid code point values. For surrogate code point it does not seem to have a result either, e.g. `55296.toUnicode()`.
Also it should uppercase "Unicode".

I would recommend the following description (or similar):
> Returns the Unicode character for the receiver seen as a Unicode code point. Because CodeQL strings consist of UTF-16 code units, supplementary code points (that is > U+FFFF) result in a CodeQL string of length 2. This predicate has no result if the int receiver does not represent a valid Unicode code point, or represents the code point of a surrogate character.

This requires changes to the built-in documentation (which is why I created the issue here) as well as the language specification.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.