liquid-java / liquid-java/liquidjava
This should not typecheck, but it typechecks
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Java
- Star
- 67
- Fork
- 36
- Merge trung bình
- 10 ngày 18 giờ
- Pull request đã merge (30 ngày)
- 3
Mô tả
```
@Ghost("int some_other_ghost")
public class Test2 {
int n = 0;
@StateRefinement(from="some_other_ghost(this) > 0", to="some_other_ghost(this) < 0")
private void f(){}
private void shouldFail(){
f();
f();
}
public static void main(String[] args) {
Test2 t = new Test2();
t.shouldFail();
}
}
```
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
Sử dụng đoạn mã Java trong issue làm trường hợp tái hiện và chạy trình kiểm tra kiểu của LiquidJava trên đó. Truy vết lý do hai lệnh gọi f() được chấp nhận mặc dù có tinh chỉnh trạng thái như đã nêu, sau đó xác minh rằng trình kiểm tra từ chối ví dụ này nhưng vẫn giữ nguyên hành vi tinh chỉnh dự kiến.
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
- compilers
- 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ần làm rõ
- Mức phù hợp với người mới
- 35/100