Handle async visitors
Handle async visitors

Emit 'finish' within a Promise instead of just calling provided callback
Does nothing for sync case as it resolves immediately
But now visitor can return a Promise and it will be eventually resolved
or rejected

jlenoble/gulp-antlr4