redhat-developer / redhat-developer/vscode-java
Unexpected dead code warning.
オープン
まだ誰も着手していません。
- 主要言語
- TypeScript
- スター
- 2.3k
- フォーク
- 546
- 平均マージ
- 20時間 1分
- マージ済み PR(30日)
- 11
説明
SessionCallback<List<Object>> obj;
public void method() throws TransactionException {
StringRedisTemplate stringRedisTemplate = resourcePool.template();
var res = obj.execute(stringRedisTemplate);// @Nullable <K, V> T execute(RedisOperations<K, V> operations) throws DataAccessException;
if (res == null) {
System.out.println("Direct execution is not Dead Code");
}
List<Object> results = stringRedisTemplate.execute(new SessionCallback<List<Object>>() {
@Override
@Nullable
public <K, V> List<Object> execute(@NonNull RedisOperations<K, V> operations) throws DataAccessException {
operations.multi();
return null;
}
});
// @Override public <T> T StringRedisTemplate::execute(SessionCallback<T> session) {
// ...
// try {
// return session.execute(this); -> this is NullAble
// } finally {
// RedisConnectionUtils.unbindConnection(factory);
// }
// }
if (results == null) {
throw new TransactionException("Transaction failed, please retry") {
};
}
}
Minimal reproduce repo
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
Issue にリンクされている最小再現リポジトリから始め、dead-code 警告を発生させる Java スニペットを実行します。警告を、示されている nullable な実行パスおよび添付された診断情報と比較します; 完了とは、警告の動作が正しく解決されるか、プロジェクトのメンテナー向けに明確に再現されることを意味します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java, typescript
- 領域
- devtools
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100