簡體   English   中英

如何為自定義JVM語言的靜態代碼分析工具實現類型信息?

[英]How to implement type information for static code analylsis tool for a custom JVM language?

我必須為自定義JVM語言實現靜態代碼分析工具,並且希望擁有Java Class<?>類中可訪問的大多數方法,例如: getDeclaredMethods(): Method[] 我想出了兩種方法:

1)編譯所有類,以便我有了可以在其上調用javap的.class文件,然后將來自javap的結果保存到Java源文件中並使用Java類型信息。

2)使用antlr4並創建與Java相同的類結構。 也許還有其他方法?

我覺得選項2正在重新發明輪子,或者這是有效的方法嗎? 我認為選項1會更好,但我不確定這是否可行……然后這並不是真正的靜態代碼分析,因為我需要編譯所有自定義語言的文件。

您能幫我還是至少指出正確的方向?

javassist和[cglib]用於處理字節碼。 Google 容易出錯,而是將自己掛接到構建過程/編譯器中。 使靜態代碼分析成為編譯器的一部分不是一個壞主意,例如,java編譯器會檢查無法訪問的代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM