Skip to content

Commit

Permalink
feat: support typescript 2.0
Browse files Browse the repository at this point in the history
Fix #63
  • Loading branch information
mgechev committed Jul 6, 2016
1 parent 99595b7 commit 82121b7
Showing 1 changed file with 326 additions and 1 deletion.
327 changes: 326 additions & 1 deletion src/util/syntaxKind.ts
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,16 @@ module SyntaxKind {
GlobalModuleExportDeclaration?: number,
NonNullExpression?: number,
UndefinedKeyword?: number,
ReadonlyKeyword?: number
ReadonlyKeyword?: number,
NeverKeyword?: number; // 2.0,
NamespaceExportDeclaration?: number // 2.0
JSDocTypedefTag?: number, // 2.0
JSDocPropertyTag?: number, // 2.0
JSDocTypeLiteral?: number, // 2.0
FirstJSDocNode?: number, // 2.0
LastJSDocNode?: number, // 2.0
FirstJSDocTagNode?: number, // 2.0
LastJSDocTagNode?: number, // 2.0
}

var cachedKinds: SyntaxKind.SyntaxKind;
Expand Down Expand Up @@ -1785,6 +1794,320 @@ module SyntaxKind {
ReadonlyKeyword: 127
};

var SyntaxKind_2_0: SyntaxKind = {
Unknown: 0,
EndOfFileToken: 1,
SingleLineCommentTrivia: 2,
MultiLineCommentTrivia: 3,
NewLineTrivia: 4,
WhitespaceTrivia: 5,
ShebangTrivia: 6,
ConflictMarkerTrivia: 7,
NumericLiteral: 8,
StringLiteral: 9,
RegularExpressionLiteral: 10,
NoSubstitutionTemplateLiteral: 11,
TemplateHead: 12,
TemplateMiddle: 13,
TemplateTail: 14,
OpenBraceToken: 15,
CloseBraceToken: 16,
OpenParenToken: 17,
CloseParenToken: 18,
OpenBracketToken: 19,
CloseBracketToken: 20,
DotToken: 21,
DotDotDotToken: 22,
SemicolonToken: 23,
CommaToken: 24,
LessThanToken: 25,
LessThanSlashToken: 26,
GreaterThanToken: 27,
LessThanEqualsToken: 28,
GreaterThanEqualsToken: 29,
EqualsEqualsToken: 30,
ExclamationEqualsToken: 31,
EqualsEqualsEqualsToken: 32,
ExclamationEqualsEqualsToken: 33,
EqualsGreaterThanToken: 34,
PlusToken: 35,
MinusToken: 36,
AsteriskToken: 37,
AsteriskAsteriskToken: 38,
SlashToken: 39,
PercentToken: 40,
PlusPlusToken: 41,
MinusMinusToken: 42,
LessThanLessThanToken: 43,
GreaterThanGreaterThanToken: 44,
GreaterThanGreaterThanGreaterThanToken: 45,
AmpersandToken: 46,
BarToken: 47,
CaretToken: 48,
ExclamationToken: 49,
TildeToken: 50,
AmpersandAmpersandToken: 51,
BarBarToken: 52,
QuestionToken: 53,
ColonToken: 54,
AtToken: 55,
EqualsToken: 56,
PlusEqualsToken: 57,
MinusEqualsToken: 58,
AsteriskEqualsToken: 59,
AsteriskAsteriskEqualsToken: 60,
SlashEqualsToken: 61,
PercentEqualsToken: 62,
LessThanLessThanEqualsToken: 63,
GreaterThanGreaterThanEqualsToken: 64,
GreaterThanGreaterThanGreaterThanEqualsToken: 65,
AmpersandEqualsToken: 66,
BarEqualsToken: 67,
CaretEqualsToken: 68,
Identifier: 69,
BreakKeyword: 70,
CaseKeyword: 71,
CatchKeyword: 72,
ClassKeyword: 73,
ConstKeyword: 74,
ContinueKeyword: 75,
DebuggerKeyword: 76,
DefaultKeyword: 77,
DeleteKeyword: 78,
DoKeyword: 79,
ElseKeyword: 80,
EnumKeyword: 81,
ExportKeyword: 82,
ExtendsKeyword: 83,
FalseKeyword: 84,
FinallyKeyword: 85,
ForKeyword: 86,
FunctionKeyword: 87,
IfKeyword: 88,
ImportKeyword: 89,
InKeyword: 90,
InstanceOfKeyword: 91,
NewKeyword: 92,
NullKeyword: 93,
ReturnKeyword: 94,
SuperKeyword: 95,
SwitchKeyword: 96,
ThisKeyword: 97,
ThrowKeyword: 98,
TrueKeyword: 99,
TryKeyword: 100,
TypeOfKeyword: 101,
VarKeyword: 102,
VoidKeyword: 103,
WhileKeyword: 104,
WithKeyword: 105,
ImplementsKeyword: 106,
InterfaceKeyword: 107,
LetKeyword: 108,
PackageKeyword: 109,
PrivateKeyword: 110,
ProtectedKeyword: 111,
PublicKeyword: 112,
StaticKeyword: 113,
YieldKeyword: 114,
AbstractKeyword: 115,
AsKeyword: 116,
AnyKeyword: 117,
AsyncKeyword: 118,
AwaitKeyword: 119,
BooleanKeyword: 120,
ConstructorKeyword: 121,
DeclareKeyword: 122,
GetKeyword: 123,
IsKeyword: 124,
ModuleKeyword: 125,
NamespaceKeyword: 126,
NeverKeyword: 127,
ReadonlyKeyword: 128,
RequireKeyword: 129,
NumberKeyword: 130,
SetKeyword: 131,
StringKeyword: 132,
SymbolKeyword: 133,
TypeKeyword: 134,
UndefinedKeyword: 135,
FromKeyword: 136,
GlobalKeyword: 137,
OfKeyword: 138,
QualifiedName: 139,
ComputedPropertyName: 140,
TypeParameter: 141,
Parameter: 142,
Decorator: 143,
PropertySignature: 144,
PropertyDeclaration: 145,
MethodSignature: 146,
MethodDeclaration: 147,
Constructor: 148,
GetAccessor: 149,
SetAccessor: 150,
CallSignature: 151,
ConstructSignature: 152,
IndexSignature: 153,
TypePredicate: 154,
TypeReference: 155,
FunctionType: 156,
ConstructorType: 157,
TypeQuery: 158,
TypeLiteral: 159,
ArrayType: 160,
TupleType: 161,
UnionType: 162,
IntersectionType: 163,
ParenthesizedType: 164,
ThisType: 165,
StringLiteralType: 166,
ObjectBindingPattern: 167,
ArrayBindingPattern: 168,
BindingElement: 169,
ArrayLiteralExpression: 170,
ObjectLiteralExpression: 171,
PropertyAccessExpression: 172,
ElementAccessExpression: 173,
CallExpression: 174,
NewExpression: 175,
TaggedTemplateExpression: 176,
TypeAssertionExpression: 177,
ParenthesizedExpression: 178,
FunctionExpression: 179,
ArrowFunction: 180,
DeleteExpression: 181,
TypeOfExpression: 182,
VoidExpression: 183,
AwaitExpression: 184,
PrefixUnaryExpression: 185,
PostfixUnaryExpression: 186,
BinaryExpression: 187,
ConditionalExpression: 188,
TemplateExpression: 189,
YieldExpression: 190,
SpreadElementExpression: 191,
ClassExpression: 192,
OmittedExpression: 193,
ExpressionWithTypeArguments: 194,
AsExpression: 195,
NonNullExpression: 196,
TemplateSpan: 197,
SemicolonClassElement: 198,
Block: 199,
VariableStatement: 200,
EmptyStatement: 201,
ExpressionStatement: 202,
IfStatement: 203,
DoStatement: 204,
WhileStatement: 205,
ForStatement: 206,
ForInStatement: 207,
ForOfStatement: 208,
ContinueStatement: 209,
BreakStatement: 210,
ReturnStatement: 211,
WithStatement: 212,
SwitchStatement: 213,
LabeledStatement: 214,
ThrowStatement: 215,
TryStatement: 216,
DebuggerStatement: 217,
VariableDeclaration: 218,
VariableDeclarationList: 219,
FunctionDeclaration: 220,
ClassDeclaration: 221,
InterfaceDeclaration: 222,
TypeAliasDeclaration: 223,
EnumDeclaration: 224,
ModuleDeclaration: 225,
ModuleBlock: 226,
CaseBlock: 227,
NamespaceExportDeclaration: 228,
ImportEqualsDeclaration: 229,
ImportDeclaration: 230,
ImportClause: 231,
NamespaceImport: 232,
NamedImports: 233,
ImportSpecifier: 234,
ExportAssignment: 235,
ExportDeclaration: 236,
NamedExports: 237,
ExportSpecifier: 238,
MissingDeclaration: 239,
ExternalModuleReference: 240,
JsxElement: 241,
JsxSelfClosingElement: 242,
JsxOpeningElement: 243,
JsxText: 244,
JsxClosingElement: 245,
JsxAttribute: 246,
JsxSpreadAttribute: 247,
JsxExpression: 248,
CaseClause: 249,
DefaultClause: 250,
HeritageClause: 251,
CatchClause: 252,
PropertyAssignment: 253,
ShorthandPropertyAssignment: 254,
EnumMember: 255,
SourceFile: 256,
JSDocTypeExpression: 257,
JSDocAllType: 258,
JSDocUnknownType: 259,
JSDocArrayType: 260,
JSDocUnionType: 261,
JSDocTupleType: 262,
JSDocNullableType: 263,
JSDocNonNullableType: 264,
JSDocRecordType: 265,
JSDocRecordMember: 266,
JSDocTypeReference: 267,
JSDocOptionalType: 268,
JSDocFunctionType: 269,
JSDocVariadicType: 270,
JSDocConstructorType: 271,
JSDocThisType: 272,
JSDocComment: 273,
JSDocTag: 274,
JSDocParameterTag: 275,
JSDocReturnTag: 276,
JSDocTypeTag: 277,
JSDocTemplateTag: 278,
JSDocTypedefTag: 279,
JSDocPropertyTag: 280,
JSDocTypeLiteral: 281,
SyntaxList: 282,
Count: 283,
FirstAssignment: 56,
LastAssignment: 68,
FirstReservedWord: 70,
LastReservedWord: 105,
FirstKeyword: 70,
LastKeyword: 138,
FirstFutureReservedWord: 106,
LastFutureReservedWord: 114,
FirstTypeNode: 154,
LastTypeNode: 166,
FirstPunctuation: 15,
LastPunctuation: 68,
FirstToken: 0,
LastToken: 138,
FirstTriviaToken: 2,
LastTriviaToken: 7,
FirstLiteralToken: 8,
LastLiteralToken: 11,
FirstTemplateToken: 11,
LastTemplateToken: 14,
FirstBinaryOperator: 25,
LastBinaryOperator: 68,
FirstNode: 139,
FirstJSDocNode: 257,
LastJSDocNode: 281,
FirstJSDocTagNode: 273,
LastJSDocTagNode: 281,
};

export function current(): SyntaxKind.SyntaxKind {
if (cachedKinds == null) {
if (/1\.5\..*/.test(ts.version)) {
Expand All @@ -1797,6 +2120,8 @@ module SyntaxKind {
cachedKinds = SyntaxKind_1_8;
} else if (/1\.9\..*/.test(ts.version)) {
cachedKinds = SyntaxKind_1_9;
} else if (/2\.0\..*/.test(ts.version)) {
cachedKinds = SyntaxKind_2_0;
} else {
throw new Error('Unsupported TypeScript version: ' + ts.version);
}
Expand Down

0 comments on commit 82121b7

Please sign in to comment.