Class ALineEndingTokenFromSource
Unit
parsing
Declaration
type ALineEndingTokenFromSource = class(ASpaceToken)
Description
This class represents the end of a source line. Certain parsers may process such tokens; others may discard them.
Hierarchy
Overview
Fields
Methods
Description
Fields
|
myLineCount: longword; |
Stores the number of line endings encountered while tokenizing
|
Methods
|
function init: boolean; override; |
Initializer
|
|
function shallowCopyFrom(const Other: AnObject): boolean; override; |
Construct a shallow copy of the other object.
This method extends the behavior inherited from ASpaceToken.shallowCopyFrom: it calls that method, then checks to see whether Other is an instance of ALineEndingTokenFromSource. If so, it copies the value of ALineEndingTokenFromSource.lineCount from Other to Self , overwriting the value in Self .
Note that this method does NOT copy any sibling or child nodes and so cannot be used to create a full copy of any descendant of ANode. The copy will NOT be automatically placed in the list to which Other belongs, if any, but the caller is free to do so.
|
|
function writeSelfTo(const Dest: AStream): TStreamIOSize; override; |
Write the token, and just the token, to the specified stream.
This method builds on the behavior inherited from ATokenFromSource. It calls the inherited routine, then writes the value of ALineEndingTokenFromSource.lineCount to the stream.
Returns
The total number of bytes written to Dest . |
|
function readFrom(const Source: AStream): TStreamIOSize; override; |
Read the token from the given source stream.
This method reads up to two characters from the source, depending on the style of line ending encountered. The method is written to handle Apple-style, Unix-style, and Windows-style line endings.
This method is written with the assumption that Source represents an instance of ATextInputStream. To read non-symbolic tokens from an intermediate code stream, an instance of AToken should be used instead.
Returns
The total number of bytes read from Source . |
|
function lineCount: longword; virtual; |
Retrieve the number of line endings encountered while tokenizing the source.
This function is most useful when ALineEndingTokenFromSource.consolidation is True but you still want to know how many line endings have been consolidated into one token.
|
Generated by PasDoc 0.13.0 on 2015-06-25 11:12:03
|