Initializer
Token()
Attributes
allowLineBreakAftershared formal Boolean allowLineBreakAfter
allowLineBreakBeforeshared formal Boolean allowLineBreakBefore
indentAftershared formal Integer indentAfter
indentBeforeshared formal Integer indentBefore
sourceColumnshared formal Integer sourceColumn

The column to which subsequent lines of a multi-line token are aligned in the source.

Consider the string literal in the following example:

print(
  "Hello,
     World!");

Here, the source column is 3, because the content of the string starts at column three, and the second line is aligned to that column. Formatted, the code looks like this:

print(
    "Hello,
       World!");

The targetColumn of the string literal is 5 (because of the corrected indentation), therefore the second line should be aligned to that column. When the second line is then written, 3 spaces are first trimmed from it, arriving at ␣␣World!", which is the real content. Then, 5 spaces are added, so that ␣␣␣␣␣␣␣World! is actually written.

Usually, this is charPositionInLine plus some constant value depending on the token type, like 1 for string literals and 3 for verbatim string literals. However, for string templates, things get more complicated: Later parts of the template are still aligned to the first part.

See also targetColumn
stackIndentAftershared formal StackCondition stackIndentAfter
stackIndentBeforeshared formal StackCondition stackIndentBefore
stringshared actual String string

A developer-friendly string representing the instance. Concatenates the name of the concrete class of the instance with the hash of the instance. Subclasses are encouraged to refine this implementation to produce a more meaningful representation.

Refines Object.string
targetColumnshared formal Integer() targetColumn

The column to which subsequent lines of a multi-line token should be aligned in the target. For an explanation of source- and targetColumn, see the sourceColumn documentation.

(This needs to be lazily evaluated because it depends on currentWidth].

See also sourceColumn
textshared formal String text
wantsSpaceAftershared formal Integer wantsSpaceAfter
wantsSpaceBeforeshared formal Integer wantsSpaceBefore
Inherited Attributes
Attributes inherited from: Object
hash, string
Inherited Methods
Methods inherited from: Object
equals