netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2003-03-06 古い日記からの変換データ [長年日記] ▲
_ AspectJ ▲
AspectJがバイトコードに対するweaveを実装するようになったが,バイトコードとソースコードの対応が厳密には取れないことが問題となってきている様子.コンパイラの最適化の結果によって,アスペクトを貼り付けるための手がかりがなくなってしまうためだが…….元々,バイトコード上で作業しようというのはソースコードのないコンポーネントを相手にするため(?)だが,クラスをコンパイルしたコンパイラの最適化性能によってweave後のコードが違ってくるようではちょっと困る.最適化タイミングをアスペクトのweave後,あるいは実行時まで遅らせるか,あるいはソース上でweaveするか.いったいどうするんだろう.
2003-03-04 古い日記からの変換データ [長年日記] ▲
2003-03-03 古い日記からの変換データ [長年日記] ▲
2003-02-28 古い日記からの変換データ [長年日記] ▲
_ AspectJ ▲
AspectJの,SourceLocation.getFileName が返す形式をどうすべきか,という話が AspectJ-dev に投稿されていた.クラスファイルには Foo.java という感じで,生成ディレクトリの名前が入っていないので(当然だが),バイトコードへのアスペクト結合処理の途中で,今まで getFileName が返していたようなフルパス名を埋め込むことができない,というもの.パッケージ名をディレクトリ階層にして先頭に付けるか,コンパイラに weave 作業しているパス情報を渡すか,と色々考えている様子.
でも,よく考えてみれば,バイトコード中にそのファイルのフルパス名が入っているっていうのは反則に近くて,ファイル移動したら再コンパイルしないといけない.個人的には,パッケージ階層を含めた相対パス形式,つまり foo/bar/Foo.java のような形式で返ってこないかなーと期待しているが,どうなるだろうか.