[YMIR-314] 不要なSuppressWarningsを除去 Created: 2009-02-13 Updated: 2009-03-06 Resolved: 2009-02-13 |
|
Status: | Closed |
Project: | Ymir |
Component/s: | ymir-extension |
Affects Version/s: | 1.0.1 |
Fix Version/s: | 1.0.2 |
Type: | Improvement | Priority: | Minor |
Reporter: | jflute | Assignee: | skirnir |
Resolution: | Fixed | Votes: | 0 |
Labels: | None |
Description |
【概要】 ※ちなみにDBFluteのこれフィードバックが来て修正しました |
Comments |
Comment by skirnir [ 2009-03-06 ] |
完了とします。 |
Comment by jflute [ 2009-03-06 ] |
確認しましたー! |
Comment by skirnir [ 2009-02-13 ] |
対処しました(r2813)。 |
Comment by skirnir [ 2009-02-13 ] |
まずSuppressWarningsを一律つけるようにした背景ですが、以前は自動生成がGenerics型に対応していなかったため、例えばプロパティをListにするとGenericsパラメータがない旨の警告が出てしまいました。これを抑制するためにSuppressWarningsを一律つけるようにしました。 現在はGenerics型に対応しているため、SuppressWarningsはついていなくても基本的には問題ありません。 SuppressWarningsをつけないようにした場合、仮にユーザがGenericsパラメータをつけない型を指定すると警告が出ます。ユーザが手動でBaseクラスにSuppresWarningsをつけても、SuppressWarningsはリテンションポリシーが「source」であるため、再生成の際にはアノテーションが消えてしまいます(Ymirの自動生成機構は既存クラスへのリフレクションで再生成のための情報を構築するため)。 一方で、クラス情報をチェックして警告が出る要素が含まれる場合にのみSuppressWarningsを生成するようにすることは非常に実現コストが高いため、対処が困難です。 以上から、自動生成時に一律SuppressWarningsをつけていたのを止めるにとどめることにします。 |