2011-12-30 6 views
8

Tôi biết rằng it's not possible to extends Java annotations.Tôi có thể tạo chú thích Java có "mở rộng" @SuppressWarnings không?

Tôi đã tạo chú thích cho trường riêng tư có nghĩa là trường có thể xuất hiện không được sử dụng trong lớp mà nó được khai báo. Vì lý do này, tôi nhận được rất nhiều cảnh báo "trường không sử dụng" trên các trường được chú thích của tôi.

Có cách nào để chú thích của tôi về hành vi của @SuppressWarnings("unused") vì vậy tôi không phải chú giải hai lần mọi trường có @MyAnnotation?

+2

Nếu bạn có ý tưởng IntelliJ, bạn có thể đặt trình kiểm tra bỏ qua bất kỳ trường nào có chú thích của bạn. Đó không phải là giải pháp cho vấn đề của bạn nhưng có thể là một giải pháp. – Thomas

+0

@Thomas cảm ơn - khi bạn nói không phải là giải pháp, nhưng hữu ích :) – Armand

Trả lời

0

Câu trả lời nhanh là "không". Trình biên dịch Java không biết gì về chú giải của bạn, vì vậy nó sẽ không xử lý nó theo cách bạn muốn.


Nhưng câu trả lời trung thực là "có". Trong này article bạn có thể tìm thấy mô tả chi tiết về cách viết plugin trình biên dịch. Rất có thể bạn có thể viết plugin, trong trường hợp tìm chú thích của bạn, sẽ xử lý nó và sẽ không chuyển trường tới trình kiểm tra không sử dụng.