Commit Graph

1 Commits

Author SHA1 Message Date
Minero Aoki 5b61b2f529 * net/loveruby/cflat/compiler/TypeChecker.java: try semantic check and catch semantic errors (mainly thrown from *Node#type).
* net/loveruby/cflat/exception/SemanticError.java: new class.
* net/loveruby/cflat/type/ComplexType.java: throw SemanticError when no member found.
* net/loveruby/cflat/type/Type.java: #baseType throw SemanticError instead of Error.
* net/loveruby/cflat/ast/FuncallNode.java: convert ClassCastException to SemanticError.
* net/loveruby/cflat/ast/PtrMemberNode.java: ditto.
* net/loveruby/cflat/ast/MemberNode.java: ditto.
* net/loveruby/cflat/type/TypeTable.java: check recursive typedef.
* net/loveruby/cflat/type/TypeTable.java: validate array/struct/union does not contain void.
* net/loveruby/cflat/type/UserType.java: #real -> #realType.
* test/struct-semcheck8.cb: test 1.memb.
* test/union-semcheck8.cb: test (1+"str").memb.
* test/Makefile: build them.
* test/test.sh: run them.


git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@3781 1b9489fe-b721-0410-924e-b54b9192deb8
2008-01-03 14:31:26 +00:00