Documentation ¶
Index ¶
- func DecodeUTF8Rune(s string) (rune, int)
- func IsIdentifier(text string) bool
- func IsIdentifierContinue(codePoint rune) bool
- func IsIdentifierStart(codePoint rune) bool
- func Keywords() map[string]T
- func NumberToMinifiedName(i int) string
- func RangeOfIdentifier(source logging.Source, loc ast.Loc) ast.Range
- func StringToUTF16(text string) []uint16
- func UTF16ToString(text []uint16) string
- type Lexer
- func (lexer *Lexer) Expect(token T)
- func (lexer *Lexer) ExpectContextualKeyword(text string)
- func (lexer *Lexer) ExpectInsideJSXElement(token T)
- func (lexer *Lexer) ExpectJSXElementChild(token T)
- func (lexer *Lexer) ExpectOrInsertSemicolon()
- func (lexer *Lexer) Expected(token T)
- func (lexer *Lexer) ExpectedString(text string)
- func (lexer *Lexer) IsContextualKeyword(text string) bool
- func (lexer *Lexer) IsIdentifierOrKeyword() bool
- func (lexer *Lexer) Loc() ast.Loc
- func (lexer *Lexer) Next()
- func (lexer *Lexer) NextInsideJSXElement()
- func (lexer *Lexer) NextJSXElementChild()
- func (lexer *Lexer) Range() ast.Range
- func (lexer *Lexer) Raw() string
- func (lexer *Lexer) RawTemplateContents() string
- func (lexer *Lexer) RescanCloseBraceAsTemplateToken()
- func (lexer *Lexer) ScanRegExp()
- func (lexer *Lexer) SyntaxError()
- func (lexer *Lexer) Unexpected()
- type LexerPanic
- type T
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DecodeUTF8Rune ¶
This is a clone of "utf8.DecodeRuneInString" that has been modified to encode using WTF-8 instead. See https://simonsapin.github.io/wtf-8/ for more info.
func IsIdentifier ¶
func IsIdentifierContinue ¶
func IsIdentifierStart ¶
func NumberToMinifiedName ¶
func StringToUTF16 ¶
func UTF16ToString ¶
Types ¶
type Lexer ¶
type Lexer struct { Token T HasNewlineBefore bool StringLiteral []uint16 Identifier string Number float64 // contains filtered or unexported fields }
func (*Lexer) ExpectContextualKeyword ¶
func (*Lexer) ExpectInsideJSXElement ¶
func (*Lexer) ExpectJSXElementChild ¶
func (*Lexer) ExpectOrInsertSemicolon ¶
func (lexer *Lexer) ExpectOrInsertSemicolon()
func (*Lexer) ExpectedString ¶
func (*Lexer) IsContextualKeyword ¶
func (*Lexer) IsIdentifierOrKeyword ¶
func (*Lexer) NextInsideJSXElement ¶
func (lexer *Lexer) NextInsideJSXElement()
func (*Lexer) NextJSXElementChild ¶
func (lexer *Lexer) NextJSXElementChild()
func (*Lexer) RawTemplateContents ¶
func (*Lexer) RescanCloseBraceAsTemplateToken ¶
func (lexer *Lexer) RescanCloseBraceAsTemplateToken()
func (*Lexer) ScanRegExp ¶
func (lexer *Lexer) ScanRegExp()
func (*Lexer) SyntaxError ¶
func (lexer *Lexer) SyntaxError()
func (*Lexer) Unexpected ¶
func (lexer *Lexer) Unexpected()
type LexerPanic ¶
type LexerPanic struct{}
type T ¶
type T uint
const ( TEndOfFile T = iota TSyntaxError // Literals TNoSubstitutionTemplateLiteral // Contents are in lexer.StringLiteral ([]uint16) TNumericLiteral // Contents are in lexer.Number (float64) TStringLiteral // Contents are in lexer.StringLiteral ([]uint16) TBigIntegerLiteral // Contents are in lexer.Identifier (string) // Pseudo-literals TTemplateHead // Contents are in lexer.StringLiteral ([]uint16) TTemplateMiddle // Contents are in lexer.StringLiteral ([]uint16) TTemplateTail // Contents are in lexer.StringLiteral ([]uint16) // Punctuation TAmpersand TAmpersandAmpersand TAsterisk TAsteriskAsterisk TAt TBar TBarBar TCaret TCloseBrace TCloseBracket TCloseParen TColon TComma TDot TDotDotDot TEqualsEquals TEqualsEqualsEquals TEqualsGreaterThan TExclamation TExclamationEquals TExclamationEqualsEquals TGreaterThan TGreaterThanEquals TGreaterThanGreaterThan TGreaterThanGreaterThanGreaterThan TLessThan TLessThanEquals TLessThanLessThan TMinus TMinusMinus TOpenBrace TOpenBracket TOpenParen TPercent TPlus TPlusPlus TQuestion TQuestionDot TQuestionQuestion TSemicolon TSlash TTilde // Assignments TAmpersandEquals TAsteriskAsteriskEquals TAsteriskEquals TBarEquals TCaretEquals TEquals TGreaterThanGreaterThanEquals TGreaterThanGreaterThanGreaterThanEquals TLessThanLessThanEquals TMinusEquals TPercentEquals TPlusEquals TSlashEquals // Identifiers TIdentifier // Contents are in lexer.Identifier (string) TEscapedKeyword // A keyword that has been escaped as an identifer // Reserved words TBreak TCase TCatch TClass TConst TContinue TDebugger TDefault TDelete TDo TElse TEnum TExport TExtends TFalse TFinally TFor TFunction TIf TImport TIn TInstanceOf TNew TNull TReturn TSuper TSwitch TThis TThrow TTrue TTry TTypeOf TVar TVoid TWhile TWith // Strict mode reserved words TImplements TInterface TLet TPackage TPrivate TProtected TPublic TStatic TYield )
If you add a new token, remember to add it to "tokenToString" too
Click to show internal directories.
Click to hide internal directories.