質問

size_が0の場合、nullを返すことを保証するポストコンディションを設定する必要があります。

 if(size_ == 0)
  return null;

JMLでそれをするにはどうすればよいですか?何か案は?以下は機能しません:

//@ ensures size_ == null ==> \return true;

前もって感謝します

役に立ちましたか?

解決

試す

//@ ensures size_ == null ==> \result == true;

例:

//@ ensures size_ == null ==> \result == true;
public boolean sizeUndefined() {
    if (size_ == null)
        return true;

    return size_.length() > 0;
}

このように書くこともできます。

//@ ensures size_ == null ==> \result;

ここは のドキュメント \result:

3.2.14 \result
通常のポストコンディショニングまたは非ボイド法の修正ターゲット内で、特別な識別子 resultは、そのタイプがメソッドの戻りタイプである仕様式です。メソッドによって返される値を示します。 resultは、非voidメソッドの宣言を変更するPragmaを保証、densures、または_ modififies in fise in fis on in ansure、notures、または_ modififive in fide in in in in in in in in in for in for in for in for in for in for in in in in in in in in in in in foring in fis in fis in fide in fist in fis on in in in in in in in in in in in in in in in in in in in in in foring。

他のヒント

まず第一に:何タイプですか size_, Object また primitive(int)?

第二に、メソッドの返品タイプは何ですか? Object また primitive(boolean)?

プリミティブタイプをと比較することはできません null, 、または戻ります null プリミティブタイプが返されることになっている場合。私たちが仮定するなら size_int そして返品はです boolean その後、ポストコンディションはそうなるでしょう

//@ ensures size_ == 0 ==> \result;
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top