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.

Odpovedet emailem