Re: Curious compiler warning
On 01/10/2012 06:11 PM, Eric Sosman wrote:
On 1/10/2012 8:51 PM, Novice wrote:
I'm getting an odd compiler warning that I don't really understand. I
wonder if anyone can enlighten me on the meaning of this message.
Basically, I'm not sure what the compiler's problem is with what I'm doing
or the best way to make it happy.
I've got a fairly simply method name foo() that takes two parameters, ints
called start and finish. During this method, I decrement start and finish
and then calls another method, bar(),
Pretty stupid method names.
Knew a guy once (this sounds crazy, but it's a true story) who
had a hard time inventing variable names. So he wrote himself a
little program to generate random names and printed out a sheet of
a few hundred such. Thereafter, any time he needed a variable name
and was stuck for a good idea he'd just grab his printout and take
the next random name -- crossing it off so as not to re-use it and
create confusion. Result: No one could read his code, not even he.
passing the decremented versions of
start and finish. For some reason, the compiler objects to the statements
where I decrement start and finish and says "the parameter should not be
assigned". I'm running Eclipse 3.7.1 with a 1.6.18 JDK.
So here's what the code looks like:
public static int foo(int start, int finish) {
/* Other stuff */
start--;
finish--;
bar(start, finish);
}
It's the start--; and finish--; lines that are raising the warnings.
What exactly is wrong with doing that? And what is the best way to make the
compiler happy about that code?
There's absolutely nothing wrong with it; Eclipse is acting
like a nervous maiden aunt, as usual.
No, there is something wrong with it. It's a wasted assignment
Somewhere in Eclipse's configuration menus there might be a way
to tell it to stop worrying about monsters under the bed. (It'll
probably be on a menu whose color scheme is dark blue on jet black.)
All I can suggest is that you search for that menu, and hope against
hope that it actually exists.
If you can't find anti-anxiety medicine for Eclipse, consider
NetBeans.
You can tune the warning levels in Eclipse, including telling it not to fret
over assignments to parameters. Here, though, the question is what the heck
assigning to the variables accomplishes. The answer is "nothing useful" and
the OP should heed Eclipse's advice.
--
Lew
Honi soit qui mal y pense.
http://upload.wikimedia.org/wikipedia/commons/c/cf/Friz.jpg