You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Symbol Identifier: an identifier that starts with $ (dollar sign) followed by one or more digits. These identifiers directly represent the symbol’s integer symbol ID, not the symbol’s text. This form is not typically visible to users, but they should be aware of the reserved notation so they don’t attempt to use it for other purposes.
While examples of text symbol IDs can be found throughout the spec, it is ultimately unclear whether symbol IDs can:
Have multiple leading zeros. "One or more digits" seems to allow IDs like $09 and $00007. Other Ion integer syntax elements (e.g. Ion integers and decimals) don't allow this.
Have underscores. "One or more digits" seems to disallow IDs like $1_024 and $999_999_999. Other Ion integer syntax elements allow this.
ion-java's current behavior allows leading zeros, but treats SIDs with underscores as thought they were (non-symbol) identifiers instead. We should add an ion-test case to verify that all of our implementations have the same behavior and then clarify it in the spec.
The text was updated successfully, but these errors were encountered:
Here's the spec's description of text symbol identifiers:
While examples of text symbol IDs can be found throughout the spec, it is ultimately unclear whether symbol IDs can:
$09
and$00007
. Other Ion integer syntax elements (e.g. Ion integers and decimals) don't allow this.$1_024
and$999_999_999
. Other Ion integer syntax elements allow this.ion-java
's current behavior allows leading zeros, but treats SIDs with underscores as thought they were (non-symbol) identifiers instead. We should add anion-test
case to verify that all of our implementations have the same behavior and then clarify it in the spec.The text was updated successfully, but these errors were encountered: