夜路走多了遇到鬼。

俗話說得好,夜路走多了總會遇到鬼。

說實在,我試用過了不少莫名其妙的程式語言,但 Scala 是第一個我用夠久、夠深,以致於遇到了編譯器本身的 Bug 的程式語言!

而且這個臭蟲還一整個莫名其妙,在某些情況下可以跑,有些情況下卻又不行,於是我根本不知道怎麼一回事啊……

這個臭蟲簡單的描述的話,就是如果你有一個 Java Class 參考到了另一個 Java Class 裡的 static inner class 的話,編譯器就準備爆炸了。

因為這件蠢事,所以 Android 上的 Google Maps API 也不能直接使用了,要想辦法繞過這個奇怪的錯誤。

目前的想法是把會爆炸的地方都抽掉,先寫一個 Scala 的 abstract class ,然後再用 Java 寫另一個 class 繼承它,並且設定相關的東西。

不過,另一方面,也試著追追看 Scala 的編譯器吧,目前已經找到吐出錯誤的地方在哪了,剩下就是往裡追囉。

雖然從沒追過 compiler / linker 的程式碼,不過還是先估且隨便試試看吧!

回響