2011-12-15 8 views
6

Object(具体的にはObject[])の配列とConstructorオブジェクトの配列があるとします。javacのオーバーロード解決アルゴリズムを実装しているJavaコードを探しています

誰でも私にコンストラクタオブジェクトを見渡すことができるいくつかのJavaコードを紹介し、私の配列内のオブジェクトの実際のタイプに関して最も具体的なものを選ぶことができます。つまり、javacがオーバーロードされたメソッドの中から選択するアルゴリズムの実装を希望します。

+1

1.誰がJavaで実装されていると言いますか? 2. [JLS](http://java.sun.com/docs/books/jls/third_edition/html/expressions.html#15.12.2)を参考にしてみませんか? –

答えて

2

JavaベースのJavaコンパイラを見ることができます(OpenJDKには1つあります)。

特に、ジェネリックとイレーズを含めると、想像以上に名前解決が難しいと思います。私はあなたがこのコードを "簡単に"持ち上げて自分で使うことができるだろうとは思っていません。

semantically deepなことをするJavaツールのほとんどは、タイプ消去と解決が行われたすべてのクラスファイルを使用するため、これを行う方法を知ることができません。 (クラスファイルを見ているだけの欠点は、それらのツールがソースコードをまったく変更できないことです)。

+0

私は、ジェネリックスが "全くジェネリックではない"ための構文的砂糖であるとすれば、ジェネリックスがそれに入ってくるとは思わない。 –

関連する問題