Index: [Article Count Order] [Thread]

Date:  Tue, 26 Dec 2000 14:49:49 +0900
From:  Kenji Hiranabe <hiranabe@....jp>
Subject:  [XP-jp:01416] assertion in Java
To:  extremeprogramming-jp@....jp (extremeprogramming-jp ML)
Message-Id:  <20001226144417L.hiranabe@....jp>
Posted:  Tue, 26 Dec 2000 14:44:17 +0900
X-Mail-Count: 01416


平鍋です.

Java SDK1.4 (Marline) の仕様を見ていたら,assertion が入って
いるのですね.


AssertStatement:
            assert(Expression) ;
            assert(Expression, Expression) ;

というシンタクスで,実際は,以下の文の構文糖だそうです.

if ($assertionsEnabled && !(Expression))
            throw new AssertionError(Expression);

これがあると,随分楽になりますね.DbC も UnitTesting
Framework も.$assertionEnabled は,コンパイラオプション,お
よび ClassLoader で制御するらしい.

もっとも,Java が oak と呼ばれていたころは,この機能が入って
いたようです.

参考:
・ `JSR-000059: J2SE Merlin Release Content',
   http://java.sun.com/aboutJava/communityprocess/jsr/asrt_prop.html

以上