mulang 5.1.0.2 → 6.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/console +2 -2
- data/bin/mulang +0 -0
- data/lib/locales/en.yml +41 -30
- data/lib/locales/es.yml +40 -29
- data/lib/locales/operators.yml +96 -0
- data/lib/locales/pt.yml +39 -28
- data/lib/mulang.rb +53 -4
- data/lib/mulang/code.rb +38 -8
- data/lib/mulang/expectation.rb +70 -9
- data/lib/mulang/expectation/i18n.rb +21 -31
- data/lib/mulang/expectation/standard.rb +5 -5
- data/lib/mulang/language.rb +66 -14
- data/lib/mulang/sexp.rb +80 -0
- data/lib/mulang/tokens.rb +275 -0
- data/lib/mulang/version.rb +2 -2
- metadata +21 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2fccc6ae521b7cc8afb96206ab3cefde9cc8a5de2a0372f98b1d8aeacc4814bb
|
4
|
+
data.tar.gz: 77da683de43a57b229051476ff2e1d9ed78095859e0aa2e69874b86182e03df4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a0473f1cd8c078c3c61b11d217628be7fa2d745ee356ea484214e58c70ef0ef722ae752e40f6aae17cf704d6eb18838ada30c13977af89cd1f9b203219f47299
|
7
|
+
data.tar.gz: 9d94d6e7acd22e9c9fe6545207810c6b4c88b33f7c55689eb8a20e25732b19387d45f04acb3254ee7ffbbd79544937076b1c77238e968d97fde9d9c8bfa94841
|
data/bin/console
CHANGED
data/bin/mulang
CHANGED
Binary file
|
data/lib/locales/en.yml
CHANGED
@@ -5,17 +5,17 @@ en:
|
|
5
5
|
must_not: must not
|
6
6
|
must: must
|
7
7
|
solution: solution
|
8
|
-
with_char: ' with character <
|
9
|
-
with_false: ' with value <
|
8
|
+
with_char: ' with character <code>%{value}</code>'
|
9
|
+
with_false: ' with value <code>%{keyword_False}</code>'
|
10
10
|
with_literal: ' with a literal value'
|
11
11
|
with_logic: ' with a boolean expression'
|
12
12
|
with_math: ' with a math expression'
|
13
|
-
with_nil: ' with <
|
13
|
+
with_nil: ' with <code>%{keyword_Nil}</code>'
|
14
14
|
with_nonliteral: ' with a non-literal expresson'
|
15
|
-
with_number: ' with number <
|
16
|
-
with_string: ' with string <
|
17
|
-
with_symbol: ' with symbol <
|
18
|
-
with_true: ' with value <
|
15
|
+
with_number: ' with number <code>%{value}</code>'
|
16
|
+
with_string: ' with string <code>%{value}</code>'
|
17
|
+
with_symbol: ' with symbol <code>%{value}</code>'
|
18
|
+
with_true: ' with value <code>%{keyword_True}</code>'
|
19
19
|
inspection:
|
20
20
|
Assigns_except: '%{binding} %{must} assign something distinct from %{target}%{matching}'
|
21
21
|
Assigns_like: '%{binding} %{must} assign something similar to %{target}%{matching}'
|
@@ -47,7 +47,7 @@ en:
|
|
47
47
|
DeclaresComputationWithArity3_named: '%{target} %{must} have 3 parameters'
|
48
48
|
DeclaresComputationWithArity4_named: '%{target} %{must} have 4 parameters'
|
49
49
|
DeclaresComputationWithArity5_named: '%{target} %{must} have 5 parameters'
|
50
|
-
DeclaresEntryPoint: '%{binding} %{must} declare
|
50
|
+
DeclaresEntryPoint: '%{binding} %{must} declare a <code>%{keyword_EntryPoint}</code>%{matching}'
|
51
51
|
DeclaresEnumeration_except: '%{binding} %{must} declare enumerations distinct from %{target}'
|
52
52
|
DeclaresEnumeration_like: '%{binding} %{must} declare an enumeration like %{target}'
|
53
53
|
DeclaresEnumeration_named: '%{binding} %{must} declare an enumeration %{target}'
|
@@ -97,29 +97,35 @@ en:
|
|
97
97
|
DeclaresVariable_like: '%{binding} %{must} declare a variable similar to %{target}%{matching}'
|
98
98
|
DeclaresVariable_named: '%{binding} %{must} declare a variable %{target}%{matching}'
|
99
99
|
DeclaresVariable: '%{binding} %{must} debe declare variables%{matching}'
|
100
|
+
Delegates: '%{binding} %{must} delegate'
|
100
101
|
DiscardsExceptions: '%{binding} is ignoring exceptions silently'
|
101
102
|
DoesConsolePrint: '%{binding} is printing to the console'
|
102
|
-
DoesNilTest: '%{binding} does <
|
103
|
-
DoesNullTest: '%{binding} does <
|
103
|
+
DoesNilTest: '%{binding} does <code>%{keyword_Nil}</code> tests'
|
104
|
+
DoesNullTest: '%{binding} does <code>%{keyword_Nil}</code> tests'
|
104
105
|
DoesTypeTest: '%{binding} string type tests'
|
105
|
-
|
106
|
+
HasAssignmentCondition: '%{binding} evaluates the result of an assignment where a boolean expression is expected. Perhaps you meant to use the <code>%{operator_Equal}</code> operator?'
|
107
|
+
HasAssignmentReturn: '%{binding} returns the result of an assignment. Perhaps you meant to use the <code>%{operator_Equal}</code> operator?'
|
106
108
|
HasCodeDuplication: '%{binding} has code duplication'
|
107
|
-
|
109
|
+
HasDeclarationTypos_named: 'Solution must declare %{target}, but declares %{binding}. Perhaps you meant %{target}?'
|
110
|
+
HasEmptyIfBranches: '%{binding} has empty <code>%{keyword_If}</code> branches'
|
111
|
+
HasEmptyRepeat: '%{binding} has empty <code>%{keyword_Repeat}</code>'
|
112
|
+
HasEqualIfBranches: '%{binding} has unnecessary <code>%{keyword_If}</code>s whose branches are equal'
|
108
113
|
HasLongParameterList: '%{binding} has too many parameters. You may be missing an abstraction.'
|
109
114
|
HasMisspelledBindings: '%{binding} is misspelled'
|
110
115
|
HasMisspelledIdentifiers: '%{binding} is misspelled'
|
111
116
|
HasRedundantBooleanComparison: '%{binding} makes unnecesary boolean comparisons'
|
112
117
|
HasRedundantGuards: '%{binding} has unnecessary guards'
|
113
|
-
HasRedundantIf: '%{binding} has unnecessary <
|
118
|
+
HasRedundantIf: '%{binding} has unnecessary <code>%{keyword_If}</code>s that can be replaced by a boolean expression'
|
114
119
|
HasRedundantLambda: '%{binding} has unnecessary lambdas'
|
115
120
|
HasRedundantLocalVariableReturn: '%{binding} has unnecesary local variables; please try returning the expression directly'
|
116
121
|
HasRedundantParameter: '%{binding} has unnecessary parameters, that can be removed using point-free'
|
117
|
-
HasRedundantReduction: '%{binding} uses <
|
118
|
-
HasRedundantRepeat: '%{binding} has an unnecesary <
|
122
|
+
HasRedundantReduction: '%{binding} uses <code>%{keyword_Is}</code>, but it does not artihmetic'
|
123
|
+
HasRedundantRepeat: '%{binding} has an unnecesary <code>%{keyword_Repeat}</code>'
|
119
124
|
HasTooManyMethods: '%{binding} has too many methods'
|
120
125
|
HasTooShortBindings: '%{binding} is a too short identifier'
|
121
126
|
HasTooShortIdentifiers: '%{binding} is a too short identifier'
|
122
127
|
HasUnreachableCode: '%{binding} has unreachable code'
|
128
|
+
HasUsageTypos_named: 'Solution must use %{target}, but it uses %{binding}. Perhaps you meant %{target}?'
|
123
129
|
HasWrongCaseBindings: '%{binding} does not honor case conventions'
|
124
130
|
HasWrongCaseIdentifiers: '%{binding} does not honor case conventions'
|
125
131
|
Implements_except: '%{binding} %{must} implement interfaces distinct from %{target}'
|
@@ -135,14 +141,19 @@ en:
|
|
135
141
|
Instantiates_named: '%{binding} %{must} instantiate %{target}'
|
136
142
|
Instantiates: '%{binding} %{must} instantiate objects'
|
137
143
|
IsLongCode: '%{binding} is too long'
|
138
|
-
|
144
|
+
JavaScript#UsesVarInsteadOfLet: '%{binding} should use <code>let</code> instead of <code>var</code>'
|
145
|
+
OverridesEqualOrHashButNotBoth: '%{binding} overrides <code>equals</code> or <code>hash</code> methods, but not both'
|
139
146
|
Raises_except: '%{binding} %{must} throw exceptions distinct from %{target}'
|
140
147
|
Raises_like: '%{binding} %{must} throw exceptions like %{target}'
|
141
148
|
Raises_named: '%{binding} %{must} throw %{target}'
|
142
149
|
Raises: '%{binding} %{must} throw exceptions'
|
143
150
|
Returns: '%{binding} %{must} return%{matching}'
|
144
|
-
ReturnsNil: '%{binding} retuns <
|
145
|
-
ReturnsNull: '%{binding} retuns <
|
151
|
+
ReturnsNil: '%{binding} retuns <code>%{keyword_Nil}</code>, which is a bad practice'
|
152
|
+
ReturnsNull: '%{binding} retuns <code>%{keyword_Nil}</code>, which is a bad practice'
|
153
|
+
ShouldInvertIfCondition: '%{binding} should invert <code>%{keyword_If}</code> condition and swap branches'
|
154
|
+
ShouldUseStrictComparators: '%{binding} should use strict operators <code>%{operator_Equal}</code> and <code>%{operator_NotEqual}</code> instead of <code>%{operator_Similar}</code> and <code>%{operator_NotSimilar}</code>'
|
155
|
+
SubordinatesDeclarationsTo: 'All declarations in %{binding} %{must} be used from %{target}'
|
156
|
+
SubordinatesDeclarationsToEntryPoint: 'All declarations in %{binding} %{must} be used from <code>%{keyword_EntryPoint}</code> '
|
146
157
|
TypesAs_named: '%{binding} %{must} type as %{target}'
|
147
158
|
TypesAs: '%{binding} %{must} type'
|
148
159
|
TypesParameterAs_except: '%{binding} %{must} type parameters with a type distinct from %{target}'
|
@@ -159,29 +170,29 @@ en:
|
|
159
170
|
UsesComposition: '%{binding} %{must} use composition'
|
160
171
|
UsesComprehension: '%{binding} %{must} use comprehensions'
|
161
172
|
UsesConditional: '%{binding} %{must} use conditionals'
|
162
|
-
UsesCut: '%{binding} uses <
|
173
|
+
UsesCut: '%{binding} uses <code>!</li> operator, which is a bad practice'
|
163
174
|
UsesDyamicPolymorphism: '%{binding} %{must} use polymorphism'
|
164
175
|
UsesDynamicMethodOverload: '%{binding} %{must} use overload'
|
165
|
-
UsesFail: '%{binding} uses <
|
166
|
-
UsesFindall: '%{binding} %{must} use <
|
167
|
-
UsesForall: '%{binding} %{must} use <
|
168
|
-
UsesForeach: '%{binding} %{must} use <
|
169
|
-
UsesForLoop: '%{binding} %{must} use <
|
176
|
+
UsesFail: '%{binding} uses <code>%{keyword_Fail}</li>, which is a bad practice'
|
177
|
+
UsesFindall: '%{binding} %{must} use <code>%{keyword_Findall}</code>'
|
178
|
+
UsesForall: '%{binding} %{must} use <code>%{keyword_Forall}</code>'
|
179
|
+
UsesForeach: '%{binding} %{must} use <code>%{keyword_ForEach}</code>%{matching}'
|
180
|
+
UsesForLoop: '%{binding} %{must} use <code>%{keyword_For}</code>%{matching}'
|
170
181
|
UsesGuards: '%{binding} %{must} use guards%{matching}'
|
171
|
-
UsesIf: '%{binding} %{must} use <
|
182
|
+
UsesIf: '%{binding} %{must} use <code>%{keyword_If}</code>%{matching}'
|
172
183
|
UsesLambda: '%{binding} %{must} use lambda expressions%{matching}'
|
173
|
-
UsesLogic: '%{binding} %{must} usar boolean
|
184
|
+
UsesLogic: '%{binding} %{must} usar boolean operators'
|
174
185
|
UsesLoop: '%{binding} %{must} use a loop%{matching}'
|
175
186
|
UsesMath: '%{binding} %{must} usar math expressions'
|
176
187
|
UsesMixin: '%{binding} %{must} use mixins'
|
177
188
|
UsesNot: '%{binding} %{must} use not'
|
178
189
|
UsesObjectComposition: '%{binding} %{must} use composition'
|
179
190
|
UsesPatternMatching: '%{binding} %{must} use pattern matching'
|
180
|
-
UsesRepeat: '%{binding} %{must} use <
|
181
|
-
UsesRepeatOf: '%{binding} %{must} use <
|
191
|
+
UsesRepeat: '%{binding} %{must} use <code>%{keyword_Repeat}</code>%{matching}'
|
192
|
+
UsesRepeatOf: '%{binding} %{must} use <code>%{keyword_Repeat}</code>'
|
182
193
|
UsesStaticMethodOverload: '%{binding} %{must} use overload'
|
183
194
|
UsesStaticPolymorphism: '%{binding} %{must} use polymorphism'
|
184
|
-
UsesSwitch: '%{binding} %{must} use a <
|
195
|
+
UsesSwitch: '%{binding} %{must} use a <code>%{keyword_Switch}</code>'
|
185
196
|
UsesTemplateMethod: '%{binding} %{must} use a template method'
|
186
197
|
UsesUnificationOperator: '%{binding} uses the unification operator (=)'
|
187
|
-
UsesWhile: '%{binding} %{must} use <
|
198
|
+
UsesWhile: '%{binding} %{must} use <code>%{keyword_While}</code>%{matching}'
|
data/lib/locales/es.yml
CHANGED
@@ -5,17 +5,17 @@ es:
|
|
5
5
|
must_not: no debe
|
6
6
|
must: debe
|
7
7
|
solution: la solución
|
8
|
-
with_char: ' con el carácter <
|
9
|
-
with_false: ' con el valor <
|
8
|
+
with_char: ' con el carácter <code>%{value}</code>'
|
9
|
+
with_false: ' con el valor <code>%{keyword_False}</code>'
|
10
10
|
with_literal: ' con un valor literal'
|
11
11
|
with_logic: ' con una expresión booleana'
|
12
12
|
with_math: 'con una expresión matemática'
|
13
|
-
with_nil: ' con <
|
13
|
+
with_nil: ' con <code>%{keyword_Nil}</code>'
|
14
14
|
with_nonliteral: ' con una expresión no literal'
|
15
|
-
with_number: ' con el número <
|
16
|
-
with_string: ' con la cadena <
|
17
|
-
with_symbol: ' con el símbolo <
|
18
|
-
with_true: ' con el valor <
|
15
|
+
with_number: ' con el número <code>%{value}</code>'
|
16
|
+
with_string: ' con la cadena <code>%{value}</code>'
|
17
|
+
with_symbol: ' con el símbolo <code>%{value}</code>'
|
18
|
+
with_true: ' con el valor <code>%{keyword_True}</code>'
|
19
19
|
inspection:
|
20
20
|
Assigns_except: '%{binding} %{must} asignar a algo diferente a %{target}%{matching}'
|
21
21
|
Assigns_like: '%{binding} %{must} asignar algo parecido a %{target}%{matching}'
|
@@ -47,7 +47,7 @@ es:
|
|
47
47
|
DeclaresComputationWithArity3_named: '%{target} %{must} tener tres parámetros'
|
48
48
|
DeclaresComputationWithArity4_named: '%{target} %{must} tener cuatro parámetros'
|
49
49
|
DeclaresComputationWithArity5_named: '%{target} %{must} tener cinco parámetros'
|
50
|
-
DeclaresEntryPoint: '%{binding} %{must} declarar un
|
50
|
+
DeclaresEntryPoint: '%{binding} %{must} declarar un <code>%{keyword_EntryPoint}</code>%{matching}'
|
51
51
|
DeclaresEnumeration_except: '%{binding} %{must} declarar enumeraciones que no se llamen %{target}'
|
52
52
|
DeclaresEnumeration_like: '%{binding} %{must} declarar una enumeracion de nombre parecido a %{target}'
|
53
53
|
DeclaresEnumeration_named: '%{binding} %{must} declarar una enumeracion %{target}'
|
@@ -101,29 +101,35 @@ es:
|
|
101
101
|
DeclaresVariable_like: '%{binding} %{must} declarar una variable parecida a %{target}%{matching}'
|
102
102
|
DeclaresVariable_named: '%{binding} %{must} declarar una variable %{target}%{matching}'
|
103
103
|
DeclaresVariable: '%{binding} %{must} debe declarar variables%{matching}'
|
104
|
+
Delegates: '%{binding} %{must} delegar'
|
104
105
|
DiscardsExceptions: '%{binding} está ignorando excepciones silenciosamiente'
|
105
106
|
DoesConsolePrint: '%{binding} está realizando impresiones por pantalla'
|
106
|
-
DoesNilTest: '%{binding} hace comparaciones contra <
|
107
|
-
DoesNullTest: '%{binding} hace comparaciones contra <
|
107
|
+
DoesNilTest: '%{binding} hace comparaciones contra <code>%{keyword_Nil}</code>'
|
108
|
+
DoesNullTest: '%{binding} hace comparaciones contra <code>%{keyword_Nil}</code>'
|
108
109
|
DoesTypeTest: '%{binding} hace comparaciones contra strings'
|
109
|
-
|
110
|
+
HasAssignmentCondition: '%{binding} evalúa el resultado de una asignación en donde se esperaba una expresión booleana. ¿Quizás quisiste usar el operador <code>%{operator_Equal}</code>?'
|
111
|
+
HasAssignmentReturn: '%{binding} devuelve el resultado de una asignación. ¿Quizás quisiste usar el operador <code>%{operator_Equal}</code>?'
|
110
112
|
HasCodeDuplication: '%{binding} tiene código repetido'
|
111
|
-
|
113
|
+
HasDeclarationTypos_named: 'La solución parece tener un error de tipeo: debe declarar %{target}, pero declara %{binding}. ¿Quizás quisiste decir %{target}?'
|
114
|
+
HasEmptyIfBranches: '%{binding} tiene ramas de <code>%{keyword_If}</code> vacías'
|
115
|
+
HasEmptyRepeat: '%{binding} tiene un <code>%{keyword_Repeat}</code> vacío'
|
116
|
+
HasEqualIfBranches: '%{binding} tiene <code>if</code>s innecesarios porque sus dos ramas son iguales'
|
112
117
|
HasLongParameterList: '%{binding} tiene demasiados parámetros. Te podría estar faltando una abstracción'
|
113
118
|
HasMisspelledBindings: '%{binding} está mal escrito. Revisá la ortografía y procurá no usar abreviaturas'
|
114
119
|
HasMisspelledIdentifiers: '%{binding} está mal escrito. Revisá la ortografía y procurá no usar abreviaturas'
|
115
120
|
HasRedundantBooleanComparison: '%{binding} hace comparaciones booleanas innecesarias'
|
116
121
|
HasRedundantGuards: '%{binding} tiene guardas innecesarias'
|
117
|
-
HasRedundantIf: '%{binding} tiene
|
122
|
+
HasRedundantIf: '%{binding} tiene <code>if</code>s innecesarios que pueden ser reemplazados por expresiones booleanas'
|
118
123
|
HasRedundantLambda: '%{binding} tiene lambdas innecesarias'
|
119
124
|
HasRedundantLocalVariableReturn: '%{binding} usa variables locales innecesarias; podés retornar directamente la expresión'
|
120
125
|
HasRedundantParameter: '%{binding} tiene parámetros innecesarios (se pueden eliminar mediante point-free)'
|
121
|
-
HasRedundantReduction: '%{binding} usa <
|
122
|
-
HasRedundantRepeat: '%{binding} tiene un <
|
126
|
+
HasRedundantReduction: '%{binding} usa <code>%{keyword_Is}</code>, pero no realiza cálculos'
|
127
|
+
HasRedundantRepeat: '%{binding} tiene un <code>%{keyword_Repeat}</code> innecesario'
|
123
128
|
HasTooManyMethods: '%{binding} tiene demasiados métodos'
|
124
129
|
HasTooShortBindings: '%{binding} es un identificador muy corto'
|
125
130
|
HasTooShortIdentifiers: '%{binding} es un identificador muy corto'
|
126
131
|
HasUnreachableCode: '%{binding} tiene código inalcanzable'
|
132
|
+
HasUsageTypos_named: 'La solución parece tener un error de tipeo: debe usar %{target}, pero usa %{binding}. ¿Quizás quisiste decir %{target}?'
|
127
133
|
HasWrongCaseBindings: '%{binding} no respeta la convención de nombres'
|
128
134
|
HasWrongCaseIdentifiers: '%{binding} no respeta la convención de nombres'
|
129
135
|
Implements_except: '%{binding} %{must} implementar interfaces distintas de %{target}'
|
@@ -143,7 +149,8 @@ es:
|
|
143
149
|
Instantiates_named: '%{binding} %{must} instanciar %{target}'
|
144
150
|
Instantiates: '%{binding} %{must} instanciar objetos'
|
145
151
|
IsLongCode: '%{binding} es muy largo. Tratá de delegar más'
|
146
|
-
|
152
|
+
JavaScript#UsesVarInsteadOfLet: '%{binding} debería utilizar <code>let</code> en lugar de <code>var</code>'
|
153
|
+
OverridesEqualOrHashButNotBoth: '%{binding} redefine los métodos <code>equals</code> o <code>hash</code>, pero no ambos'
|
147
154
|
Raises_except: '%{binding} %{must} lanzar excepciones diferentes a %{target}'
|
148
155
|
Raises_like: '%{binding} %{must} lanzar excepciones parecidas a %{target}'
|
149
156
|
Raises_named: '%{binding} %{must} lanzar %{target}'
|
@@ -155,6 +162,10 @@ es:
|
|
155
162
|
Returns: '%{binding} %{must} retornar%{matching}'
|
156
163
|
ReturnsNil: '%{binding} retorna null, lo cual es una mala práctica'
|
157
164
|
ReturnsNull: '%{binding} retorna null, lo cual es una mala práctica'
|
165
|
+
ShouldInvertIfCondition: '%{binding} debería invertir la condición del <code>%{keyword_If}</code> e intercambiar las ramas'
|
166
|
+
ShouldUseStrictComparators: '%{binding} debería usar los operadores de equivalencia <code>%{operator_Equal}</code> y <code>%{operator_NotEqual}</code> en lugar de los operadores de similitud <code>%{operator_Similar}</code> y <code>%{operator_NotSimilar}</code>'
|
167
|
+
SubordinatesDeclarationsTo: 'Todas las declaraciones en %{binding} %{must} ser usadas desde %{target}'
|
168
|
+
SubordinatesDeclarationsToEntryPoint: 'Todas las declaraciones en %{binding} %{must} deben ser usadas desde un <code>%{keyword_EntryPoint}</code>'
|
158
169
|
TypesAs_named: '%{binding} %{must} ser de tipo %{target}'
|
159
170
|
TypesAs: '%{binding} %{must} tipar'
|
160
171
|
TypesParameterAs_except: '%{binding} %{must} tipar parámetros con un tipo diferente a %{target}'
|
@@ -176,29 +187,29 @@ es:
|
|
176
187
|
UsesDynamicMethodOverload: '%{binding} %{must} usar sobrecarga'
|
177
188
|
UsesExceptionHandling: '%{binding} %{must} realizar manejo de excepciones'
|
178
189
|
UsesExceptions: '%{binding} %{must} usar excepciones'
|
179
|
-
UsesFail: '%{binding} usa <
|
180
|
-
UsesFindall: '%{binding} %{must} utilizar <
|
181
|
-
UsesForall: '%{binding} %{must} utilizar <
|
182
|
-
UsesForeach: '%{binding} %{must} usar <
|
183
|
-
UsesForLoop: '%{binding} %{must} usar <
|
190
|
+
UsesFail: '%{binding} usa <code>%{keyword_Fail}</li>, lo cual es una mala práctica'
|
191
|
+
UsesFindall: '%{binding} %{must} utilizar <code>%{keyword_Findall}</code>'
|
192
|
+
UsesForall: '%{binding} %{must} utilizar <code>%{keyword_Forall}</code>'
|
193
|
+
UsesForeach: '%{binding} %{must} usar <code>%{keyword_ForEach}</code>%{matching}'
|
194
|
+
UsesForLoop: '%{binding} %{must} usar <code>%{keyword_For}</code>%{matching}'
|
184
195
|
UsesGuards: '%{binding} %{must} usar guardas%{matching}'
|
185
|
-
UsesIf: '%{binding} %{must} usar <
|
196
|
+
UsesIf: '%{binding} %{must} usar <code>%{keyword_If}</code>%{matching}'
|
186
197
|
UsesInheritance: '%{binding} %{must} usar herencia'
|
187
198
|
UsesLambda: '%{binding} %{must} emplear expresiones lambda%{matching}'
|
188
|
-
UsesLogic: '%{binding} %{must} usar
|
199
|
+
UsesLogic: '%{binding} %{must} usar operadores booleanos'
|
189
200
|
UsesLoop: '%{binding} %{must} usar un bucle'
|
190
201
|
UsesMath: '%{binding} %{must} usar expresiones matemáticas'
|
191
202
|
UsesMixin: '%{binding} %{must} utilizar mixins'
|
192
203
|
UsesMixins: '%{binding} %{must} usar mixins'
|
193
|
-
UsesNot: '%{binding} %{must} utilizar <
|
204
|
+
UsesNot: '%{binding} %{must} utilizar <code>%{keyword_Not}</code>'
|
194
205
|
UsesObjectComposition: '%{binding} %{must} usar composición'
|
195
206
|
UsesPatternMatching: '%{binding} %{must} utilizar pattern matching'
|
196
|
-
UsesRepeat: '%{binding} %{must} usar <
|
197
|
-
UsesRepeatOf: '%{binding} %{must} usar un <
|
207
|
+
UsesRepeat: '%{binding} %{must} usar <code>%{keyword_Repeat}</code>%{matching}'
|
208
|
+
UsesRepeatOf: '%{binding} %{must} usar un <code>%{keyword_Repeat}</code> de %{target}'
|
198
209
|
UsesStaticMethodOverload: '%{binding} %{must} usar sobrecarga'
|
199
210
|
UsesStaticPolymorphism: '%{binding} %{must} usar polimorfismo'
|
200
|
-
UsesSwitch: '%{binding} %{must} utilizar un <
|
211
|
+
UsesSwitch: '%{binding} %{must} utilizar un <code>%{keyword_Switch}</code>'
|
201
212
|
UsesTemplateMethod: '%{binding} %{must} usar un método plantilla'
|
202
213
|
UsesUnificationOperator: '%{binding} usa el operador de unificación (=)'
|
203
|
-
UsesWhile: '%{binding} %{must} utilizar un <
|
204
|
-
UsesYield: '%{binding} %{must} utilizar un <
|
214
|
+
UsesWhile: '%{binding} %{must} utilizar un <code>%{keyword_While}</code>'
|
215
|
+
UsesYield: '%{binding} %{must} utilizar un <code>%{keyword_Yield}</code>'
|
@@ -0,0 +1,96 @@
|
|
1
|
+
en:
|
2
|
+
mulang:
|
3
|
+
inspection:
|
4
|
+
UsesAnd: '%{binding} %{must} use <code>%{operator_And}</code>'
|
5
|
+
UsesBackwardComposition: '%{binding} %{must} use <code>%{operator_BackwardComposition}</code>'
|
6
|
+
UsesBitwiseAnd: '%{binding} %{must} use <code>%{operator_BitwiseAnd}</code>'
|
7
|
+
UsesBitwiseLeftShift: '%{binding} %{must} use <code>%{operator_BitwiseLeftShift}</code>'
|
8
|
+
UsesBitwiseOr: '%{binding} %{must} use <code>%{operator_BitwiseOr}</code>'
|
9
|
+
UsesBitwiseRightShift: '%{binding} %{must} use <code>%{operator_BitwiseRightShift}</code>'
|
10
|
+
UsesBitwiseXor: '%{binding} %{must} use <code>%{operator_BitwiseXor}</code>'
|
11
|
+
UsesDivide: '%{binding} %{must} use <code>%{operator_Divide}</code>'
|
12
|
+
UsesEqual: '%{binding} %{must} use <code>%{operator_Equal}</code>'
|
13
|
+
UsesForwardComposition: '%{binding} %{must} use <code>%{operator_ForwardComposition}</code>'
|
14
|
+
UsesGreatherOrEqualThan: '%{binding} %{must} use <code>%{operator_GreatherOrEqualThan}</code>'
|
15
|
+
UsesGreatherThan: '%{binding} %{must} use <code>%{operator_GreatherThan}</code>'
|
16
|
+
UsesHash: '%{binding} %{must} use <code>%{operator_Hash}</code>'
|
17
|
+
UsesLessOrEqualThan: '%{binding} %{must} use <code>%{operator_LessOrEqualThan}</code>'
|
18
|
+
UsesLessThan: '%{binding} %{must} use <code>%{operator_LessThan}</code>'
|
19
|
+
UsesMinus: '%{binding} %{must} use <code>%{operator_Minus}</code>'
|
20
|
+
UsesModulo: '%{binding} %{must} use <code>%{operator_Modulo}</code>'
|
21
|
+
UsesMultiply: '%{binding} %{must} use <code>%{operator_Multiply}</code>'
|
22
|
+
UsesNegation: '%{binding} %{must} use <code>%{operator_Negation}</code>'
|
23
|
+
UsesNotEqual: '%{binding} %{must} use <code>%{operator_NotEqual}</code>'
|
24
|
+
UsesNotSame: '%{binding} %{must} use <code>%{operator_NotSame}</code>'
|
25
|
+
UsesNotSimilar: '%{binding} %{must} use <code>%{operator_NotSimilar}</code>'
|
26
|
+
UsesOr: '%{binding} %{must} use <code>%{operator_Or}</code>'
|
27
|
+
UsesOtherwise: '%{binding} %{must} use <code>%{operator_Otherwise}</code>'
|
28
|
+
UsesPlus: '%{binding} %{must} use <code>%{operator_Plus}</code>'
|
29
|
+
UsesPush: '%{binding} %{must} use <code>%{operator_Push}</code>'
|
30
|
+
UsesSame: '%{binding} %{must} use <code>%{operator_Same}</code>'
|
31
|
+
UsesSimilar: '%{binding} %{must} use <code>%{operator_Similar}</code>'
|
32
|
+
UsesSize: '%{binding} %{must} use <code>%{operator_Size}</code>'
|
33
|
+
es:
|
34
|
+
mulang:
|
35
|
+
inspection:
|
36
|
+
UsesAnd: '%{binding} %{must} usar <code>%{operator_And}</code>'
|
37
|
+
UsesBackwardComposition: '%{binding} %{must} usar <code>%{operator_BackwardComposition}</code>'
|
38
|
+
UsesBitwiseAnd: '%{binding} %{must} usar <code>%{operator_BitwiseAnd}</code>'
|
39
|
+
UsesBitwiseLeftShift: '%{binding} %{must} usar <code>%{operator_BitwiseLeftShift}</code>'
|
40
|
+
UsesBitwiseOr: '%{binding} %{must} usar <code>%{operator_BitwiseOr}</code>'
|
41
|
+
UsesBitwiseRightShift: '%{binding} %{must} usar <code>%{operator_BitwiseRightShift}</code>'
|
42
|
+
UsesBitwiseXor: '%{binding} %{must} usar <code>%{operator_BitwiseXor}</code>'
|
43
|
+
UsesDivide: '%{binding} %{must} usar <code>%{operator_Divide}</code>'
|
44
|
+
UsesEqual: '%{binding} %{must} usar <code>%{operator_Equal}</code>'
|
45
|
+
UsesForwardComposition: '%{binding} %{must} usar <code>%{operator_ForwardComposition}</code>'
|
46
|
+
UsesGreatherOrEqualThan: '%{binding} %{must} usar <code>%{operator_GreatherOrEqualThan}</code>'
|
47
|
+
UsesGreatherThan: '%{binding} %{must} usar <code>%{operator_GreatherThan}</code>'
|
48
|
+
UsesHash: '%{binding} %{must} usar <code>%{operator_Hash}</code>'
|
49
|
+
UsesLessOrEqualThan: '%{binding} %{must} usar <code>%{operator_LessOrEqualThan}</code>'
|
50
|
+
UsesLessThan: '%{binding} %{must} usar <code>%{operator_LessThan}</code>'
|
51
|
+
UsesMinus: '%{binding} %{must} usar <code>%{operator_Minus}</code>'
|
52
|
+
UsesModulo: '%{binding} %{must} usar <code>%{operator_Modulo}</code>'
|
53
|
+
UsesMultiply: '%{binding} %{must} usar <code>%{operator_Multiply}</code>'
|
54
|
+
UsesNegation: '%{binding} %{must} usar <code>%{operator_Negation}</code>'
|
55
|
+
UsesNotEqual: '%{binding} %{must} usar <code>%{operator_NotEqual}</code>'
|
56
|
+
UsesNotSame: '%{binding} %{must} usar <code>%{operator_NotSame}</code>'
|
57
|
+
UsesNotSimilar: '%{binding} %{must} usar <code>%{operator_NotSimilar}</code>'
|
58
|
+
UsesOr: '%{binding} %{must} usar <code>%{operator_Or}</code>'
|
59
|
+
UsesOtherwise: '%{binding} %{must} usar <code>%{operator_Otherwise}</code>'
|
60
|
+
UsesPlus: '%{binding} %{must} usar <code>%{operator_Plus}</code>'
|
61
|
+
UsesPush: '%{binding} %{must} usar <code>%{operator_Push}</code>'
|
62
|
+
UsesSame: '%{binding} %{must} usar <code>%{operator_Same}</code>'
|
63
|
+
UsesSimilar: '%{binding} %{must} usar <code>%{operator_Similar}</code>'
|
64
|
+
UsesSize: '%{binding} %{must} usar <code>%{operator_Size}</code>'
|
65
|
+
pt:
|
66
|
+
mulang:
|
67
|
+
inspection:
|
68
|
+
UsesAnd: '%{binding} %{must} utilizar <code>%{operator_And}</code>'
|
69
|
+
UsesBackwardComposition: '%{binding} %{must} utilizar <code>%{operator_BackwardComposition}</code>'
|
70
|
+
UsesBitwiseAnd: '%{binding} %{must} utilizar <code>%{operator_BitwiseAnd}</code>'
|
71
|
+
UsesBitwiseLeftShift: '%{binding} %{must} utilizar <code>%{operator_BitwiseLeftShift}</code>'
|
72
|
+
UsesBitwiseOr: '%{binding} %{must} utilizar <code>%{operator_BitwiseOr}</code>'
|
73
|
+
UsesBitwiseRightShift: '%{binding} %{must} utilizar <code>%{operator_BitwiseRightShift}</code>'
|
74
|
+
UsesBitwiseXor: '%{binding} %{must} utilizar <code>%{operator_BitwiseXor}</code>'
|
75
|
+
UsesDivide: '%{binding} %{must} utilizar <code>%{operator_Divide}</code>'
|
76
|
+
UsesEqual: '%{binding} %{must} utilizar <code>%{operator_Equal}</code>'
|
77
|
+
UsesForwardComposition: '%{binding} %{must} utilizar <code>%{operator_ForwardComposition}</code>'
|
78
|
+
UsesGreatherOrEqualThan: '%{binding} %{must} utilizar <code>%{operator_GreatherOrEqualThan}</code>'
|
79
|
+
UsesGreatherThan: '%{binding} %{must} utilizar <code>%{operator_GreatherThan}</code>'
|
80
|
+
UsesHash: '%{binding} %{must} utilizar <code>%{operator_Hash}</code>'
|
81
|
+
UsesLessOrEqualThan: '%{binding} %{must} utilizar <code>%{operator_LessOrEqualThan}</code>'
|
82
|
+
UsesLessThan: '%{binding} %{must} utilizar <code>%{operator_LessThan}</code>'
|
83
|
+
UsesMinus: '%{binding} %{must} utilizar <code>%{operator_Minus}</code>'
|
84
|
+
UsesModulo: '%{binding} %{must} utilizar <code>%{operator_Modulo}</code>'
|
85
|
+
UsesMultiply: '%{binding} %{must} utilizar <code>%{operator_Multiply}</code>'
|
86
|
+
UsesNegation: '%{binding} %{must} utilizar <code>%{operator_Negation}</code>'
|
87
|
+
UsesNotEqual: '%{binding} %{must} utilizar <code>%{operator_NotEqual}</code>'
|
88
|
+
UsesNotSame: '%{binding} %{must} utilizar <code>%{operator_NotSame}</code>'
|
89
|
+
UsesNotSimilar: '%{binding} %{must} utilizar <code>%{operator_NotSimilar}</code>'
|
90
|
+
UsesOr: '%{binding} %{must} utilizar <code>%{operator_Or}</code>'
|
91
|
+
UsesOtherwise: '%{binding} %{must} utilizar <code>%{operator_Otherwise}</code>'
|
92
|
+
UsesPlus: '%{binding} %{must} utilizar <code>%{operator_Plus}</code>'
|
93
|
+
UsesPush: '%{binding} %{must} utilizar <code>%{operator_Push}</code>'
|
94
|
+
UsesSame: '%{binding} %{must} utilizar <code>%{operator_Same}</code>'
|
95
|
+
UsesSimilar: '%{binding} %{must} utilizar <code>%{operator_Similar}</code>'
|
96
|
+
UsesSize: '%{binding} %{must} utilizar <code>%{operator_Size}</code>'
|
data/lib/locales/pt.yml
CHANGED
@@ -5,17 +5,17 @@ pt:
|
|
5
5
|
must_not: 'não deve'
|
6
6
|
must: 'deve'
|
7
7
|
solution: 'a solução'
|
8
|
-
with_char: ' com o caractere <
|
9
|
-
with_false: ' com o valor <
|
8
|
+
with_char: ' com o caractere <code>%{value}</code>'
|
9
|
+
with_false: ' com o valor <code>%{keyword_False}</code>'
|
10
10
|
with_literal: ' com um valor literal'
|
11
11
|
with_logic: ' com uma expressão booleana'
|
12
12
|
with_math: ' com uma expressão matemática'
|
13
|
-
with_nil: ' com <
|
13
|
+
with_nil: ' com <code>%{keyword_Nil}</code>'
|
14
14
|
with_nonliteral: ' com uma expressão não literal'
|
15
|
-
with_number: ' com o número <
|
16
|
-
with_string: ' com a string <
|
17
|
-
with_symbol: ' com o símbolo <
|
18
|
-
with_true: ' com o valor <
|
15
|
+
with_number: ' com o número <code>%{value}</code>'
|
16
|
+
with_string: ' com a string <code>%{value}</code>'
|
17
|
+
with_symbol: ' com o símbolo <code>%{value}</code>'
|
18
|
+
with_true: ' com o valor <code>%{keyword_True}</code>'
|
19
19
|
inspection:
|
20
20
|
Assigns_except: '%{binding} %{must} atribuir algo diferente a %{target}%{matching}'
|
21
21
|
Assigns_like: '%{binding} %{must} atribuir algo semelhante ao %{target}%{matching}'
|
@@ -47,7 +47,7 @@ pt:
|
|
47
47
|
DeclaresComputationWithArity3_named: '%{target} %{must} tem três parâmetros'
|
48
48
|
DeclaresComputationWithArity4_named: '%{target} %{must} tem quatro parâmetros'
|
49
49
|
DeclaresComputationWithArity5_named: '%{target} %{must} tem cinco parâmetros'
|
50
|
-
DeclaresEntryPoint: '%{binding} %{must} declarar um
|
50
|
+
DeclaresEntryPoint: '%{binding} %{must} declarar um <code>%{keyword_EntryPoint}</code>%{matching}'
|
51
51
|
DeclaresEnumeration_except: '%{binding} %{must} declarar enumerações que não são chamadas %{target}'
|
52
52
|
DeclaresEnumeration_like: '%{binding} %{must} declarar uma enumeração de nome semelhante a %{target}'
|
53
53
|
DeclaresEnumeration_named: '%{binding} %{must} declarar uma enumeração %{target}'
|
@@ -101,29 +101,35 @@ pt:
|
|
101
101
|
DeclaresVariable_like: '%{binding} %{must} declarar uma variável semelhante a %{target}%{matching}'
|
102
102
|
DeclaresVariable_named: '%{binding} %{must} declarar uma variável %{target}%{matching}'
|
103
103
|
DeclaresVariable: '%{binding} %{must} deve declarar variáveis%{matching}'
|
104
|
+
Delegates: '%{binding} %{must} delegar'
|
104
105
|
DiscardsExceptions: '%{binding} está silenciosamente ignorando exceções'
|
105
106
|
DoesConsolePrint: '%{binding} está fazendo impressões na tela'
|
106
|
-
DoesNilTest: '%{binding} faz comparações contra <
|
107
|
-
DoesNullTest: '%{binding} faz comparações contra <
|
107
|
+
DoesNilTest: '%{binding} faz comparações contra <code>%{keyword_Nil}</code>'
|
108
|
+
DoesNullTest: '%{binding} faz comparações contra <code>%{keyword_Nil}</code>'
|
108
109
|
DoesTypeTest: '%{binding} faz comparações contra strings'
|
109
|
-
|
110
|
+
HasAssignmentCondition: '%{binding} avalia o resultado de uma atribuição no qual uma expressão booleana era esperada. Talvez você queira usar o operador <code>%{operator_Equal}</code>?'
|
111
|
+
HasAssignmentReturn: '%{binding} retorna o resultado de uma atribuição. Talvez você queira usar o operador <code>%{operator_Equal}</code>?'
|
110
112
|
HasCodeDuplication: '%{binding} tem código repetido'
|
111
|
-
|
113
|
+
HasDeclarationTypos_named: 'A solução deve declarar %{target}, mas declara %{binding}. Você poderia ter cometido um erro de digitação?'
|
114
|
+
HasEmptyIfBranches: '%{binding} tem uma ramificaçao %{keyword_If} vazia'
|
115
|
+
HasEmptyRepeat: '%{binding} tem um <code>%{keyword_Repeat}</code> vazio'
|
116
|
+
HasEqualIfBranches: '%{binding} possui <code>%{keyword_If}</code>s desnecessários porque seus dois ramos são iguais'
|
112
117
|
HasLongParameterList: '%{binding} tem muitos parâmetros. Você pode estar perdendo uma abstração.'
|
113
118
|
HasMisspelledBindings: '%{binding} está incorreto. Verifique a ortografia e tente não usar abreviaturas'
|
114
119
|
HasMisspelledIdentifiers: '%{binding} está incorreto. Verifique a ortografia e tente não usar abreviaturas'
|
115
120
|
HasRedundantBooleanComparison: '%{binding} faz comparações booleanas desnecessárias'
|
116
121
|
HasRedundantGuards: '%{binding} possui protetores desnecessários'
|
117
|
-
HasRedundantIf: '%{binding} <
|
122
|
+
HasRedundantIf: '%{binding} possui <code>%{keyword_If}</code>s desnecessários que podem ser substituídos por expressões booleanas'
|
118
123
|
HasRedundantLambda: '%{binding} possui lambdas desnecessários'
|
119
124
|
HasRedundantLocalVariableReturn: '%{binding} usa variáveis locais desnecessárias; você pode retornar a expressão diretamente'
|
120
125
|
HasRedundantParameter: '%{binding} possui parâmetros desnecessários (pode ser removido por ponto-livre)'
|
121
|
-
HasRedundantReduction: '%{binding} usa <
|
122
|
-
HasRedundantRepeat: '%{binding} tem <
|
126
|
+
HasRedundantReduction: '%{binding} usa <code>%{keyword_Is}</code>, mas não executa cálculos'
|
127
|
+
HasRedundantRepeat: '%{binding} tem <code>%{keyword_Repeat}</code> desnecessário'
|
123
128
|
HasTooManyMethods: '%{binding} tem muitos métodos'
|
124
129
|
HasTooShortBindings: '%{binding} é um identificador muito curto'
|
125
130
|
HasTooShortIdentifiers: '%{binding} é um identificador muito curto'
|
126
131
|
HasUnreachableCode: '%{binding} tem código inacessível'
|
132
|
+
HasUsageTypos_named: 'A solução deve usar %{target}, mas usa %{binding}. Você poderia ter cometido um erro de digitação?'
|
127
133
|
HasWrongCaseBindings: '%{binding} não respeita a convenção de nomenclatura'
|
128
134
|
HasWrongCaseIdentifiers: '%{binding} não respeita a convenção de nomenclatura'
|
129
135
|
Implements_except: '%{binding} %{must} implementar interfaces diferentes de %{target}'
|
@@ -139,7 +145,8 @@ pt:
|
|
139
145
|
Instantiates_named: '%{binding} %{must} instantiate %{target}'
|
140
146
|
Instantiates: '%{binding} %{must} instanciar objetos'
|
141
147
|
IsLongCode: '%{binding} é muito longo. Tente delegar mais'
|
142
|
-
|
148
|
+
JavaScript#UsesVarInsteadOfLet: '% {binding} deve usar <code>let</code> em vez de <code>var</code>'
|
149
|
+
OverridesEqualOrHashButNotBoth: '%{binding} redefine os métodos <code>equals</code> ou <code>hash </code>, mas não ambos'
|
143
150
|
Raises_except: '%{binding} %{must} lançar exceções diferentes de %{target}'
|
144
151
|
Raises_like: '%{binding} %{must} lançar exceções semelhantes a %{target}'
|
145
152
|
Raises_named: '%{binding} %{must} launch %{target}'
|
@@ -151,6 +158,10 @@ pt:
|
|
151
158
|
Returns: '%{binding} %{must} retornar%{matching}'
|
152
159
|
ReturnsNil: '%{binding} retorna nulo, o que é uma prática ruim'
|
153
160
|
ReturnsNull: '%{binding} retorna nulo, o que é uma prática ruim'
|
161
|
+
ShouldInvertIfCondition: '%{binding} deve inverter a condição da <code>%{keyword_If}</code> e trocar as ramos'
|
162
|
+
ShouldUseStrictComparators: '%{binding} deve usar os operadores de equivalência <code>%{operator_Equal}</code> e <code>%{operator_NotEqual}</code> em vez dos operadores de similaridade <code>%{operator_Similar}</code> e <code>%{operator_NotSimilar}</code> '
|
163
|
+
SubordinatesDeclarationsTo: 'Todas as declarações em %{binding} %{must} ser usadas a partir de %{target}'
|
164
|
+
SubordinatesDeclarationsToEntryPoint: 'Todas as declarações em %{binding} %{must} devem ser usadas a partir de <code>%{keyword_EntryPoint}</code>'
|
154
165
|
TypesAs_named: '%{binding} %{must} é do tipo %{target}'
|
155
166
|
TypesAs: '%{binding} %{must} tem tipo'
|
156
167
|
TypesReturnAs_named: '%{binding} %{must} tem tipo de valor de retorno %{target}'
|
@@ -168,27 +179,27 @@ pt:
|
|
168
179
|
UsesDynamicMethodOverload: '%{binding} %{must} usar sobrecarga'
|
169
180
|
UsesExceptionHandling: '%{binding} %{must} executar o tratamento de exceção'
|
170
181
|
UsesExceptions: '%{binding} %{must} usar exceções'
|
171
|
-
UsesFail: '%{binding} usa <
|
172
|
-
UsesFindall: '%{binding} %{must} usar <
|
173
|
-
|
174
|
-
|
175
|
-
UsesForeach: '%{binding} %{must} usar <
|
182
|
+
UsesFail: '%{binding} usa <code>%{keyword_Fail}</li>, o que é uma prática ruim'
|
183
|
+
UsesFindall: '%{binding} %{must} usar <code>%{keyword_Findall}</code>'
|
184
|
+
UsesFor: '%{binding} %{must} usar <code>%{keyword_For}</code>%{matching}'
|
185
|
+
UsesForall: '%{binding} %{must} usar <code>%{keyword_Forall}</code>'
|
186
|
+
UsesForeach: '%{binding} %{must} usar <code>%{keyword_ForEach}</code>%{matching}'
|
176
187
|
UsesGuards: '%{binding} %{must} usar guardas%{matching}'
|
177
|
-
UsesIf: '%{binding} %{must} usar <
|
188
|
+
UsesIf: '%{binding} %{must} usar <code>%{keyword_If}</code>%{matching}'
|
178
189
|
UsesInheritance: '%{binding} %{must} usar herança'
|
179
190
|
UsesLambda: '%{binding} %{must} usar expressões lambda%{matching}'
|
191
|
+
UsesLogic: '%{binding} %{must} usar operadores booleanos'
|
180
192
|
UsesLoop: '%{binding} %{must} usar um loop%{matching}'
|
181
|
-
UsesLogic: '%{binding} %{must} usar expressões booleanas'
|
182
193
|
UsesMath: '%{binding} %{must} usar expressões matemáticas'
|
183
194
|
UsesMixins: '%{binding} %{must} usar mixins'
|
184
|
-
UsesNot: '%{binding} %{must} usar <
|
195
|
+
UsesNot: '%{binding} %{must} usar <code>%{keyword_Not}</code>'
|
185
196
|
UsesObjectComposition: '%{binding} %{must} usar composição'
|
186
197
|
UsesPatternMatching: '%{binding} %{must} usar o padrão de correspondência'
|
187
|
-
UsesRepeat: '%{binding} %{must} usar <
|
188
|
-
UsesRepeatOf: '%{binding} %{must} usar uma <
|
198
|
+
UsesRepeat: '%{binding} %{must} usar <code>%{keyword_Repeat}</code>%{matching}'
|
199
|
+
UsesRepeatOf: '%{binding} %{must} usar uma <code>%{keyword_Repeat}</code> de %{target}'
|
189
200
|
UsesStaticMethodOverload: '%{binding} %{must} usar sobrecarga'
|
190
201
|
UsesStaticPolymorphism: '%{binding} %{must} usar polimorfismo'
|
191
|
-
UsesSwitch: '%{binding} %{must} usar um <
|
202
|
+
UsesSwitch: '%{binding} %{must} usar um <code>%{keyword_Switch}</code>'
|
192
203
|
UsesTemplateMethod: '%{binding} %{must} usar um _template method_'
|
193
204
|
UsesUnificationOperator: '%{binding} usa o operador de unificação (=)'
|
194
|
-
UsesWhile: '%{binding} %{must} usar um <
|
205
|
+
UsesWhile: '%{binding} %{must} usar um <code>%{keyword_While}</code>%{matching}'
|