db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Knut Anders Hatlen <Knut.Hat...@Sun.COM>
Subject Re: LineNumber table in class files and sane=false strangeness
Date Tue, 22 Aug 2006 05:48:49 GMT
Daniel John Debrunner <djd@apache.org> writes:

> I'm trying to figure out when one of my derby codelines compiles with
> LineNumber tables and one without. They have identical ant.properties
> files that I use to build, with sane=false. Compling an individual file
> shows the -g:none flag being used in both cases, but I end up with class
> files of vastly different sizes from an:
> ant clobber
> ant all
> In the bigger classes I can dump the raw format and see the line number
> table is in there, in the smaller ones it seems to be missing. E.g.
> First codeline
> 2746 PermissionsCatalogRowFactory.class
> Second codeline
> 2116 PermissionsCatalogRowFactory.class
> If I remove PermissionsCatalogRowFactory.class and recompile just using
> ant from the top level then it reverts to 2116 bytes in the first codeline.
> Doing a ant clobber followed by an ant -verbose all in the first
> codeline reveals this as the only entry for that class.
>     [javac]
> org\apache\derby\impl\sql\catalog\PermissionsCatalogRowFactory.java
> omitted as
> org/apache/derby/impl/sql/catalog/PermissionsCatalogRowFactory.class is
> up to date.
> So I assume something else is compiling it indirectly with a different
> -g flag, that doesn't match my sane=false setting, any ideas?

Don't you have to set debug=true/false as well?

Insane with line numbers:    ant -Dsane=false -Ddebug=true
Insane without line numbers: ant -Dsane=false -Ddebug=false
Sane with line numbers:      ant -Dsane=true -Ddebug=true
Sane without line numbers:   ant -Dsane=true -Ddebug=false

Knut Anders

View raw message