Dart _fe_analyzer_shared scanner CharSequenceReader
CharSequenceReader 实现了 CharacterReader 接口,它从一个字符序列中读取字符。
以下是它的主要属性和方法:
-
_sequence:- 表示需要读取的字符序列。
String类型
-
_stringLength:- 表示
_sequence的长度。 int类型
- 表示
-
_charOffset:- 表示下一个要读取的字符的索引。
int类型
-
offset:- 用于获取或设置当前的偏移量。
- 这是一个覆盖了
CharacterReader接口的 getter 和 setter +1、-1逻辑:_charOffset是表示下一个要读取的字符的索引- 所以当你获取
offset时,实际上你得到的是最后一个已经读取的字符的索引,这就是为什么 getter 方法中要减去1。 - 相反,当你设置
offset时,你提供的是你想要读取的下一个字符的索引,所以 setter 方法中需要加上1,以便_charOffset可以正确地指向下一个要读取的字符。
-
advance():- 用于推进当前的位置,并返回新位置的字符。
- 如果已经读取了整个
_sequence,那么返回-1。
-
getContents():- 用于返回
_sequence。
- 用于返回
-
getString(int start, int endDelta):- 用于返回
_sequence的一个子串。 - 这个子串是从给定的
start开始,到当前位置加上endDelta的字符。
- 用于返回
-
peek():- 用于返回当前位置的字符,但不改变当前的位置。
- 如果已经读取了整个
_sequence,那么返回-1。
本文作者:Maeiee
本文链接:Dart _fe_analyzer_shared scanner CharSequenceReader
版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!
喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!
