問題タブ [compilationunit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
1594 参照

java - java.lang.OutOfMemoryError: org.eclipse.jdt.core.dom.CompilationUnit の Java ヒープ領域

1つまたはいくつかのJavaファイルを処理する場合、問題はありませんが、Javaの数が約90の場合、「java.lang.OutOfMemoryError: Java heap space」が表示されます。私はEclipseでデフォルトのVM引数を持っています:

このコードは、Java ファイルごとに実行されます。例外は、最後から 2 番目の行でスローされます。

エラー:

0 投票する
1 に答える
4391 参照

java - JAVA から AST を抽出し、AST をファイルに出力する

私は Java プログラミング言語の初心者です。Java ソース コードから AST を抽出し、AST をファイルまたは標準出力に出力したいと考えています。

このチュートリアルに従って、AST の操作方法を学びました。 http://www.programcreek.com/2011/01/a-complete-standalone-example-of-astparser/

それによると、これまでのコードは次のとおりです。

次のコード スニペットを標準出力に出力しようとしましたが、期待した結果が得られませんでした。

誰かがASTをファイルに出力するのを手伝ってくれるなら、それは大きな助けになるでしょう.

前もって感謝します。

0 投票する
0 に答える
205 参照

c# - roslyn でコード スニペットを解析できません

小さなコードから ac# クラスを動的に構築しようとしています。ユーザーが c# コード (有効かどうかに関係なく) を入力できるウィンドウがあり、これらの文字列を roslyn に解析します。私は最近、これを使用していたときに問題を発見しました:

VB でコンパイルすると、ステートメントが複数行の場合、C# であってもすべてのテキストがインライン化されます。

次に、ヘルパー クラスを作成してダミー クラスとメソッドに解析し、解析されたステートメントのリストを取得しました。

これが私の問題です。

アプリケーションに 3 つのステートメントがあるとします。

それから

そして最後に

最初のステートメントの中括弧が自動的に閉じられるため、スコープが失われます。

無効なコードを解析して、この種の動作を回避する方法はありますか?

インライン コードが C# で有効であることは知っていますが、VB でも同じ問題に直面しています。

ご協力いただきありがとうございます :)

0 投票する
1 に答える
128 参照

java - インポートに関する CompilationUnit での問題を取得する方法

import ステートメントに関するエラーを検出したい。しかし、コンパイル単位は、クラス宣言自体の内部でエラーを検出するようです。

私が実験しているコードは次のとおりです。

プロジェクトに apache commons を追加していません。次のように、astview に 2 つのエラーが表示されます。
1) E[90, 10] The import org.apache cannot be resolved
2)E[323, 2] Syntax error, insert ";" to complete FieldDeclaration

しかし、CompilationUnitそれを使用して問題の数を出力しようとすると、1つだけが返され、メッセージは次のようになります
1)Syntax error, insert ";" to complete FieldDeclaration

コンパイル ユニットを使用してプログラムでインポート エラーを取得するにはどうすればよいですか? または、これを行う方法はありますか?前もって感謝します。