Flutter Engine
The Flutter Engine
Public Types | Public Member Functions | Public Attributes | List of all members
SkSL::Token Struct Reference

#include <SkSLLexer.h>

Public Types

enum class  Kind {
  TK_END_OF_FILE , TK_FLOAT_LITERAL , TK_INT_LITERAL , TK_BAD_OCTAL ,
  TK_TRUE_LITERAL , TK_FALSE_LITERAL , TK_IF , TK_ELSE ,
  TK_FOR , TK_WHILE , TK_DO , TK_SWITCH ,
  TK_CASE , TK_DEFAULT , TK_BREAK , TK_CONTINUE ,
  TK_DISCARD , TK_RETURN , TK_IN , TK_OUT ,
  TK_INOUT , TK_UNIFORM , TK_CONST , TK_FLAT ,
  TK_NOPERSPECTIVE , TK_INLINE , TK_NOINLINE , TK_PURE ,
  TK_READONLY , TK_WRITEONLY , TK_BUFFER , TK_STRUCT ,
  TK_LAYOUT , TK_HIGHP , TK_MEDIUMP , TK_LOWP ,
  TK_ES3 , TK_EXPORT , TK_WORKGROUP , TK_PIXELLOCAL ,
  TK_RESERVED , TK_PRIVATE_IDENTIFIER , TK_IDENTIFIER , TK_DIRECTIVE ,
  TK_LPAREN , TK_RPAREN , TK_LBRACE , TK_RBRACE ,
  TK_LBRACKET , TK_RBRACKET , TK_DOT , TK_COMMA ,
  TK_PLUSPLUS , TK_MINUSMINUS , TK_PLUS , TK_MINUS ,
  TK_STAR , TK_SLASH , TK_PERCENT , TK_SHL ,
  TK_SHR , TK_BITWISEOR , TK_BITWISEXOR , TK_BITWISEAND ,
  TK_BITWISENOT , TK_LOGICALOR , TK_LOGICALXOR , TK_LOGICALAND ,
  TK_LOGICALNOT , TK_QUESTION , TK_COLON , TK_EQ ,
  TK_EQEQ , TK_NEQ , TK_GT , TK_LT ,
  TK_GTEQ , TK_LTEQ , TK_PLUSEQ , TK_MINUSEQ ,
  TK_STAREQ , TK_SLASHEQ , TK_PERCENTEQ , TK_SHLEQ ,
  TK_SHREQ , TK_BITWISEOREQ , TK_BITWISEXOREQ , TK_BITWISEANDEQ ,
  TK_SEMICOLON , TK_WHITESPACE , TK_LINE_COMMENT , TK_BLOCK_COMMENT ,
  TK_INVALID , TK_NONE
}
 

Public Member Functions

 Token ()
 
 Token (Kind kind, int32_t offset, int32_t length)
 

Public Attributes

Kind fKind = Kind::TK_NONE
 
int32_t fOffset = -1
 
int32_t fLength = -1
 

Detailed Description

Definition at line 16 of file SkSLLexer.h.

Member Enumeration Documentation

◆ Kind

enum class SkSL::Token::Kind
strong
Enumerator
TK_END_OF_FILE 
TK_FLOAT_LITERAL 
TK_INT_LITERAL 
TK_BAD_OCTAL 
TK_TRUE_LITERAL 
TK_FALSE_LITERAL 
TK_IF 
TK_ELSE 
TK_FOR 
TK_WHILE 
TK_DO 
TK_SWITCH 
TK_CASE 
TK_DEFAULT 
TK_BREAK 
TK_CONTINUE 
TK_DISCARD 
TK_RETURN 
TK_IN 
TK_OUT 
TK_INOUT 
TK_UNIFORM 
TK_CONST 
TK_FLAT 
TK_NOPERSPECTIVE 
TK_INLINE 
TK_NOINLINE 
TK_PURE 
TK_READONLY 
TK_WRITEONLY 
TK_BUFFER 
TK_STRUCT 
TK_LAYOUT 
TK_HIGHP 
TK_MEDIUMP 
TK_LOWP 
TK_ES3 
TK_EXPORT 
TK_WORKGROUP 
TK_PIXELLOCAL 
TK_RESERVED 
TK_PRIVATE_IDENTIFIER 
TK_IDENTIFIER 
TK_DIRECTIVE 
TK_LPAREN 
TK_RPAREN 
TK_LBRACE 
TK_RBRACE 
TK_LBRACKET 
TK_RBRACKET 
TK_DOT 
TK_COMMA 
TK_PLUSPLUS 
TK_MINUSMINUS 
TK_PLUS 
TK_MINUS 
TK_STAR 
TK_SLASH 
TK_PERCENT 
TK_SHL 
TK_SHR 
TK_BITWISEOR 
TK_BITWISEXOR 
TK_BITWISEAND 
TK_BITWISENOT 
TK_LOGICALOR 
TK_LOGICALXOR 
TK_LOGICALAND 
TK_LOGICALNOT 
TK_QUESTION 
TK_COLON 
TK_EQ 
TK_EQEQ 
TK_NEQ 
TK_GT 
TK_LT 
TK_GTEQ 
TK_LTEQ 
TK_PLUSEQ 
TK_MINUSEQ 
TK_STAREQ 
TK_SLASHEQ 
TK_PERCENTEQ 
TK_SHLEQ 
TK_SHREQ 
TK_BITWISEOREQ 
TK_BITWISEXOREQ 
TK_BITWISEANDEQ 
TK_SEMICOLON 
TK_WHITESPACE 
TK_LINE_COMMENT 
TK_BLOCK_COMMENT 
TK_INVALID 
TK_NONE 

