@@ -2,7 +2,7 @@ import {expect} from "chai";
2
2
3
3
import { ASTTransformer , Child , GenericErrorNode , GenericNode , Node , Position } from "../src" ;
4
4
import { SimpleLangLexer } from "./parser/SimpleLangLexer" ;
5
- import { CharStreams , CommonTokenStream , ParserRuleContext } from "antlr4ng" ;
5
+ import { CharStream , CommonTokenStream , ParserRuleContext } from "antlr4ng" ;
6
6
import { CompilationUnitContext , DisplayStmtContext , SetStmtContext , SimpleLangParser } from "./parser/SimpleLangParser" ;
7
7
import { ParseTreeOrigin } from "../src/parsing" ;
8
8
import { ParseTreeToASTTransformer } from "../src/mapping" ;
@@ -56,14 +56,14 @@ describe('Mapping of Parse Trees to ASTs', function() {
56
56
it ( "Generic node" ,
57
57
function ( ) {
58
58
const transformer = new ParseTreeToASTTransformer ( ) ;
59
- const node = transformer . transform ( new ParserRuleContext ( ) ) ;
59
+ const node = transformer . transform ( new ParserRuleContext ( null ) ) ;
60
60
expect ( node ) . not . to . be . undefined ;
61
61
expect ( node instanceof GenericNode ) . to . be . true ;
62
62
} ) ;
63
63
it ( "Node registered declaratively" ,
64
64
function ( ) {
65
65
const code = "set foo = 123 + 45" ;
66
- const lexer = new SimpleLangLexer ( CharStreams . fromString ( code ) ) ;
66
+ const lexer = new SimpleLangLexer ( CharStream . fromString ( code ) ) ;
67
67
const parser = new SimpleLangParser ( new CommonTokenStream ( lexer ) ) ;
68
68
const cu = parser . compilationUnit ( ) ;
69
69
const setStmt = cu . statement ( 0 ) as SetStmtContext ;
@@ -84,7 +84,7 @@ describe('Mapping of Parse Trees to ASTs', function() {
84
84
describe ( 'ParseTreeToASTTransformer' , function ( ) {
85
85
it ( "Test ParseTree Transformer" , function ( ) {
86
86
const code = "set foo = 123\ndisplay 456" ;
87
- const lexer = new SimpleLangLexer ( CharStreams . fromString ( code ) ) ;
87
+ const lexer = new SimpleLangLexer ( CharStream . fromString ( code ) ) ;
88
88
const parser = new SimpleLangParser ( new CommonTokenStream ( lexer ) ) ;
89
89
const pt = parser . compilationUnit ( ) ;
90
90
@@ -104,7 +104,7 @@ describe('ParseTreeToASTTransformer', function () {
104
104
} ) ;
105
105
it ( "Test transformation with errors" , function ( ) {
106
106
const code = "set foo = \ndisplay @@@" ;
107
- const lexer = new SimpleLangLexer ( CharStreams . fromString ( code ) ) ;
107
+ const lexer = new SimpleLangLexer ( CharStream . fromString ( code ) ) ;
108
108
const parser = new SimpleLangParser ( new CommonTokenStream ( lexer ) ) ;
109
109
parser . removeErrorListeners ( ) ;
110
110
const pt = parser . compilationUnit ( ) ;
@@ -127,7 +127,7 @@ describe('ParseTreeToASTTransformer', function () {
127
127
} ) ;
128
128
it ( "Test generic node" , function ( ) {
129
129
const code = "set foo = 123\ndisplay 456" ;
130
- const lexer = new SimpleLangLexer ( CharStreams . fromString ( code ) ) ;
130
+ const lexer = new SimpleLangLexer ( CharStream . fromString ( code ) ) ;
131
131
const parser = new SimpleLangParser ( new CommonTokenStream ( lexer ) ) ;
132
132
const pt = parser . compilationUnit ( ) ;
133
133
@@ -136,7 +136,7 @@ describe('ParseTreeToASTTransformer', function () {
136
136
} ) ;
137
137
it ( "test generic AST transformer" , function ( ) {
138
138
const code = "set foo = 123\ndisplay 456" ;
139
- const lexer = new SimpleLangLexer ( CharStreams . fromString ( code ) ) ;
139
+ const lexer = new SimpleLangLexer ( CharStream . fromString ( code ) ) ;
140
140
const parser = new SimpleLangParser ( new CommonTokenStream ( lexer ) ) ;
141
141
const pt = parser . compilationUnit ( ) ;
142
142
@@ -163,20 +163,12 @@ const configure = function(transformer: ASTTransformer) : void {
163
163
transformer . registerNodeFactory < DisplayStmtContext , DisplayIntStatement > (
164
164
DisplayStmtContext ,
165
165
source => {
166
- if ( source . exception || source . expression ( ) . exception ) {
167
- // We throw a custom error so that we can check that it's recorded in the AST
168
- throw new Error ( "Parse error" ) ;
169
- }
170
166
return new DisplayIntStatement ( parseInt ( source . expression ( ) . INT_LIT ( ) ! . getText ( ) ) ) ;
171
167
} ) ;
172
168
173
169
transformer . registerNodeFactory < SetStmtContext , SetStatement > (
174
170
SetStmtContext ,
175
171
source => {
176
- if ( source . exception || source . expression ( ) . exception ) {
177
- // We throw a custom error so that we can check that it's recorded in the AST
178
- throw new Error ( "Parse error" ) ;
179
- }
180
172
const setStatement = new SetStatement ( ) ;
181
173
setStatement . variable = source . ID ( ) . getText ( ) ;
182
174
setStatement . value = parseInt ( source . expression ( ) . INT_LIT ( ) ! . getText ( ) ) ;
0 commit comments