2013-05-21 9 views
5

Czy jest możliwe, aby checkstyle wymagał formatowania diamentowego operatora Java 7? Chcę zapewnić moje codebase konsekwentnie używa nowego Java 7 stylu, tj .:Spraw, aby checkstyle wymagał operatora Java 7 Diamond

List<String> items = new LinkedList<>(); 

zamiast starszych:

List<String> items = new LinkedList<String>(); 
+1

Nie wiem, czy istnieje jakaś reguła, ale jako ostateczne rozwiązanie zawsze możesz [napisać własną regułę] (http://checkstyle.sourceforge.net/writingchecks.html). –

+0

Twoje ide może to zrobić. – assylias

Odpowiedz

1

przyjrzeć this.

Jeden z użytkowników narzeka błędu w gramatyce operatora diament:

List list = new ArrayList<>(); 
    throws an error:unexpected token: > 

Raport ten błąd został zamknięty dzięki patch który dodaje wsparcie dla Java 7.

Według strony , jedną z dodanych funkcji było:

4) Diamond Generics: In presence of a diamond, the AST looks like: 

+--TYPE_ARGUMENTS 
| 
+--GENERIC_START 
+--GENERIC_END 

Download link do łaty.

+0

Znalazłem to. Łata ma 6 miesięcy. Czy chcesz uzyskać tę funkcję, musisz pobrać źródło, zastosować poprawkę i skompilować własną wersję checkstyle? – Jacob