Skip to content

Commit

Permalink
Issue checkstyle#14765: fix OverloadMethodsDeclarationOrderCheck
Browse files Browse the repository at this point in the history
  • Loading branch information
Zopsss committed Apr 20, 2024
1 parent b920c7e commit 8dabbb4
Show file tree
Hide file tree
Showing 16 changed files with 125 additions and 75 deletions.
Expand Up @@ -110,7 +110,11 @@ private void checkOverloadMethodsGrouping(DetailAST objectBlock) {
final String methodName =
currentToken.findFirstToken(TokenTypes.IDENT).getText();
final Integer previousIndex = methodIndexMap.get(methodName);
if (previousIndex != null && currentIndex - previousIndex > allowedDistance) {
final DetailAST previousSibling = currentToken.getPreviousSibling();
final boolean isMethod = previousSibling.getType() == TokenTypes.METHOD_DEF;

if (previousIndex != null
&& (!isMethod || currentIndex - previousIndex > allowedDistance)) {
final int previousLineWithOverloadMethod =
methodLineNumberMap.get(methodName);
log(currentToken, MSG_KEY,
Expand Down
Expand Up @@ -44,7 +44,7 @@ nested.if.depth=Nested if-else depth is {0,number,integer} (max allowed is {1,nu
nested.try.depth=Nested try depth is {0,number,integer} (max allowed is {1,number,integer}).
no.array.trailing.comma=Array should not contain trailing comma.
no.enum.trailing.comma=Enum should not contain trailing comma.
overload.methods.declaration=All overloaded methods should be placed next to each other. Placing non-overloaded methods in between overloaded methods with the same type is a violation. Previous overloaded method located at line ''{0}''.
overload.methods.declaration=All overloaded methods should be placed next to each other. Previous overloaded method located at line ''{0}''.
parameter.assignment=Assignment of parameter ''{0}'' is not allowed.
require.this.method=Method call to ''{0}'' needs \"{1}this.\".
require.this.variable=Reference to instance variable ''{0}'' needs \"{1}this.\".
Expand Down
Expand Up @@ -44,7 +44,7 @@ nested.if.depth=La profundidad de if-else anidados es {0,number,integer} (máxim
nested.try.depth=La profundidad de try anidados es {0,number,integer} (máximo permitido es {1,number,integer}).
no.array.trailing.comma=La matriz no debe contener una coma final.
no.enum.trailing.comma=Enum no debe contener una coma final.
overload.methods.declaration=Todos los métodos sobrecargados deben colocarse uno al lado del otro. Colocar métodos no sobrecargados entre métodos sobrecargados con el mismo tipo es una violación. Método sobrecargado anterior ubicado en la línea ''{0} ''.
overload.methods.declaration=Todos los métodos sobrecargados deben colocarse uno al lado del otro. Método sobrecargado anterior ubicado en la línea ''{0}''.
parameter.assignment=No esta permitida la asignación del parámetro ''{0}''.
require.this.method=La llamada al método ''{0}'' necesita "{1}this.".
require.this.variable=La referencia a la variable de instancia ''{0}'' necesita "{1}this.".
Expand Down
Expand Up @@ -44,7 +44,7 @@ nested.if.depth=Sisäkkäisten if-else -lausekkeiden syvyys on {0,number,integer
nested.try.depth=Sisäkkäisten try -lausekkeiden syvyys on {0,number,integer} (suurin sallittu on {1,number,integer}).
no.array.trailing.comma=Matriisissa ei tulisi olla takaosan pilkkua.
no.enum.trailing.comma=Enum ei saisi sisältää takaosan pilkkua.
overload.methods.declaration=Kaikki ylikuormitetut menetelmät tulisi asettaa vierekkäin. Ei-ylikuormitettujen menetelmien sijoittaminen samantyyppisiin ylikuormitettuihin menetelmiin on rikkomus. Aikaisempi ylikuormitettu menetelmä sijaitsee rivillä '' {0} ''.
overload.methods.declaration=Kaikki ylikuormitetut menetelmät tulee sijoittaa vierekkäin. Edellinen ylikuormitettu menetelmä sijaitsee rivillä ''{0}''.
parameter.assignment=Tehtävä parametrin ''{0}'' ei ole sallittu.
require.this.method=Menetelmä kehotus ''{0}'' tarvitsee "{1}this.".
require.this.variable=Viittaus Esimerkiksi muuttuja ''{0}'' tarvitsee "{1}this.".
Expand Down
Expand Up @@ -44,7 +44,7 @@ nested.if.depth=Le nombre de ''if'' imbriqués est de {0,number,integer}, alors
nested.try.depth=Le nombre de ''try'' imbriqués est de {0,number,integer}, alors que le maximum autorisé est de {1,number,integer}.
no.array.trailing.comma=Le tableau ne doit pas contenir de virgule.
no.enum.trailing.comma=Enum ne doit pas contenir de virgule.
overload.methods.declaration=Toutes les méthodes surchargées doivent être placées côte à côte. Placer des méthodes non surchargées entre des méthodes surchargées avec le même type est une violation. La méthode surchargée précédente se trouve à la ligne '' {0} ''.
overload.methods.declaration=Toutes les méthodes surchargées doivent être placées les unes à côté des autres. Méthode surchargée précédente située à la ligne ''{0}''.
parameter.assignment=Il est interdit d''affecter une valeur au paramètre ''{0}''.
require.this.method=L''appel à la méthode ''{0}'' nécessite l''utilisation de "{1}this.".
require.this.variable=La référence à la variable d''instance ''{0}'' doit utiliser "{1}this.".
Expand Down
Expand Up @@ -44,7 +44,7 @@ nested.if.depth=ネストした if-else の深さが {0,number,integer} (最
nested.try.depth=ネストした try の深さが {0,number,integer} (最大 {1,number,integer} まで)です。
no.array.trailing.comma=配列には末尾のコンマを含めないでください。
no.enum.trailing.comma=列挙には末尾のコンマを含めないでください。
overload.methods.declaration=すべてのオーバーロードされたメソッドは、互いに隣接して配置する必要があります。 同じタイプのオーバーロードされたメソッドの間に非オーバーロードされたメソッドを配置することは違反です。 最後のオーバーロードされたメソッドは、行 '' {0} ''にあります。
overload.methods.declaration=すべてのオーバーロードされたメソッドは隣り合って配置する必要があります。以前のオーバーロードされたメソッドは行 ''{0}'' にあります。
parameter.assignment=パラメータ ''{0}'' への代入は許可されていません。
require.this.method=メソッド ''{0}'' への呼び出しは、 "{1}this." が必要です。
require.this.variable=インスタンス変数 ''{0}'' への参照には "{1}this." が必要です。
Expand Down
@@ -1,67 +1,67 @@
array.trailing.comma=O array deveria ter uma virgula final.
assignment.inner.avoid=Atribuições aninhadas devem ser evitadas.
avoid.clone.method=Evite o uso do método ''clone()''.
avoid.double.brace.init=Evite a inicialização entre chaves.
avoid.finalizer.method=Evite o uso do método ''finalize()''.
assignment.inner.avoid=Atribui\u00C3\u00A7\u00C3\u00B5es aninhadas devem ser evitadas.
avoid.clone.method=Evite o uso do m\u00C3\u00A9todo ''clone()''.
avoid.double.brace.init=Evite a inicializa\u00C3\u00A7\u00C3\u00A3o entre chaves.
avoid.finalizer.method=Evite o uso do m\u00C3\u00A9todo ''finalize()''.
covariant.equals="equals" covariante sem sobrescrever ''equals(java.lang.Object)''.
declaration.order.access=Definição de acesso a variável em ordem errada.
declaration.order.constructor=Definição de construtor em ordem errada.
declaration.order.instance=Definição de variável de instância em ordem errada.
declaration.order.static=Definição de variável estática em ordem errada.
default.comes.last=O "default" deve ser a última entrada no "switch".
default.comes.last.in.casegroup=O "default" deve ser a última entrada no grupo de "case"s.
empty.statement=Instrução vazia.
equals.avoid.null=Literais de String deveriam estar no lado esquerdo de comparações feitas com "equals".
equals.noEquals=O método ''hashCode()'' deveria ser acompanhado de um método ''equals(Object)''.
equals.noHashCode=O método ''equals(Object)'' deveria ser acompanhado de um método ''hashCode()''.
equalsIgnoreCase.avoid.null=Literais de String deveriam estar no lado esquerdo de comparações feitas com equalsIgnoreCase.
explicit.init=A variável ''{0}'' foi inicializada explicitamente com ''{1}'' (valor padrão para o seu tipo).
fall.through=Continuação (fallthrough) vindo da ramificação anterior da instrução switch.
fall.through.last=Continuação (fallthrough) para além da último ramificação da instrução switch.
final.variable=A variável ''{0}'' deveria ser declarada final.
declaration.order.access=Defini\u00C3\u00A7\u00C3\u00A3o de acesso a vari\u00C3\u00A1vel em ordem errada.
declaration.order.constructor=Defini\u00C3\u00A7\u00C3\u00A3o de construtor em ordem errada.
declaration.order.instance=Defini\u00C3\u00A7\u00C3\u00A3o de vari\u00C3\u00A1vel de inst\u00C3\u00A2ncia em ordem errada.
declaration.order.static=Defini\u00C3\u00A7\u00C3\u00A3o de vari\u00C3\u00A1vel est\u00C3\u00A1tica em ordem errada.
default.comes.last=O "default" deve ser a \u00C3\u00BAltima entrada no "switch".
default.comes.last.in.casegroup=O "default" deve ser a \u00C3\u00BAltima entrada no grupo de "case"s.
empty.statement=Instru\u00C3\u00A7\u00C3\u00A3o vazia.
equals.avoid.null=Literais de String deveriam estar no lado esquerdo de compara\u00C3\u00A7\u00C3\u00B5es feitas com "equals".
equals.noEquals=O m\u00C3\u00A9todo ''hashCode()'' deveria ser acompanhado de um m\u00C3\u00A9todo ''equals(Object)''.
equals.noHashCode=O m\u00C3\u00A9todo ''equals(Object)'' deveria ser acompanhado de um m\u00C3\u00A9todo ''hashCode()''.
equalsIgnoreCase.avoid.null=Literais de String deveriam estar no lado esquerdo de compara\u00C3\u00A7\u00C3\u00B5es feitas com equalsIgnoreCase.
explicit.init=A vari\u00C3\u00A1vel ''{0}'' foi inicializada explicitamente com ''{1}'' (valor padr\u00C3\u00A3o para o seu tipo).
fall.through=Continua\u00C3\u00A7\u00C3\u00A3o (fallthrough) vindo da ramifica\u00C3\u00A7\u00C3\u00A3o anterior da instru\u00C3\u00A7\u00C3\u00A3o switch.
fall.through.last=Continua\u00C3\u00A7\u00C3\u00A3o (fallthrough) para al\u00C3\u00A9m da \u00C3\u00BAltimo ramifica\u00C3\u00A7\u00C3\u00A3o da instru\u00C3\u00A7\u00C3\u00A3o switch.
final.variable=A vari\u00C3\u00A1vel ''{0}'' deveria ser declarada final.
hidden.field=''{0}'' esconde um campo.
illegal.catch=Capturar ''{0}'' não é permitido.
illegal.throw=Lançar ''{0}'' não é permitido.
illegal.token=Não é permitida a utilização de ''{0}''.
illegal.token.text=Elemento de texto coincide com o padrão ilegal ''{0}''.
illegal.type=O uso do tipo ''{0}'' não é permitido.
illegal.catch=Capturar ''{0}'' n\u00C3\u00A3o \u00C3\u00A9 permitido.
illegal.throw=Lan\u00C3\u00A7ar ''{0}'' n\u00C3\u00A3o \u00C3\u00A9 permitido.
illegal.token=N\u00C3\u00A3o \u00C3\u00A9 permitida a utiliza\u00C3\u00A7\u00C3\u00A3o de ''{0}''.
illegal.token.text=Elemento de texto coincide com o padr\u00C3\u00A3o ilegal ''{0}''.
illegal.type=O uso do tipo ''{0}'' n\u00C3\u00A3o \u00C3\u00A9 permitido.
inline.conditional.avoid=Evite condicionais inline.
instantiation.avoid=A instanciação de {0} deve ser evitada.
magic.number=''{0}'' é um número mágico.
matchxpath.match=Estrutura de código ilegal detectada.
mismatch.package.directory=O nome do pacote não é o mesmo que o do diretório.
instantiation.avoid=A instancia\u00C3\u00A7\u00C3\u00A3o de {0} deve ser evitada.
magic.number=''{0}'' \u00C3\u00A9 um n\u00C3\u00BAmero m\u00C3\u00A1gico.
matchxpath.match=Estrutura de c\u00C3\u00B3digo ilegal detectada.
mismatch.package.directory=O nome do pacote n\u00C3\u00A3o \u00C3\u00A9 o mesmo que o do diret\u00C3\u00B3rio.
missing.ctor=A classe deve definir um construtor.
missing.package.declaration=Falta a declaração de pacote.
missing.super.call=O método ''{0}'' deveria invocar ''super.{0}''.
missing.switch.default="switch" sem a ramificação "default".
modified.control.variable=Variável de controle ''{0}'' é modificada.
multiple.statements.line=Apenas uma instrução por linha é permitida.
missing.package.declaration=Falta a declara\u00C3\u00A7\u00C3\u00A3o de pacote.
missing.super.call=O m\u00C3\u00A9todo ''{0}'' deveria invocar ''super.{0}''.
missing.switch.default="switch" sem a ramifica\u00C3\u00A7\u00C3\u00A3o "default".
modified.control.variable=Vari\u00C3\u00A1vel de controle ''{0}'' \u00C3\u00A9 modificada.
multiple.statements.line=Apenas uma instru\u00C3\u00A7\u00C3\u00A3o por linha \u00C3\u00A9 permitida.
multiple.string.literal=A String {0} aparece {1} vezes no arquivo.
multiple.variable.declarations=Apenas uma definição de variável por linha é permitida.
multiple.variable.declarations.comma=Cada declaração de variável deve estar em sua própria instrução.
nested.for.depth=A profundidade de aninhamento do "for" é {0, number, integer} (o máximo permitido é {1,number,integer}).
nested.if.depth=A profundidade de aninhamento do "if-else" é {0,number,integer} (o máximo permitido é {1,number,integer}).
nested.try.depth=A profundidade de aninhamento do "try" é {0,number,integer} (o máximo permitido é {1,number,integer}).
no.array.trailing.comma=A matriz não deve conter vírgula à direita.
no.enum.trailing.comma=O enum não deve conter vírgula à direita.
overload.methods.declaration=Todos os métodos sobrecarregados devem ser colocados juntos. A colocação de métodos não sobrecarregados entre métodos sobrecarregados com o mesmo tipo é uma violação. O método sobrecarregado anterior foi encontrado na linha '' {0} ''.
parameter.assignment=A atribuição ao parâmetro ''{0}'' não é permitida.
require.this.method=A chamada de método no ''{0}'' precisa de "{1}this.".
require.this.variable=A referência à variável de instância ''{0}'' precisa de "{1}this.".
return.count=O número de "return"s é {0,number,integer} (o máximo permitido para métodos não vazios/lambdas é {1,number,integer}).
return.countVoid=O número de "return"s é {0,number,integer} (o máximo permitido para vazios métodos/construtores/lambdas é {1,number,integer}).
simplify.boolReturn=A lógica condicional pode ser removida.
simplify.expression=A expressão pode ser simplificada.
string.literal.equality=Literais de String deveriam ser comparados com "equals()", não com ''{0}''.
super.constructor.call=Chamada desnecessária ao construtor da superclasse sem argumentos.
unnecessary.paren.assign=Parênteses desnecessários ao redor do lado direito da atribuição.
unnecessary.paren.expr=Parênteses desnecessários ao redor da expressão.
unnecessary.paren.ident=Parênteses desnecessários ao redor do identificador ''{0}''.
unnecessary.paren.lambda=Parênteses desnecessários em torno do valor lambda.
unnecessary.paren.literal=Parênteses desnecessários em torno do literal ''{0}''.
unnecessary.paren.return=Parênteses desnecessários em torno do valor de retorno.
unnecessary.paren.string=Parênteses desnecessários em torno da cadeia {0}.
unnecessary.semicolon=Ponto-e-vírgula desnecessário.
unused.local.var=Variável local não utilizada '' {0} ''.
variable.declaration.usage.distance=A distância entre a declaração da variável ''{0}'' e o seu primeiro uso é {1}. O máximo permitido é {2}.
variable.declaration.usage.distance.extend=A distância entre a declaração da variável ''{0}'' e o seu primeiro uso é {1}. O máximo permitido é {2}. Considere tornar essa variável final se você ainda precisa armazenar o seu valor com antecedência (antes que chamadas de métodos que possam causar efeitos colaterais sobre o seu valor original).
multiple.variable.declarations=Apenas uma defini\u00C3\u00A7\u00C3\u00A3o de vari\u00C3\u00A1vel por linha \u00C3\u00A9 permitida.
multiple.variable.declarations.comma=Cada declara\u00C3\u00A7\u00C3\u00A3o de vari\u00C3\u00A1vel deve estar em sua pr\u00C3\u00B3pria instru\u00C3\u00A7\u00C3\u00A3o.
nested.for.depth=A profundidade de aninhamento do "for" \u00C3\u00A9 {0, number, integer} (o m\u00C3\u00A1ximo permitido \u00C3\u00A9 {1,number,integer}).
nested.if.depth=A profundidade de aninhamento do "if-else" \u00C3\u00A9 {0,number,integer} (o m\u00C3\u00A1ximo permitido \u00C3\u00A9 {1,number,integer}).
nested.try.depth=A profundidade de aninhamento do "try" \u00C3\u00A9 {0,number,integer} (o m\u00C3\u00A1ximo permitido \u00C3\u00A9 {1,number,integer}).
no.array.trailing.comma=A matriz n\u00C3\u00A3o deve conter v\u00C3\u00ADrgula \u00C3\u00A0 direita.
no.enum.trailing.comma=O enum n\u00C3\u00A3o deve conter v\u00C3\u00ADrgula \u00C3\u00A0 direita.
overload.methods.declaration=Todos os m\u00C3\u00A9todos sobrecarregados devem ser colocados um ao lado do outro. M\u00C3\u00A9todo sobrecarregado anterior localizado na linha ''{0}''.
parameter.assignment=A atribui\u00C3\u00A7\u00C3\u00A3o ao par\u00C3\u00A2metro ''{0}'' n\u00C3\u00A3o \u00C3\u00A9 permitida.
require.this.method=A chamada de m\u00C3\u00A9todo no ''{0}'' precisa de "{1}this.".
require.this.variable=A refer\u00C3\u00AAncia \u00C3\u00A0 vari\u00C3\u00A1vel de inst\u00C3\u00A2ncia ''{0}'' precisa de "{1}this.".
return.count=O n\u00C3\u00BAmero de "return"s \u00C3\u00A9 {0,number,integer} (o m\u00C3\u00A1ximo permitido para m\u00C3\u00A9todos n\u00C3\u00A3o vazios/lambdas \u00C3\u00A9 {1,number,integer}).
return.countVoid=O n\u00C3\u00BAmero de "return"s \u00C3\u00A9 {0,number,integer} (o m\u00C3\u00A1ximo permitido para vazios m\u00C3\u00A9todos/construtores/lambdas \u00C3\u00A9 {1,number,integer}).
simplify.boolReturn=A l\u00C3\u00B3gica condicional pode ser removida.
simplify.expression=A express\u00C3\u00A3o pode ser simplificada.
string.literal.equality=Literais de String deveriam ser comparados com "equals()", n\u00C3\u00A3o com ''{0}''.
super.constructor.call=Chamada desnecess\u00C3\u00A1ria ao construtor da superclasse sem argumentos.
unnecessary.paren.assign=Par\u00C3\u00AAnteses desnecess\u00C3\u00A1rios ao redor do lado direito da atribui\u00C3\u00A7\u00C3\u00A3o.
unnecessary.paren.expr=Par\u00C3\u00AAnteses desnecess\u00C3\u00A1rios ao redor da express\u00C3\u00A3o.
unnecessary.paren.ident=Par\u00C3\u00AAnteses desnecess\u00C3\u00A1rios ao redor do identificador ''{0}''.
unnecessary.paren.lambda=Par\u00C3\u00AAnteses desnecess\u00C3\u00A1rios em torno do valor lambda.
unnecessary.paren.literal=Par\u00C3\u00AAnteses desnecess\u00C3\u00A1rios em torno do literal ''{0}''.
unnecessary.paren.return=Par\u00C3\u00AAnteses desnecess\u00C3\u00A1rios em torno do valor de retorno.
unnecessary.paren.string=Par\u00C3\u00AAnteses desnecess\u00C3\u00A1rios em torno da cadeia {0}.
unnecessary.semicolon=Ponto-e-v\u00C3\u00ADrgula desnecess\u00C3\u00A1rio.
unused.local.var=Vari\u00C3\u00A1vel local n\u00C3\u00A3o utilizada '' {0} ''.
variable.declaration.usage.distance=A dist\u00C3\u00A2ncia entre a declara\u00C3\u00A7\u00C3\u00A3o da vari\u00C3\u00A1vel ''{0}'' e o seu primeiro uso \u00C3\u00A9 {1}. O m\u00C3\u00A1ximo permitido \u00C3\u00A9 {2}.
variable.declaration.usage.distance.extend=A dist\u00C3\u00A2ncia entre a declara\u00C3\u00A7\u00C3\u00A3o da vari\u00C3\u00A1vel ''{0}'' e o seu primeiro uso \u00C3\u00A9 {1}. O m\u00C3\u00A1ximo permitido \u00C3\u00A9 {2}. Considere tornar essa vari\u00C3\u00A1vel final se voc\u00C3\u00AA ainda precisa armazenar o seu valor com anteced\u00C3\u00AAncia (antes que chamadas de m\u00C3\u00A9todos que possam causar efeitos colaterais sobre o seu valor original).

0 comments on commit 8dabbb4

Please sign in to comment.