PatchSet 4414 Date: 2004/02/11 17:46:04 Author: dalibor Branch: HEAD Tag: (none) Log: Replaced macro by static inline function
2004-02-11 Dalibor Topic <[EMAIL PROTECTED]> * kaffe/kaffevm/verify.c (abstractMethodError): New static inline function. (ABSTRACT_METHOD_ERROR) Removed. (checkAbstractMethod) Use abstractMethodError instead of ABSTRACT_METHOD_ERROR macro. Members: ChangeLog:1.1997->1.1998 kaffe/kaffevm/verify.c:1.31->1.32 Index: kaffe/ChangeLog diff -u kaffe/ChangeLog:1.1997 kaffe/ChangeLog:1.1998 --- kaffe/ChangeLog:1.1997 Wed Feb 11 17:23:48 2004 +++ kaffe/ChangeLog Wed Feb 11 17:46:04 2004 @@ -1,5 +1,13 @@ 2004-02-11 Dalibor Topic <[EMAIL PROTECTED]> + * kaffe/kaffevm/verify.c + (abstractMethodError): New static inline function. + (ABSTRACT_METHOD_ERROR) Removed. + (checkAbstractMethod) Use abstractMethodError instead of + ABSTRACT_METHOD_ERROR macro. + +2004-02-11 Dalibor Topic <[EMAIL PROTECTED]> + * kaffe/kaffevm/verify.c (poolError): New static inline function. (POOLERROR): Removed. Index: kaffe/kaffe/kaffevm/verify.c diff -u kaffe/kaffe/kaffevm/verify.c:1.31 kaffe/kaffe/kaffevm/verify.c:1.32 --- kaffe/kaffe/kaffevm/verify.c:1.31 Wed Feb 11 17:23:50 2004 +++ kaffe/kaffe/kaffevm/verify.c Wed Feb 11 17:46:05 2004 @@ -777,7 +777,18 @@ return(true); } - +static inline +bool +abstractMethodError(Method* method, errorInfo* einfo, const char * msg) +{ + postExceptionMessage(einfo, + JAVA_LANG(ClassFormatError), + "in method \"%s.%s\": abstract methods cannot be %s", + CLASS_CNAME(method->class), + METHOD_NAMED(method), + msg); + return(false); +} /* * Given a method with its ACC_ABSTRACT flag set, this checks the the rest of the access flags @@ -789,12 +800,6 @@ bool checkAbstractMethod(Method* method, errorInfo* einfo) { -#define ABSTRACT_METHOD_ERROR(_MSG) \ - postExceptionMessage(einfo, JAVA_LANG(ClassFormatError), \ - "in method \"%s.%s\": abstract methods cannot be %s", \ - CLASS_CNAME(method->class), \ - METHOD_NAMED(method), _MSG); \ - return(false) #ifdef ABSTRACT_METHOD_VS_ABSTRACT_CLASS /* This is commented out because Sun's verifier doesn't care if an abstract method @@ -840,21 +845,19 @@ /* enforce access flag rules of the JVML spec. for abstract methods */ - if (METHOD_IS_PRIVATE(method)) { ABSTRACT_METHOD_ERROR("private"); } - else if (METHOD_IS_FINAL(method)) { ABSTRACT_METHOD_ERROR("final"); } - else if (METHOD_IS_NATIVE(method)) { ABSTRACT_METHOD_ERROR("native"); } - else if (METHOD_IS_STATIC(method)) { ABSTRACT_METHOD_ERROR("static"); } - else if (METHOD_IS_STRICT(method)) { ABSTRACT_METHOD_ERROR("strictfp"); } + if (METHOD_IS_PRIVATE(method)) { return abstractMethodError(method, einfo, "private"); } + else if (METHOD_IS_FINAL(method)) { return abstractMethodError(method, einfo, "final"); } + else if (METHOD_IS_NATIVE(method)) { return abstractMethodError(method, einfo, "native"); } + else if (METHOD_IS_STATIC(method)) { return abstractMethodError(method, einfo, "static"); } + else if (METHOD_IS_STRICT(method)) { return abstractMethodError(method, einfo, "strictfp"); } /* not enforced by Sun's verifier * - else if (METHOD_IS_SYNCHRONISED(method)) { ABSTRACT_METHOD_ERROR("synchronized"); } + else if (METHOD_IS_SYNCHRONISED(method)) { return abstractMethodError(method, einfo, "synchronized"); } */ return(true); - -#undef ABSTRACT_METHOD_ERROR } _______________________________________________ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe