Skip to content

Commit

Permalink
feat(JS): Added parsing of try/except
Browse files Browse the repository at this point in the history
  • Loading branch information
beneboy committed Sep 2, 2019
1 parent 2f4b927 commit 81942ec
Showing 1 changed file with 27 additions and 1 deletion.
28 changes: 27 additions & 1 deletion ts/executor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ import {
WhileStatement,
DoWhileStatement,
IfStatement,
Program
Program,
TryStatement
} from 'meriyah/dist/estree'

// eslint-disable-next-line @typescript-eslint/no-floating-promises
Expand Down Expand Up @@ -349,6 +350,27 @@ function parseIfStatement(
}
}

function parseTryStatement(
result: CodeChunkParseResult,
statement: TryStatement
): void {
statement.block.body.forEach(subStatement => {
parseStatement(result, subStatement)
})

if (statement.handler !== null) {
statement.handler.body.body.forEach(subStatement => {
parseStatement(result, subStatement)
})
}

if (statement.finalizer !== null) {
statement.finalizer.body.forEach(subStatement => {
parseStatement(result, subStatement)
})
}
}

function parseExpression(
result: CodeChunkParseResult,
statement: ExpressionStatement
Expand Down Expand Up @@ -408,10 +430,14 @@ function parseStatement(
parseStatement(result, subStatement)
})
break
case 'TryStatement':
parseTryStatement(result, statement)
break
case 'EmptyStatement':
case 'Identifier':
case 'UnaryExpression':
case 'Literal':
case 'ThrowStatement':
break
default:
console.log(statement)
Expand Down

0 comments on commit 81942ec

Please sign in to comment.