java-ast
Version:
Java Parser for JavaScript/TypeScript, based on antlr4ts
48 lines (34 loc) • 1.26 kB
Markdown
//img.shields.io/npm/v/java-ast.svg?style=flat-square)](https://www.npmjs.com/package/java-ast)
[](https://github.com/prettier/prettier)
Java Parser for JavaScript/TypeScript, based on [antlr4ts](https://www.npmjs.com/package/antlr4ts), grammar taken from [antlr4's java grammar](https://github.com/antlr/grammars-v4/tree/master/java/java) too (so please report bugs and open pull requests related to grammars upstream)
```typescript
import { parse, createVisitor } from 'java-ast';
const countMethods = (source: string) => {
let ast = parse(source);
return createVisitor({
visitMethodDeclaration: () => 1,
defaultResult: () => 0,
aggregateResult: (a, b) => a + b,
}).visit(ast);
};
console.log(
countMethods(`
class A {
int a;
void b() {}
void c() {}
}
class B {
void z() {}
}
`),
); // logs 3
```
This project was originally created by [Uri Shaked](https://github.com/urish).
- [java-model](https://github.com/pascalgn/java-model) - Provides high-level access to the Java type model.
[ ](LICENSE)
[![npm version](https: