Интересно, достаточно ли JVM/javac, чтобы превратить
// This line...
string a = foo();
string foo()
{
return bar();
}
string bar()
{
return some-complicated-string computation;
}
в
string a = bar();
Или разделите ненужный вызов на foo() в случае релиза (потому что недостижимый код):
string a = foo(bar());
// bar is the same
...
string foo(string b)
{
if (debug) do-something-with(b);
}
Я чувствую, что да для первого примера и "не так уверен" для второго, но может ли кто-нибудь дать мне несколько указателей/ссылок, чтобы подтвердить это?