From d3cbcbacf4f271d11380e8b7cb4066d6f04850a2 Mon Sep 17 00:00:00 2001 From: Minero Aoki Date: Mon, 11 Feb 2008 15:26:27 +0000 Subject: [PATCH] * net/loveruby/cflat/compiler/TypeResolver.java: resolving VariableNode is useless, because it is equal to resolving DefinedVariable. * net/loveruby/cflat/compiler/TypeResolver.java: define resolveNodeList, which is an alias of visitNodeList. git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@3895 1b9489fe-b721-0410-924e-b54b9192deb8 --- ChangeLog | 9 +++++++++ net/loveruby/cflat/compiler/TypeResolver.java | 20 +++++++++---------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3a998e5..deb0fd9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +Tue Feb 12 00:26:23 2008 Minero Aoki + + * net/loveruby/cflat/compiler/TypeResolver.java: resolving + VariableNode is useless, because it is equal to resolving + DefinedVariable. + + * net/loveruby/cflat/compiler/TypeResolver.java: define + resolveNodeList, which is an alias of visitNodeList. + Mon Feb 11 06:54:20 2008 Minero Aoki * net/loveruby/cflat/compiler/Compiler.java: new option diff --git a/net/loveruby/cflat/compiler/TypeResolver.java b/net/loveruby/cflat/compiler/TypeResolver.java index 388445c..ff51d09 100644 --- a/net/loveruby/cflat/compiler/TypeResolver.java +++ b/net/loveruby/cflat/compiler/TypeResolver.java @@ -6,7 +6,7 @@ import java.util.*; public class TypeResolver extends Visitor { static public void resolve(AST ast, TypeTable typeTable, - ErrorHandler errorHandler) { + ErrorHandler errorHandler) { new TypeResolver(typeTable, errorHandler).resolveProgram(ast); } @@ -18,17 +18,19 @@ public class TypeResolver extends Visitor { this.errorHandler = errorHandler; } - public void resolveProgram(AST ast) { - defineTypes(ast.types()); - visitNodeList(ast.types()); - visitNodeList(ast.declarations()); - visitNodeList(ast.entities()); + protected void resolveNodeList(Iterator nodes) { + visitNodeList(nodes); } - private void defineTypes(Iterator deftypes) { + public void resolveProgram(AST ast) { + Iterator deftypes = ast.types(); while (deftypes.hasNext()) { typeTable.define((TypeDefinition)deftypes.next()); } + + resolveNodeList(ast.types()); + resolveNodeList(ast.declarations()); + resolveNodeList(ast.entities()); } private void bindType(TypeNode n) { @@ -61,10 +63,6 @@ public class TypeResolver extends Visitor { bindType(typedef.realTypeNode()); } - public void visit(VariableNode n) { - bindType(n.typeNode()); - } - public void visit(DefinedVariable var) { bindType(var.typeNode()); super.visit(var); // resolve initializer