Definition at line 17 of file SkSLLexer.h.

17 {
18 TK_END_OF_FILE,
19 TK_FLOAT_LITERAL,
20 TK_INT_LITERAL,
21 TK_BAD_OCTAL,
22 TK_TRUE_LITERAL,
23 TK_FALSE_LITERAL,
24 TK_IF,
25 TK_ELSE,
26 TK_FOR,
27 TK_WHILE,
28 TK_DO,
29 TK_SWITCH,
30 TK_CASE,
31 TK_DEFAULT,
32 TK_BREAK,
33 TK_CONTINUE,
34 TK_DISCARD,
35 TK_RETURN,
36 TK_IN,
37 TK_OUT,
38 TK_INOUT,
39 TK_UNIFORM,
40 TK_CONST,
41 TK_FLAT,
42 TK_NOPERSPECTIVE,
43 TK_INLINE,
44 TK_NOINLINE,
45 TK_PURE,
46 TK_READONLY,
47 TK_WRITEONLY,
48 TK_BUFFER,
49 TK_STRUCT,
50 TK_LAYOUT,
51 TK_HIGHP,
52 TK_MEDIUMP,
53 TK_LOWP,
54 TK_ES3,
55 TK_EXPORT,
56 TK_WORKGROUP,
57 TK_PIXELLOCAL,
58 TK_RESERVED,
59 TK_PRIVATE_IDENTIFIER,
60 TK_IDENTIFIER,
61 TK_DIRECTIVE,
62 TK_LPAREN,
63 TK_RPAREN,
64 TK_LBRACE,
65 TK_RBRACE,
66 TK_LBRACKET,
67 TK_RBRACKET,
68 TK_DOT,
69 TK_COMMA,
70 TK_PLUSPLUS,
71 TK_MINUSMINUS,
72 TK_PLUS,
73 TK_MINUS,
74 TK_STAR,
75 TK_SLASH,
76 TK_PERCENT,
77 TK_SHL,
78 TK_SHR,
79 TK_BITWISEOR,
80 TK_BITWISEXOR,
81 TK_BITWISEAND,
82 TK_BITWISENOT,
83 TK_LOGICALOR,
84 TK_LOGICALXOR,
85 TK_LOGICALAND,
86 TK_LOGICALNOT,
87 TK_QUESTION,
88 TK_COLON,
89 TK_EQ,
90 TK_EQEQ,
91 TK_NEQ,
92 TK_GT,
93 TK_LT,
94 TK_GTEQ,
95 TK_LTEQ,
96 TK_PLUSEQ,
97 TK_MINUSEQ,
98 TK_STAREQ,
99 TK_SLASHEQ,
100 TK_PERCENTEQ,
101 TK_SHLEQ,
102 TK_SHREQ,
103 TK_BITWISEOREQ,
104 TK_BITWISEXOREQ,
105 TK_BITWISEANDEQ,
106 TK_SEMICOLON,
107 TK_WHITESPACE,
108 TK_LINE_COMMENT,
109 TK_BLOCK_COMMENT,
110 TK_INVALID,
111 TK_NONE,
112 };

Constructor & Destructor Documentation

◆ Token() [1/2]

SkSL::Token::Token ( )
inline

Definition at line 114 of file SkSLLexer.h.

114{}

◆ Token() [2/2]

SkSL::Token::Token ( Kind  kind,
int32_t  offset,
int32_t  length 
)
inline

Definition at line 115 of file SkSLLexer.h.

116 : fKind(kind), fOffset(offset), fLength(length) {}
size_t length
SeparatedVector2 offset
int32_t fOffset
Definition: SkSLLexer.h:119
Kind fKind
Definition: SkSLLexer.h:118
int32_t fLength
Definition: SkSLLexer.h:120

Member Data Documentation

◆ fKind

Kind SkSL::Token::fKind = Kind::TK_NONE

Definition at line 118 of file SkSLLexer.h.

◆ fLength

int32_t SkSL::Token::fLength = -1

Definition at line 120 of file SkSLLexer.h.

◆ fOffset

int32_t SkSL::Token::fOffset = -1

Definition at line 119 of file SkSLLexer.h.


The documentation for this struct was generated from the following file: