問題タブ [sun-codemodel]

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 投票する
1 に答える
791 参照

java - JCodeModel と elseif

JCodeModel を使用して Java ソース コードを生成しており、次のような「if-elseif」ブロックを取得したいと考えています。

私が理解している限り、コードは次のようになります ( mは JMethod です)。

単純なように見えますが、結果は次のとおりです。

構文の違いがわかります。実際には「elseif」ではありません。意味的には同じですが、前に示したように生成する必要があります (教育ソフトウェアの一部です)。これを行う方法はありますか?

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

java - CodeModel @Pattern.List 注釈を追加する方法 com.sun.codemodel

クラスの生成と JSR303 注釈の追加に com.sun.codemodel を使用しています。@Pattern.List アノテーションを追加する場合を除いて、これは正常に機能しています。

これは現在生成されているものです:

これは私が生成したいものです

誰かがこれがどのように行われるか考えていますか?

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

java - Sun Codemodel のカスタム フォーマッタ

私はJava Sun Codemodelを使用してその場で Java クラスを生成しています。

ここで、追加の課題があります。コードのフォーマット方法を制御するにはどうすればよいですか? まったく方法はありますか?特に、すべての中括弧を新しい行に入れ、行の長さを 130 文字に拡張したいと考えています。

たとえば、Eclipse で使用するフォーマッターがあります。Codemodelにそれを使用するように指示する方法はありませんよね?

何かに役立ちそうなJFormatterクラスがありますが、そのようなより洗練された機能を実行できるようには見えません。

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

java - コードモデル配列

CodeModel を使用して Java コードを生成します。次のような出力が期待されます。

私は試した:

しかし、配列に値を「追加」する方法がわかりません。

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

java - 2 つのオブジェクトを codeModel で比較する

次のコードがありますが、direct()メソッドを使用しないようにしています。

使用に関するドキュメントを見つけようとし_if()ましたが、いくつかの単純なものを機能させることができましたが、direct() を使用せずにそのようなものを生成する方法がわかりません。誰かがこれを行う方法を知っているか、いくつかの例を示す良い場所を知っていますか? javadocs をマイニングしてみましたが、良いものが見つかりませんでした。

0 投票する
2 に答える
922 参照

java - Java ソース コードの生成: Eclipse JDT AST と CodeModel の比較

ユーザーがドラッグアンドドロップのようなUIを使用してJavaコードを記述できるようにするEclipseプラグインを作成しています。これら 2 つの Java ソース コード生成ライブラリに出会いました。Eclipse JDT AST およびコード モデル。

2 つのライブラリの長所と短所を理解したいと思います。私が読んで理解したことによると:

  1. ASTは非常に強力です。私が見たコード サンプルと ASTView プラグインを見て、このライブラリを使用して任意の Java 構成を記述できることを完全に確信しています。コードモデルに関する多くのドキュメントやサンプルが見つかりませんでした。そのため、その力についてはよくわかりません。CodeModel が AST と同じくらい強力かどうか知りたいです。

  2. CodeModel に必要なコードの量は、同じ機能を実現するために AST よりもはるかに少なくて済みます。

  3. AST を使用すると、既存の Java クラスを確実に書き直すことができます。CodeModelの場合、似たようなものは見つかりませんでした

私は間違いなく1と3の機能が必要です.2を持つことも追加の利点です. codeModel に 1 と 3 があるかどうか知りたいです。これら 2 つのライブラリの長所と短所をすべて教えてください。また、これらの両方よりも優れたライブラリがあれば教えてください。

注: バイト コードの操作ではなく、ソース コードの生成/操作を探しています。

前もって感謝します。

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

java - Codemodel:ジェネリック型を生成する必要があるかどうかを確認する方法は?

クラス内のメソッドをブラウズしてから、別の場所に別の名前でメソッドを生成しています。パラメーターと戻り値の型は同じです。method.getParameters()、method.isGeneric() などでチェックします。

したがって、次のような元のクラスの定義を使用します。

私は取得したい:

クラスの先頭に < T> を追加する方法を示す関連する問題がここにあります: Sun CodeModel ジェネリック メソッド

ただし、ループ内のすべてのメソッドをチェックし、どのメソッドがジェネリック型を持っているかを判断したいので、名前の前に < T> が必要です。すべてのメソッドを生成すると、次のようなケースが表示されます。

そして、私が割り当てたいかどうかは不明です

指定された型が既知の Java-type であるかどうかを確認する方法はありますか?