pandaman64 / unity4d

Other
4 stars 1 forks source link

問題点 #1

Open otya128 opened 8 years ago

otya128 commented 8 years ago

UnityEngine.MonoBehaviour.print呼び出しのILが

    call class [mscorlib]System.Void [UnityEngine]UnityEngine.MonoBehaviour::'print' (class [dnetlib]core.Object)
    pop

とりあえずUnityEngine.dの3288行目のstatic Void print(System.Object);static void print(Object);とすることでエラーが出なくなるものの、Nullと表示されてしまう

    isinst [dnetlib]core.Object
    call void [UnityEngine]UnityEngine.MonoBehaviour::'print' (object)

というコードが生成されていて、isinst [dnetlib]core.Objectの部分でSystem.Stringはcore.Objectを継承していないのでnullが返ることが原因(バグ?)

pandaman64 commented 8 years ago

:+1: 前半部分については#2 に移しました.

後半の方は#3 の複数のObject型の混在が混乱を引き起こしているようです.UnityEngine.MonoBehaviour.printはSystem.Objectを引数にとるので引数の型はそのままで合っていると思います.一度それで試してみて,isinst [dnetlib]core.Objectが発行されるか確認してもらっても良いでしょうか?

otya128 commented 8 years ago

System.Objectでも何故か[dnetlib]core.Objectになっていてコンパイラのソースコードを見る限り__objectを使うと[mscorlib]System.Objectになるようです

pandaman64 commented 8 years ago

なるほど :+1:

pandaman64 commented 8 years ago

いい具合のヘッダーを自動生成・配置できるようにしたいですね