mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-06 02:33:53 -06:00
Remove SyntaxNode class
This commit is contained in:
parent
329d3d5f13
commit
4ebd2a2240
@ -2536,12 +2536,13 @@ function generateUpdateMethod(definition) {
|
||||
return result;
|
||||
}
|
||||
function generateNode(definition, abstract) {
|
||||
var result = " export class " + definition.name + " extends SyntaxNode";
|
||||
var result = " export class " + definition.name + " implements ISyntaxNode";
|
||||
if (definition.interfaces) {
|
||||
result += " implements ";
|
||||
result += ", ";
|
||||
result += definition.interfaces.join(", ");
|
||||
}
|
||||
result += " {\r\n";
|
||||
result += " public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;\r\n";
|
||||
if (definition.name === "SourceUnitSyntax") {
|
||||
result += " public syntaxTree: SyntaxTree = undefined;\r\n";
|
||||
}
|
||||
@ -2556,7 +2557,7 @@ function generateNode(definition, abstract) {
|
||||
result += ", " + getSafeName(child) + ": " + getType(child);
|
||||
}
|
||||
result += ") {\r\n";
|
||||
result += " super(data);\r\n";
|
||||
result += " if (data) { this.__data = data; }\r\n";
|
||||
if (definition.name === "SourceUnitSyntax") {
|
||||
result += " this.parent = undefined,\r\n";
|
||||
}
|
||||
|
||||
@ -2,6 +2,117 @@
|
||||
|
||||
module TypeScript {
|
||||
export module ScannerUtilities {
|
||||
export function fixedWidthTokenLength(kind: SyntaxKind) {
|
||||
switch (kind) {
|
||||
case SyntaxKind.BreakKeyword: return 5;
|
||||
case SyntaxKind.CaseKeyword: return 4;
|
||||
case SyntaxKind.CatchKeyword: return 5;
|
||||
case SyntaxKind.ContinueKeyword: return 8;
|
||||
case SyntaxKind.DebuggerKeyword: return 8;
|
||||
case SyntaxKind.DefaultKeyword: return 7;
|
||||
case SyntaxKind.DeleteKeyword: return 6;
|
||||
case SyntaxKind.DoKeyword: return 2;
|
||||
case SyntaxKind.ElseKeyword: return 4;
|
||||
case SyntaxKind.FalseKeyword: return 5;
|
||||
case SyntaxKind.FinallyKeyword: return 7;
|
||||
case SyntaxKind.ForKeyword: return 3;
|
||||
case SyntaxKind.FunctionKeyword: return 8;
|
||||
case SyntaxKind.IfKeyword: return 2;
|
||||
case SyntaxKind.InKeyword: return 2;
|
||||
case SyntaxKind.InstanceOfKeyword: return 10;
|
||||
case SyntaxKind.NewKeyword: return 3;
|
||||
case SyntaxKind.NullKeyword: return 4;
|
||||
case SyntaxKind.ReturnKeyword: return 6;
|
||||
case SyntaxKind.SwitchKeyword: return 6;
|
||||
case SyntaxKind.ThisKeyword: return 4;
|
||||
case SyntaxKind.ThrowKeyword: return 5;
|
||||
case SyntaxKind.TrueKeyword: return 4;
|
||||
case SyntaxKind.TryKeyword: return 3;
|
||||
case SyntaxKind.TypeOfKeyword: return 6;
|
||||
case SyntaxKind.VarKeyword: return 3;
|
||||
case SyntaxKind.VoidKeyword: return 4;
|
||||
case SyntaxKind.WhileKeyword: return 5;
|
||||
case SyntaxKind.WithKeyword: return 4;
|
||||
case SyntaxKind.ClassKeyword: return 5;
|
||||
case SyntaxKind.ConstKeyword: return 5;
|
||||
case SyntaxKind.EnumKeyword: return 4;
|
||||
case SyntaxKind.ExportKeyword: return 6;
|
||||
case SyntaxKind.ExtendsKeyword: return 7;
|
||||
case SyntaxKind.ImportKeyword: return 6;
|
||||
case SyntaxKind.SuperKeyword: return 5;
|
||||
case SyntaxKind.ImplementsKeyword: return 10;
|
||||
case SyntaxKind.InterfaceKeyword: return 9;
|
||||
case SyntaxKind.LetKeyword: return 3;
|
||||
case SyntaxKind.PackageKeyword: return 7;
|
||||
case SyntaxKind.PrivateKeyword: return 7;
|
||||
case SyntaxKind.ProtectedKeyword: return 9;
|
||||
case SyntaxKind.PublicKeyword: return 6;
|
||||
case SyntaxKind.StaticKeyword: return 6;
|
||||
case SyntaxKind.YieldKeyword: return 5;
|
||||
case SyntaxKind.AnyKeyword: return 3;
|
||||
case SyntaxKind.BooleanKeyword: return 7;
|
||||
case SyntaxKind.ConstructorKeyword: return 11;
|
||||
case SyntaxKind.DeclareKeyword: return 7;
|
||||
case SyntaxKind.GetKeyword: return 3;
|
||||
case SyntaxKind.ModuleKeyword: return 6;
|
||||
case SyntaxKind.RequireKeyword: return 7;
|
||||
case SyntaxKind.NumberKeyword: return 6;
|
||||
case SyntaxKind.SetKeyword: return 3;
|
||||
case SyntaxKind.StringKeyword: return 6;
|
||||
case SyntaxKind.OpenBraceToken: return 1;
|
||||
case SyntaxKind.CloseBraceToken: return 1;
|
||||
case SyntaxKind.OpenParenToken: return 1;
|
||||
case SyntaxKind.CloseParenToken: return 1;
|
||||
case SyntaxKind.OpenBracketToken: return 1;
|
||||
case SyntaxKind.CloseBracketToken: return 1;
|
||||
case SyntaxKind.DotToken: return 1;
|
||||
case SyntaxKind.DotDotDotToken: return 3;
|
||||
case SyntaxKind.SemicolonToken: return 1;
|
||||
case SyntaxKind.CommaToken: return 1;
|
||||
case SyntaxKind.LessThanToken: return 1;
|
||||
case SyntaxKind.GreaterThanToken: return 1;
|
||||
case SyntaxKind.LessThanEqualsToken: return 2;
|
||||
case SyntaxKind.GreaterThanEqualsToken: return 2;
|
||||
case SyntaxKind.EqualsEqualsToken: return 2;
|
||||
case SyntaxKind.EqualsGreaterThanToken: return 2;
|
||||
case SyntaxKind.ExclamationEqualsToken: return 2;
|
||||
case SyntaxKind.EqualsEqualsEqualsToken: return 3;
|
||||
case SyntaxKind.ExclamationEqualsEqualsToken: return 3;
|
||||
case SyntaxKind.PlusToken: return 1;
|
||||
case SyntaxKind.MinusToken: return 1;
|
||||
case SyntaxKind.AsteriskToken: return 1;
|
||||
case SyntaxKind.PercentToken: return 1;
|
||||
case SyntaxKind.PlusPlusToken: return 2;
|
||||
case SyntaxKind.MinusMinusToken: return 2;
|
||||
case SyntaxKind.LessThanLessThanToken: return 2;
|
||||
case SyntaxKind.GreaterThanGreaterThanToken: return 2;
|
||||
case SyntaxKind.GreaterThanGreaterThanGreaterThanToken: return 3;
|
||||
case SyntaxKind.AmpersandToken: return 1;
|
||||
case SyntaxKind.BarToken: return 1;
|
||||
case SyntaxKind.CaretToken: return 1;
|
||||
case SyntaxKind.ExclamationToken: return 1;
|
||||
case SyntaxKind.TildeToken: return 1;
|
||||
case SyntaxKind.AmpersandAmpersandToken: return 2;
|
||||
case SyntaxKind.BarBarToken: return 2;
|
||||
case SyntaxKind.QuestionToken: return 1;
|
||||
case SyntaxKind.ColonToken: return 1;
|
||||
case SyntaxKind.EqualsToken: return 1;
|
||||
case SyntaxKind.PlusEqualsToken: return 2;
|
||||
case SyntaxKind.MinusEqualsToken: return 2;
|
||||
case SyntaxKind.AsteriskEqualsToken: return 2;
|
||||
case SyntaxKind.PercentEqualsToken: return 2;
|
||||
case SyntaxKind.LessThanLessThanEqualsToken: return 3;
|
||||
case SyntaxKind.GreaterThanGreaterThanEqualsToken: return 3;
|
||||
case SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken: return 4;
|
||||
case SyntaxKind.AmpersandEqualsToken: return 2;
|
||||
case SyntaxKind.BarEqualsToken: return 2;
|
||||
case SyntaxKind.CaretEqualsToken: return 2;
|
||||
case SyntaxKind.SlashToken: return 1;
|
||||
case SyntaxKind.SlashEqualsToken: return 2;
|
||||
default: throw new Error();
|
||||
}
|
||||
}
|
||||
|
||||
export function identifierKind(str: string, start: number, length: number): SyntaxKind {
|
||||
switch (length) {
|
||||
case 2: // do, if, in
|
||||
|
||||
@ -1939,14 +1939,16 @@ function generateUpdateMethod(definition: ITypeDefinition): string {
|
||||
}
|
||||
|
||||
function generateNode(definition: ITypeDefinition, abstract: boolean): string {
|
||||
var result = " export class " + definition.name + " extends SyntaxNode"
|
||||
var result = " export class " + definition.name + " implements ISyntaxNode" // + " extends SyntaxNode"
|
||||
|
||||
if (definition.interfaces) {
|
||||
result += " implements ";
|
||||
// result += " implements ";
|
||||
result += ", ";
|
||||
result += definition.interfaces.join(", ");
|
||||
}
|
||||
|
||||
result += " {\r\n";
|
||||
result += " public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;\r\n";
|
||||
|
||||
if (definition.name === "SourceUnitSyntax") {
|
||||
result += " public syntaxTree: SyntaxTree = undefined;\r\n";
|
||||
@ -1967,7 +1969,7 @@ function generateNode(definition: ITypeDefinition, abstract: boolean): string {
|
||||
}
|
||||
|
||||
result += ") {\r\n";
|
||||
result += " super(data);\r\n";
|
||||
result += " if (data) { this.__data = data; }\r\n";
|
||||
|
||||
if (definition.name === "SourceUnitSyntax") {
|
||||
result += " this.parent = undefined,\r\n";
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
///<reference path='references.ts' />
|
||||
|
||||
module TypeScript {
|
||||
/*
|
||||
export class SyntaxNode implements ISyntaxNode {
|
||||
// private __kind: SyntaxKind;
|
||||
public __data: number;
|
||||
@ -29,4 +30,5 @@ module TypeScript {
|
||||
throw Errors.abstract();
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user