バグの出にくい言語仕様を考える2
■ このスレッドは過去ログ倉庫に格納されています
0324デフォルトの名無しさん
2006/02/08(水) 03:49:30//型に付くメタデータその1
annotation NonNull applies Object; //nullはObjectじゃないからこれだけでOK。
//メソッド(関数)定義
String@[NonNull] fuga(String hoge@[NonNull]) {
処理。
}
String@[NonNull] foo; //コンパイルエラー(暗黙の=null挿入の検知)
String@[NonNull] bar= "All your base are ";
String baz= "belong to us.";
String qux= null;
String quux = fuga(foo);
fuga(baz); //コンパイルエラー
String@[NonNull] corge = fuga(([NonNull])baz);
fuga(([NonNull])qux); //実行時エラー
//メタデータなしのメソッド(関数)定義
String piyo() {
処理。
}
String grault = piyo();
String@[NonNull] garply = piyo(); //コンパイルエラー
■ このスレッドは過去ログ倉庫に格納されています