Advanced @Contract capabilities
まだ誰も着手していません。
評価
調査の方向性
まず、この issue の Contract アノテーションと例の構文を確認し、提案されている CacheReference と Reference の動作も確認してください。スタンドアロンの高度なコントラクト構文を仕様として定義できるか、またどのような検証ルールが必要かを判断してください。構文とサポートされる動作が明確に定義され、合意されれば作業完了です。
索引モデルが issue の本文から書いたものです。
説明
I was thinking about possible extra possibilities for the Contract annotation.
I have this example already; I will add more as I stumble upon them:
Consider this method:
@Contract("CacheReference -> param1; null -> fail; !null -> new")
protected abstract CacheReference<K, V> advanceIntoCacheRef(Reference<V> reference);
The method should do the following things; as described by the contract:
- Throw an NPE, if the parameter is
null - Wrap the parameter
Reference(if notinstanceof CacheReference, else see next) into aCacheReference - Return first parameter if the first parameter is
instanceof CacheReference(which is already imported due to return type; return types should be validated byparamN)
Now, obviously this contract won't work, because it doesn't know about more things than nulls; really. Given other capabilities of IntelliJ, it should be fairly easy coming up with a simple, standalone concept for advanced Contract syntax.
- 主要言語
- Kotlin
- スター
- 464
- フォーク
- 74
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
JetBrains/java-annotations のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
JetBrains/java-annotations#123 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
JetBrains/java-annotations#134 · コメント 6 件 · リアクション 1 件 ·
-
Add AndroidTarget as KMP target再び着手できるかも @serjsysoev が 512 日前に担当しましたが、オープン中のプルリクエストはありません。 オープン
JetBrains/java-annotations#125 · リアクション 1 件 · 担当者 1 名 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
JetBrains/java-annotations#122 · コメント 2 件 ·
-
Allow use of @Language on (formatted-)string literals再び着手できるかも @serjsysoev が 688 日前に担当しましたが、オープン中のプルリクエストはありません。 オープン
JetBrains/java-annotations#117 · コメント 4 件 · 担当者 1 名 ·
JetBrains/java-annotations の issue をすべて見る
似ている issue
-
design
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
sqldelight/sqldelight#6382 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
521xueweihan/HelloGitHub#3846 ·
-
Bug Domain changed
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
keiyoushi/extensions-source#19624 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100