Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public Void visit(FunctionDeclaration funcDeclar, Void params) {
- super.visit(funcDeclar, params);
- if (!symbolTable.insert(funcDeclar)) {
- ErrorHandler.getInstance()
- .addError(new ErrorType("Function '" + funcDeclar.getName() + "' has already been defined"));
- } else {
- symbolTable.set();
- for (VarDeclaration varDeclar : ((FunctionType) funcDeclar.getType()).getParams()) {
- this.visit(varDeclar, params);
- }
- for (Statement st : funcDeclar.getBody()) {
- if (st instanceof VarDeclaration) {
- this.visit((VarDeclaration) st, params);
- }
- if(st instanceof Invocation) {
- this.visit(((Invocation) st).getName(), params);
- }
- }
- symbolTable.reset();
- }
- return null;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement