Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #10579

Re: Question re testing constructor

Date 2011-12-06 19:28 -0800
From Patricia Shanahan <pats@acm.org>
Newsgroups comp.lang.java.programmer
Subject Re: Question re testing constructor
References <Xns9FB3682A7DBF6jpnasty@94.75.214.39> <jblc1i$n6u$1@dont-email.me> <null-20111206201830@ram.dialup.fu-berlin.de> <Xns9FB3B1EDDE309vaj4088ianshef@138.125.254.103> <unreachable-code-20111207032302@ram.dialup.fu-berlin.de>
Message-ID <j-idnSGHjabUQEPTnZ2dnUVZ_qydnZ2d@earthlink.com> (permalink)

Show all headers | View raw


On 12/6/2011 6:24 PM, Stefan Ram wrote:
> Ian Shef<invalid@avoiding.spam>  writes:
>> ram@zedat.fu-berlin.de (Stefan Ram) wrote in news:null-20111206201830
>> @ram.dialup.fu-berlin.de:
>>> If the Java compiler is so smart at detecting null values,
>>> why does he not also give an error on code like:
>>> (( java.io.PrintStream )null ).println()
>>> ?
>> Short answer:  Because the JLS says so.  (see the third edition, paragraph
>> 15.16 where it is explained that most casts are handled at run time).
>
>    Something similar:
>
>    It is difficult for me to forecast an »unreachable statement« error.
>    For example, I would have expected such an error for
>
> public class Main
> { public static void main( final java.lang.String[] args )
>    { java.lang.System.out.println( "alpha3" );
>      if( true )return;
>      java.lang.System.out.println( "beta3" ); }}
>
>    , but did *not* get one, however, the compiler knows that the
>    beta3 statement *is* unreachable, because he does not care to
>    compile it.
>
>    Omitting the »if( true )« will give an »unreachable statement«
>    error.
>

I think the unreachable statement rules, as well as the definite
assignment rules, juggle three considerations:

1. Have a single definition of what is a compilable Java program,
regardless of what compiler is doing the compiling.

2. Limit the sophistication of the flow analysis the compiler is
required to do.

3. Keep the rules reasonably simple.

There are a lot of special cases that could be detected at compile time,
but that would add to the rules. It could be left up to the compiler,
but then compilers could disagree about whether a given Java program is
valid without any of the compilers involved having an error.

Patricia

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Question re testing constructor Novice <novice@example..com> - 2011-12-06 15:14 +0000
  Re: Question re testing constructor markspace <-@.> - 2011-12-06 07:23 -0800
    Re: Question re testing constructor Novice <novice@example..com> - 2011-12-06 17:17 +0000
    Re: Question re testing constructor Tom Anderson <twic@urchin.earth.li> - 2011-12-06 21:25 +0000
    Re: Question re testing constructor Ian Shef <invalid@avoiding.spam> - 2011-12-07 00:29 +0000
      Re: Question re testing constructor Patricia Shanahan <pats@acm.org> - 2011-12-06 19:28 -0800
      Re: Question re testing constructor Joshua Cranmer <Pidgeot18@verizon.invalid> - 2011-12-06 22:57 -0600
      Re: Question re testing constructor Lew <lewbloch@gmail.com> - 2011-12-07 07:12 -0800
      Re: Question re testing constructor Lew <lewbloch@gmail.com> - 2011-12-07 07:14 -0800
        Re: Question re testing constructor Ian Shef <invalid@avoiding.spam> - 2011-12-07 15:59 +0000
          Re: Question re testing constructor Ian Shef <invalid@avoiding.spam> - 2011-12-08 19:19 +0000
      Re: Question re testing constructor ilAn <idonot@wantspam.net> - 2011-12-07 20:41 +0200
  Re: Question re testing constructor Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-12-06 07:34 -0800
    Re: Question re testing constructor Novice <novice@example..com> - 2011-12-06 17:15 +0000
  Re: Question re testing constructor Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2011-12-06 09:49 -0800
  Re: Question re testing constructor Roedy Green <see_website@mindprod.com.invalid> - 2011-12-06 16:40 -0800
  Re: Question re testing constructor Henk van Voorthuijsen <voorth@xs4all.nl> - 2011-12-07 00:33 -0800

csiph-web