From 22cf156a61341d9bcf772ff93969021c4b5f88aa Mon Sep 17 00:00:00 2001 From: Ingvar Stepanyan Date: Wed, 8 Apr 2015 19:20:17 +0300 Subject: [PATCH] Removed deprecated Mozilla Parser API defs in favor of ESTree. Original PR: #3201 Removed as per: #4052 --- .../mozilla-spidermonkey-parser-api-tests.ts | 127 ---- .../mozilla-spidermonkey-parser-api.d.ts | 614 ------------------ 2 files changed, 741 deletions(-) delete mode 100644 mozilla-spidermonkey-parser-api/mozilla-spidermonkey-parser-api-tests.ts delete mode 100644 mozilla-spidermonkey-parser-api/mozilla-spidermonkey-parser-api.d.ts diff --git a/mozilla-spidermonkey-parser-api/mozilla-spidermonkey-parser-api-tests.ts b/mozilla-spidermonkey-parser-api/mozilla-spidermonkey-parser-api-tests.ts deleted file mode 100644 index 76dba72a5..000000000 --- a/mozilla-spidermonkey-parser-api/mozilla-spidermonkey-parser-api-tests.ts +++ /dev/null @@ -1,127 +0,0 @@ -/// - -import Syntax = spiderMonkeyParserAPI.Syntax; - -var literal:Syntax.Literal = { - loc: { - source: null, - start: { - line: 1, - column: 10 - }, - end: { - line: 1, - column: 12 - } - }, - type: "Literal", - value: 42 -}; - -// generated by http://esprima.org/demo/parse.html?code=%22use%20strict%22%3B%0A%0Afunction%20Test%20()%20%7B%0A%7D%0A%0ATest.prototype.hello%20%3D%20function(word)%20%7B%0A%09word%20%3D%20word%20%7C%7C%20%22TypeScript%22%3B%0A%09return%20word%3B%0A%7D%3B%0A -var program:Syntax.Program = { - "type": "Program", - "body": [ - { - "type": "ExpressionStatement", - "expression": { - "type": "Literal", - "value": "use strict", - "raw": "\"use strict\"" - } - }, - { - "type": "FunctionDeclaration", - "id": { - "type": "Identifier", - "name": "Test" - }, - "params": [], - "defaults": [], - "body": { - "type": "BlockStatement", - "body": [] - }, - "rest": null, - "generator": false, - "expression": false - }, - { - "type": "ExpressionStatement", - "expression": { - "type": "AssignmentExpression", - "operator": "=", - "left": { - "type": "MemberExpression", - "computed": false, - "object": { - "type": "MemberExpression", - "computed": false, - "object": { - "type": "Identifier", - "name": "Test" - }, - "property": { - "type": "Identifier", - "name": "prototype" - } - }, - "property": { - "type": "Identifier", - "name": "hello" - } - }, - "right": { - "type": "FunctionExpression", - "id": null, - "params": [ - { - "type": "Identifier", - "name": "word" - } - ], - "defaults": [], - "body": { - "type": "BlockStatement", - "body": [ - { - "type": "ExpressionStatement", - "expression": { - "type": "AssignmentExpression", - "operator": "=", - "left": { - "type": "Identifier", - "name": "word" - }, - "right": { - "type": "LogicalExpression", - "operator": "||", - "left": { - "type": "Identifier", - "name": "word" - }, - "right": { - "type": "Literal", - "value": "TypeScript", - "raw": "\"TypeScript\"" - } - } - } - }, - { - "type": "ReturnStatement", - "argument": { - "type": "Identifier", - "name": "word" - } - } - ] - }, - "rest": null, - "generator": false, - "expression": false - } - } - } - ] -}; diff --git a/mozilla-spidermonkey-parser-api/mozilla-spidermonkey-parser-api.d.ts b/mozilla-spidermonkey-parser-api/mozilla-spidermonkey-parser-api.d.ts deleted file mode 100644 index e91029137..000000000 --- a/mozilla-spidermonkey-parser-api/mozilla-spidermonkey-parser-api.d.ts +++ /dev/null @@ -1,614 +0,0 @@ -// Type definitions for Mozilla SpiderMonkey Parser API 1.8.5 -// Project: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Parser_API -// Definitions by: vvakame -// Definitions: https://github.com/borisyankov/DefinitelyTyped - -declare module spiderMonkeyParserAPI { - - // NOTE if property can hold null, that property to be optional. - - module Syntax { - /** - * By default, Reflect.parse() produces Node objects, which are plain JavaScript objects (i.e., their prototype derives from the standard Object prototype). - * All node types implement the following interface: - */ - interface Node { - /** - * The type field is a string representing the AST variant type. - * Each subtype of Node is documented below with the specific string of its type field. - * You can use this field to determine which interface a node implements. - */ - type: string; - /** - * The loc field represents the source location information of the node. - * If the parser produced no information about the node's source location, the field is null; otherwise it is an object consisting of a start position (the position of the first character of the parsed source region) and an end position (the position of the first character after the parsed source region): - */ - loc?: SourceLocation; - } - - interface SourceLocation { - source?: string; - start: Position; - end: Position; - } - - /** - * Each Position object consists of a line number (1-indexed) and a column number (0-indexed): - */ - interface Position { - line: number; // uint32 >= 1; - column: number; // uint32 >= 0; - } - - /** - * A complete program source tree. - */ - interface Program extends Node { - type: string; // "Program" - body: Statement[]; - } - - /** - * A function declaration or expression. - * The body of the function may be a block statement, or in the case of an expression closure, an expression. - * If the generator flag is true, the function is a generator function, i.e., contains a yield expression in its body (other than in a nested function). - * If the expression flag is true, the function is an expression closure and the body field is an expression. - */ - interface Function extends Node { - id?: Identifier; - params: Pattern[]; - defaults: Expression[]; - rest?: Identifier; - body?: BlockStatement | Expression; - generator: boolean; - expression: boolean; - } - - /** - * Any statement. - */ - interface Statement extends Node { - } - - /** - * An empty statement, i.e., a solitary semicolon. - */ - interface EmptyStatement extends Statement { - type: string; // "EmptyStatement"; - } - - /** - * A block statement, i.e., a sequence of statements surrounded by braces. - */ - interface BlockStatement extends Statement { - type: string; // "BlockStatement"; - body: Statement[]; - } - - /** - * An if statement. - */ - interface IfStatement extends Statement { - type: string; // "IfStatement"; - test: Expression; - consequent: Statement; - alternate?: Statement; - } - - /** - * A labeled statement, i.e., a statement prefixed by a break/continue label. - */ - interface LabeledStatement extends Statement { - type: string; // "LabeledStatement"; - label: Identifier; - body: Statement; - } - - /** - * A break statement. - */ - interface BreakStatement extends Statement { - type: string; // "BreakStatement"; - label?: Identifier; - } - - /** - * A continue statement. - */ - interface ContinueStatement extends Statement { - type: string; // "ContinueStatement"; - label?: Identifier; - } - - /** - * A with statement. - */ - interface WithStatement extends Statement { - type: string; // "WithStatement"; - object: Expression; - body: Statement; - } - - /** - * A switch statement. - * The lexical flag is metadata indicating whether the switch statement contains any unnested let declarations (and therefore introduces a new lexical scope). - */ - interface SwitchStatement extends Statement { - type: string; // "SwitchStatement"; - discriminant: Expression; - cases: SwitchCase[]; - lexical: boolean; - } - - /** - * A return statement. - */ - interface ReturnStatement extends Statement { - type: string; // "ReturnStatement"; - argument?: Expression; - } - - /** - * A throw statement. - */ - interface ThrowStatement extends Statement { - type: string; // "ThrowStatement"; - argument: Expression; - } - - /** - * A try statement. - */ - interface TryStatement extends Statement { - type: string; //"TryStatement"; - block: BlockStatement; - handler?: CatchClause; - guardedHandlers: CatchClause[]; - finalizer?: BlockStatement; - } - - /** - * A while statement. - */ - interface WhileStatement extends Statement { - type: string; // "WhileStatement"; - test: Expression; - body: Statement; - } - - /** - * A do/while statement. - */ - interface DoWhileStatement extends Statement { - type: string; // "DoWhileStatement"; - body: Statement; - test: Expression; - } - - /** - * A for statement. - */ - interface ForStatement extends Statement { - type: string; // "ForStatement"; - init?: VariableDeclaration | Expression; - test?: Expression; - update?: Expression; - body: Statement; - } - - /** - * A for/in statement, or, if each is true, a for each/in statement. - */ - interface ForInStatement extends Statement { - type: string; // "ForInStatement"; - left: VariableDeclaration | Expression; - right: Expression; - body: Statement; - each: boolean; - } - - /** - * A for/of statement. - */ - interface ForOfStatement extends Statement { - type: string; // "ForOfStatement"; - left: VariableDeclaration | Expression; - right: Expression; - body: Statement; - } - - /** - * A let statement. - */ - interface LetStatement extends Statement { - type: string; // "LetStatement"; - head: VariableDeclarator[]; - body: Statement; - } - - /** - * A debugger statement. - */ - interface DebuggerStatement extends Statement { - type: string; // "DebuggerStatement"; - } - - /** - * Any declaration node. Note that declarations are considered statements; this is because declarations can appear in any statement context in the language recognized by the SpiderMonkey parser. - */ - interface Declaration extends Statement { - } - - /** - * A function declaration. - */ - interface FunctionDeclaration extends Function, Declaration { - type: string; // "FunctionDeclaration"; - id: Identifier; // Note: The id field cannot be null. - params: Pattern[]; - defaults: Expression[]; - rest?: Identifier; - body: BlockStatement | Expression; - generator: boolean; - expression: boolean; - } - - /** - * A variable declaration, via one of var, let, or const. - */ - interface VariableDeclaration extends Declaration { - type: string; // "VariableDeclaration"; - declarations: VariableDeclarator[]; - kind: string; // "var" | "let" | "const"; - } - - /** - * A variable declarator. - */ - interface VariableDeclarator extends Node { - type: string; // "VariableDeclarator"; - id: Pattern; // Note: The id field cannot be null. - init?: Expression; - } - - /** - * Any expression node. - * Since the left-hand side of an assignment may be any expression in general, an expression can also be a pattern. - */ - interface Expression extends Node, Pattern { - } - - /** - * A this expression. - */ - interface ThisExpression extends Expression { - type: string; // "ThisExpression"; - } - - /** - * An array expression. - */ - interface ArrayExpression extends Expression { - type: string; // "ArrayExpression"; - elements: Expression[]; // [ Expression | null ]; - } - - /** - * An object expression. - */ - interface ObjectExpression extends Expression { - type: string; // "ObjectExpression"; - properties: Property[]; - } - - /** - * A literal property in an object expression can have either a string or number as its value. - * Ordinary property initializers have a kind value "init"; getters and setters have the kind values "get" and "set", respectively. - */ - interface Property extends Node { - type: string; // "Property"; - key: Literal | Identifier; - value: Expression; - kind: string; // "init" | "get" | "set"; - } - - /** - * A function expression. - */ - interface FunctionExpression extends Function, Expression { - type: string; // "FunctionExpression"; - id?: Identifier; - params: Pattern[]; - defaults: Expression[]; - rest?: Identifier; - body: BlockStatement | Expression; - generator: boolean; - expression: boolean; - } - - /** - * A fat arrow function expression, i.e., `let foo = (bar) => { ... body ... }`. - */ - interface ArrowExpression extends Function, Expression { - type: string; // "ArrowExpression"; - params: Pattern[]; - defaults: Expression[]; - rest?: Identifier; - body: BlockStatement | Expression; - generator: boolean; - expression: boolean; - } - - /** - * A sequence expression, i.e., a comma-separated sequence of expressions. - */ - interface SequenceExpression extends Expression { - type: string; // "SequenceExpression"; - expressions: Expression[]; - } - - /** - * A unary operator expression. - */ - interface UnaryExpression extends Expression { - type: string; // "UnaryExpression"; - operator: UnaryOperator; - prefix: boolean; - argument: Expression; - } - - /** - * A binary operator expression. - */ - interface BinaryExpression extends Expression { - type: string; // "BinaryExpression"; - operator: BinaryOperator; - left: Expression; - right: Expression; - } - - /** - * An assignment operator expression. - */ - interface AssignmentExpression extends Expression { - type: string; // "AssignmentExpression"; - operator: AssignmentOperator; - left: Expression; - right: Expression; - } - - /** - * An update (increment or decrement) operator expression. - */ - interface UpdateExpression extends Expression { - type: string; // "UpdateExpression"; - operator: UpdateOperator; - argument: Expression; - prefix: boolean; - } - - /** - * A logical operator expression. - */ - interface LogicalExpression extends Expression { - type: string; // "LogicalExpression"; - operator: LogicalOperator; - left: Expression; - right: Expression; - } - - /** - * A conditional expression, i.e., a ternary ?/: expression. - */ - interface ConditionalExpression extends Expression { - type: string; // "ConditionalExpression"; - test: Expression; - alternate: Expression; - consequent: Expression; - } - - /** - * A new expression. - */ - interface NewExpression extends Expression { - type: string; // "NewExpression"; - callee: Expression; - arguments: Expression[]; - } - - /** - * A function or method call expression. - */ - interface CallExpression extends Expression { - type: string; // "CallExpression"; - callee: Expression; - arguments: Expression[]; - } - - /** - * A member expression. - * If computed === true, the node corresponds to a computed e1[e2] expression and property is an Expression. - * If computed === false, the node corresponds to a static e1.x expression and property is an Identifier. - */ - interface MemberExpression extends Expression { - type: string; // "MemberExpression"; - object: Expression; - property: Identifier | Expression; - computed: boolean; - } - - /** - * A yield expression. - */ - interface YieldExpression extends Expression { - type: string; // "YieldExpression"; - argument?: Expression; - } - - /** - * An array comprehension. - * The blocks array corresponds to the sequence of for and for each blocks. - * The optional filter expression corresponds to the final if clause, if present. - */ - interface ComprehensionExpression extends Expression { - type: string; // "ComprehensionExpression"; - body: Expression; - blocks: ComprehensionBlock[]; - filter?: Expression; - } - - /** - * A generator expression. - * As with array comprehensions, the blocks array corresponds to the sequence of for and for each blocks, and the optional filter expression corresponds to the final if clause, if present. - */ - interface GeneratorExpression extends Expression { - type: string; // "GeneratorExpression"; - body: Expression; - blocks: ComprehensionBlock[]; - filter?: Expression; - } - - /** - * A graph expression, aka "sharp literal," such as #1={ self: #1# }. - */ - interface GraphExpression extends Expression { - type: string; // "GraphExpression"; - index: number; // uint32; - expression: Literal; - } - - /** - * A graph index expression, aka "sharp variable," such as #1#. - */ - interface GraphIndexExpression extends Expression { - type: string; // "GraphIndexExpression"; - index: number; // uint32; - } - - /** - * A let expression. - */ - interface LetExpression extends Expression { - type: string; // "LetExpression"; - head: VariableDeclarator[]; - body: Expression; - } - - /** - * JavaScript 1.7 introduced destructuring assignment and binding forms. - * All binding forms (such as function parameters, variable declarations, and catch block headers) accept array and object destructuring patterns in addition to plain identifiers. - * The left-hand sides of assignment expressions can be arbitrary expressions, but in the case where the expression is an object or array literal, it is interpreted by SpiderMonkey as a destructuring pattern. - * - * Since the left-hand side of an assignment can in general be any expression, in an assignment context, a pattern can be any expression. - * In binding positions (such as function parameters, variable declarations, and catch headers), patterns can only be identifiers in the base case, not arbitrary expressions. - */ - interface Pattern extends Node { - } - - /** - * An object-destructuring pattern. A literal property in an object pattern can have either a string or number as its value. - */ - interface ObjectPattern extends Pattern { - type: string; // "ObjectPattern"; - properties: {key: Literal | Identifier; value: Pattern;}[]; // [ { key: Literal | Identifier, value: Pattern } ]; - } - - /** - * An array-destructuring pattern. - */ - interface ArrayPattern extends Pattern { - type: string; // "ArrayPattern"; - elements: Pattern[]; // [ Pattern | null ]; - } - - /** - * A case (if test is an Expression) or default (if test === null) clause in the body of a switch statement. - */ - interface SwitchCase extends Node { - type: string; // "SwitchCase"; - test?: Expression; - consequent: Statement[]; - } - - /** - * A catch clause following a try block. - * The optional guard property corresponds to the optional expression guard on the bound variable. - */ - interface CatchClause extends Node { - type: string; // "CatchClause"; - param: Pattern; - guard?: Expression; - body: BlockStatement; - } - - /** - * A for or for each block in an array comprehension or generator expression. - */ - interface ComprehensionBlock extends Node { - type: string; // "ComprehensionBlock"; - left: Pattern; - right: Expression; - each: boolean; - } - - /** - * An identifier. - * Note that an identifier may be an expression or a destructuring pattern. - */ - interface Identifier extends Node, Expression, Pattern { - type: string; // "Identifier"; - name: string; - } - - /** - * A literal token. Note that a literal can be an expression. - */ - interface Literal extends Node, Expression { - type: string; // "Literal"; - value?: string | boolean | number | RegExp; - } - - /** - * A unary operator token. - */ - interface UnaryOperator extends String { - // "-" | "+" | "!" | "~" | "typeof" | "void" | "delete" - } - - /** - * A binary operator token. - */ - interface BinaryOperator extends String { - // "==" | "!=" | "===" | "!==" - // | "<" | "<=" | ">" | ">=" - // | "<<" | ">>" | ">>>" - // | "+" | "-" | "*" | "/" | "%" - // | "|" | "^" | "&" | "in" - // | "instanceof" | ".." - // Note: The .. operator is E4X-specific. - } - - /** - * A logical operator token. - */ - interface LogicalOperator extends String { - // "||" | "&&" - } - - /** - * An assignment operator token. - */ - interface AssignmentOperator extends String { - // "=" | "+=" | "-=" | "*=" | "/=" | "%=" - // | "<<=" | ">>=" | ">>>=" - // | "|=" | "^=" | "&=" - } - - /** - * An update (increment or decrement) operator token. - */ - interface UpdateOperator extends String { - // "++" | "--" - } - } -}