クロージャーが次のように定義されているクラスがあります。
void everyPixel( closure ){
for( def x : 0..width-1 )
for( def y : 0..height-1 )
closure( x, y )
}
しかし、@CompileStatic
アノテーションを適用すると、コンパイルされません(クロージャーを追加する前にコンパイルされました)。次のメッセージが表示されます。
Groovyc:[静的型チェック]-一致するメソッドjava.lang.Object#call(java.lang.Integer、java.lang.Integer)が見つかりません。宣言されたタイプが正しいかどうか、およびメソッドが存在するかどうかを確認してください。
静的にコンパイルされるように、この型アノテーションを作成するにはどうすればよいですか?これまでのGoogleでの私のヒットはすべて、クロージャを受け入れるメソッドを定義する方法ではなく、クロージャを渡す方法を示しています。:-/