Dobrý den,
toto se zdá dobré, jestli mohu vybrat typ, tak to by mohlo výrazně
pomoci. Vazba na NetBeans není minimálně teď problém a mezitím se snad
podaří pořešit věci systémověji ;-)
Díky moc!
Dušan Kolář
On 1.3.2011 7:08, "Zdeněk Troníček" wrote:
Dobrý den,
typ proměnné k dispozici je. Např. toto pravidlo změní každé přiřazení do
proměnné typu long:
Assignment {
Identifier [id: ident, instanceof: "java.lang.Long"],
Expression [id: expr]
} ->
Assignment {
Identifier [ref: ident],
Literal [kind: LONG_LITERAL, value: 42]
}
Lze dělat i složitější transformace. Např. p = x - y, kde p je typu long a
x a y jsou nějaké výrazy, lze transformovat na p = y / x:
Assignment {
Identifier [id: ident, instanceof: "java.lang.Long"],
Binary [kind: MINUS] {
Expression [id: x],
Expression [id: y]
}
} ->
Assignment {
Identifier [ref: ident],
Binary [kind: DIVIDE] {
Expression [ref: y],
Expression [ref: x]
}
}
Př.: v = 12 - 24 bude nahrazeno v = 24 / 12 a v = x - 2 * y bude nahrazeno
v = 2 * y / x.
Jméno souboru ani číslo řádku bohužel vypsat nejde a běží to zatím pouze v
NetBeans. Nicméně NetBeans zobrazí nalezené řádky v refaktorovacím okně.
Z.