redhat-developer / redhat-developer/vscode-java
Generified method call shows "cannot convert from Object to boolean" error
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- TypeScript
- Star
- 2.3k
- Fork
- 547
- Merge trung bình
- 20 giờ 1 phút
- Pull request đã merge (30 ngày)
- 11
Mô tả
Extracted this issue from https://github.com/redhat-developer/vscode-java/issues/3830#issuecomment-2519729457, from @sworthiness
Error:
Type mismatch: cannot convert from Object to boolean Java(16777233)
Environment:
(VS Codium - SSH remote development)
- Version: 1.95.3
- Release: 24321
- Commit: dc5a551c256719475d2d0959270e3836c9bbb632
- Date: 2024-11-16T09:16:49.983Z
- Electron: 32.2.5
- ElectronBuildId: undefined
- Chromium: 128.0.6613.186
- Node.js: 20.18.0
- V8: 12.8.374.38-electron.0
- OS: Windows_NT x64 10.0.19045
- JDK: 17
Steps to reproduce
public class Test {
public <T> T someMethod() {
return (T) Boolean.TRUE;
}
public void someOtherMethod() {
if (this.someMethod()) { // Type mismatch: cannot convert from Object to boolean Java(16777233)
}
}
}
Current Result
The following compilation error is shown in vs-codium:
Type mismatch: cannot convert from Object to boolean Java(16777233)
The error is not seen if the result of this.someMethod() is stored in a Boolean var first
Expected Result
No compilation error should be seen here
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Tái hiện đoạn mã Java trong VS Codium với JDK 17 và kiểm tra chẩn đoán được tạo ra cho lệnh gọi phương thức generic. Hoàn tất khi việc sử dụng trực tiếp someMethod() trong điều kiện if không còn báo lỗi chuyển đổi, trong khi trường hợp tái hiện được hiển thị vẫn được bao phủ bởi một kiểm tra hồi quy.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- java
- Lĩnh vực
- devtools
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức phù hợp với người mới
- 45/100