Skip to content

Commit bcf319f

Browse files
Merge pull request #1028 from Microsoft/abstractTrees
Remove abstract syntax tree generation support from fidelity.
2 parents 72da291 + 0962a88 commit bcf319f

9 files changed

+118
-822
lines changed

src/services/syntax/SyntaxGenerator.js

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2596,21 +2596,7 @@ function generateSyntaxInterfaces() {
25962596
}
25972597
result += generateSyntaxInterface(definition);
25982598
}
2599-
result += "\r\n\r\n";
2600-
result += " export module Syntax {\r\n";
2601-
result += " export interface ISyntaxFactory {\r\n";
2602-
result += " isConcrete: boolean;\r\n";
2603-
for (var i = 0; i < definitions.length; i++) {
2604-
var definition = definitions[i];
2605-
result += " " + definition.name + ": { new(data: number";
2606-
for (var j = 0; j < definition.children.length; j++) {
2607-
var child = definition.children[j];
2608-
result += ", " + child.name + ": " + getType(child);
2609-
}
2610-
result += "): " + definition.name + " };\r\n";
2611-
}
2612-
result += " }\r\n";
2613-
result += " }\r\n";
2599+
result += "\r\n";
26142600
result += "}";
26152601
return result;
26162602
}
@@ -2633,13 +2619,8 @@ function generateSyntaxInterface(definition) {
26332619
}
26342620
function generateNodes(abstract) {
26352621
var result = "///<reference path='references.ts' />\r\n\r\n";
2636-
result += "module TypeScript.Syntax.";
2637-
var moduleName = abstract ? "Abstract" : "Concrete";
2638-
result += moduleName;
2622+
result += "module TypeScript";
26392623
result += " {\r\n";
2640-
result += " // Inject this module as the factory for producing syntax nodes in the parser.\r\n";
2641-
result += " Parser.syntaxFactory = " + moduleName + ";\r\n";
2642-
result += " export var isConcrete: boolean = " + !abstract + ";\r\n\r\n";
26432624
for (var i = 0; i < definitions.length; i++) {
26442625
var definition = definitions[i];
26452626
if (i > 0) {

src/services/syntax/incrementalParser.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -855,7 +855,6 @@ module TypeScript.IncrementalParser {
855855
var setTokenFullStartWalker = new SetTokenFullStartWalker();
856856

857857
export function parse(oldSyntaxTree: SyntaxTree, textChangeRange: TextChangeRange, newText: ISimpleText): SyntaxTree {
858-
Debug.assert(oldSyntaxTree.isConcrete(), "Can only incrementally parse a concrete syntax tree.");
859858
if (textChangeRange.isUnchanged()) {
860859
return oldSyntaxTree;
861860
}

src/services/syntax/parser.ts

Lines changed: 112 additions & 123 deletions
Large diffs are not rendered by default.

src/services/syntax/references.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
///<reference path='syntaxList.ts' />
2020
///<reference path='syntaxNode.ts' />
2121
///<reference path='syntaxNodeOrToken.ts' />
22-
///<reference path='syntaxNodes.interfaces.generated.ts' />
2322

2423
// SyntaxDedenter depends on SyntaxRewriter
2524
// ///<reference path='syntaxDedenter.ts' />

src/services/syntax/syntaxGenerator.ts

Lines changed: 2 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -2036,49 +2036,7 @@ function generateSyntaxInterfaces(): string {
20362036
result += generateSyntaxInterface(definition);
20372037
}
20382038

2039-
result += "\r\n\r\n";
2040-
2041-
/*
2042-
result += " export var nodeMetadata: string[][] = [";
2043-
for (var i = 0; i <= TypeScript.SyntaxKind.LastNode; i++) {
2044-
if (i < TypeScript.SyntaxKind.FirstNode) {
2045-
result += "[],";
2046-
continue;
2047-
}
2048-
2049-
var kindName = syntaxKindName(i);
2050-
2051-
var definition = getDefinitionForKind(i);
2052-
2053-
var metadata = "[";
2054-
var children = definition.children.filter(m => m.type !== "SyntaxKind").map(m => '"' + m.name + '"');
2055-
metadata += children.join(",");
2056-
metadata += "],";
2057-
2058-
result += metadata;
2059-
}
2060-
result += "];\r\n\r\n";
2061-
*/
2062-
2063-
result += " export module Syntax {\r\n"
2064-
2065-
result += " export interface ISyntaxFactory {\r\n";
2066-
result += " isConcrete: boolean;\r\n";
2067-
2068-
for (var i = 0; i < definitions.length; i++) {
2069-
var definition = definitions[i];
2070-
result += " " + definition.name + ": { new(data: number";
2071-
2072-
for (var j = 0; j < definition.children.length; j++) {
2073-
var child = definition.children[j];
2074-
result += ", " + child.name + ": " + getType(child);
2075-
}
2076-
2077-
result += "): " + definition.name + " };\r\n";
2078-
}
2079-
2080-
result += " }\r\n";
2081-
result += " }\r\n";
2039+
result += "\r\n";
20822040

20832041
result += "}";
20842042
return result;
@@ -2112,16 +2070,9 @@ function generateSyntaxInterface(definition: ITypeDefinition): string {
21122070
function generateNodes(abstract: boolean): string {
21132071
var result = "///<reference path='references.ts' />\r\n\r\n";
21142072

2115-
result += "module TypeScript.Syntax.";
2116-
2117-
var moduleName = abstract ? "Abstract" : "Concrete";
2118-
result += moduleName;
2073+
result += "module TypeScript";
21192074

21202075
result += " {\r\n";
2121-
result += " // Inject this module as the factory for producing syntax nodes in the parser.\r\n";
2122-
result += " Parser.syntaxFactory = " + moduleName + ";\r\n";
2123-
result += " export var isConcrete: boolean = " + !abstract + ";\r\n\r\n";
2124-
21252076
for (var i = 0; i < definitions.length; i++) {
21262077
var definition = definitions[i];
21272078

@@ -2131,24 +2082,6 @@ function generateNodes(abstract: boolean): string {
21312082

21322083
result += generateNode(definition, abstract);
21332084
}
2134-
/*
2135-
result += "\r\n\r\n ";
2136-
2137-
for (var i = 0; i < definitions.length; i++) {
2138-
var definition = definitions[i];
2139-
2140-
if (definition.syntaxKinds) {
2141-
continue;
2142-
}
2143-
2144-
if (i) {
2145-
result += ", "
2146-
}
2147-
2148-
result += "(<any>" + definition.name + ").prototype.__kind = SyntaxKind." + getNameWithoutSuffix(definition)
2149-
}
2150-
2151-
result += ";\r\n";*/
21522085

21532086
result += "\r\n}";
21542087
return result;
@@ -2834,7 +2767,6 @@ var defaultVisitor = generateDefaultVisitor();
28342767
var servicesUtilities = generateServicesUtilities();
28352768

28362769
sys.writeFile(sys.getCurrentDirectory() + "\\src\\services\\syntax\\syntaxNodes.concrete.generated.ts", syntaxNodesConcrete, false);
2837-
sys.writeFile(sys.getCurrentDirectory() + "\\src\\services\\syntax\\syntaxNodes.interfaces.generated.ts", syntaxInterfaces, false);
28382770
sys.writeFile(sys.getCurrentDirectory() + "\\src\\services\\syntax\\syntaxRewriter.generated.ts", rewriter, false);
28392771
sys.writeFile(sys.getCurrentDirectory() + "\\src\\services\\syntax\\syntaxWalker.generated.ts", walker, false);
28402772
sys.writeFile(sys.getCurrentDirectory() + "\\src\\services\\syntax\\scannerUtilities.generated.ts", scannerUtilities, false);

0 commit comments

Comments
 (0)