2006-01-01から1ヶ月間の記事一覧

イレイジャ変換

Aptとreflectionのブリッジ書いてて気づいたんですけど、宣言と型を明確に分けるってのも悪くないですね。 java.lang.Class 宣言:java.lang.Class 型:java.lang.Class つか、これやらないと、どっちかにイレイジャ変換を手書きで入れることになるわけですが……

クラスローダ嫌い

配列型をロードするクラスローダは、そのコンポーネントタイプと同じらしい。 仮にintをロードするクラスローダがあったとして、それをCpと名づけると、 int[].getSuperClass() -> Object より、java.lang.Objectをロードできる。 java.lang.Object.getClass…

殺人スケジュール

人が死ねるスケジュールを何とか乗り切って、とりあえず超apt再開。 JSR199を理解する辺りから開始します。

Kahua

http://www.kahua.org/cgi-bin/kahua.fcgi/kahua-web/ 意外と面白そうだなーと。

value annotation

apt

id:masataka_k:20060106 への回答。java.lang.annotation.Target より抜粋。 このメタ注釈は、宣言された型の使用目的が複雑な注釈型宣言のメンバ型だけであることを示します。これは直接的な注釈には使用できません。 @Target({}) public @interface Member…

なんじゃそりゃ…

Serializable s = new int[10];

Apt wrapper

apt

某所でご馳走になってきました。眠くなる前にアイデアをまとめておきます。親クラスの誰かが "com.example.Required" の名前を持つ注釈を持つ注釈を持っている場合、そのクラスで宣言された全てのメソッドに対して処理を行う。その際、メソッド m と 注釈 a …

Annotation Restricted

apt

「Annotation にも型制約を」ということで、少々考えてみました。AspectをAnnotationでウィービング(?)するのが流行ってますが、そのノリで上位クラスに制約を掛け、これをコンパイルすればいいのではと。ちなみに、java.lang.annotation.AnnotationFormatEr…

パーサコンビネータ

プラガブルなパーサ、及び上位パーサについて考え中。 やっぱりパーサ・ジェネレータで静的なパーサ書くより、Haskell Parsec の Java版 JParsec でも使って動的文法にでも対応させて見ましょうかね…