</varlistentry>
<varlistentry>
- <term>target <replaceable>[1.1|1.2]</replaceable></term>
+ <term>-target <replaceable>[1.1|1.2]</replaceable></term>
<listitem><para>Specify classfile target setting (1.1 or 1.2, default is 1.1)
</para></listitem>
</varlistentry>
<listitem><para>Emit warnings for any instances of
the comma-delimited list of questionable code
(eg '-warn:unusedLocals,deprecation'):
- <programlisting><!-- unable to embed simplelist? -->
+ <programlisting><!-- unable to embed itemizedlist? -->
constructorName method with constructor name
packageDefaultMethod attempt to override package-default method
deprecation usage of deprecated type or member
unusedArguments method argument never read
unusedImports import statement not used by code in file
</programlisting>
-
- <!-- old simplelist form
- <simplelist>
- <listitem>constructorName: method with constructor name
- </listitem>
- <listitem>packageDefaultMethod: attempt to override package-default method
- </listitem>
- <listitem>deprecation: usage of deprecated type or member
- </listitem>
- <listitem>maskedCatchBlocks: hidden catch block
- </listitem>
- <listitem>unusedLocals: local variable never read
- </listitem>
- <listitem>unusedArguments: method argument never read
- </listitem>
- <listitem>unusedImports: import statement not used by code in file
- </listitem>
- <listitem>syntheticAccess: performing synthetic access for innerclass
- </listitem>
- </simplelist>
- end of comment with old simplelist form -->
</para></listitem>
</varlistentry>
<varlistentry>
<term>-g<replaceable>:[lines,vars,source]</replaceable></term>
- <listitem><para>debug attributes level, that may take three forms:
+ <listitem>
+ <para>debug attributes level, that may take three forms:
<programlisting>
-g all debug info ('-g:lines,vars,source')
-g:none no debug info
-g:{items} debug info for any/all of [lines, vars, source], e.g.,
-g:lines,source
</programlisting>
- <!-- simplelist failed ?? -->
+
</para></listitem>
</varlistentry>
</varlistentry>
<varlistentry>
- <term>-encoding <replaceable>format</replaceable></term>
+ <term>-encoding <replaceable>format</replaceable></term>
<listitem><para>Specify default source encoding format.
Specify custom encoding on a per file basis by suffixing
each input source file/folder name with '[encoding]'.
<varlistentry>
<term>-repeat <replaceable>N</replaceable></term>
- <term></term>
<listitem><para>Repeat compilation process N times
(typically to do performance analysis).
</para></listitem>
<varlistentry>
<term>-XincrementalFile <replaceable>file</replaceable></term>
- <term></term>
<listitem><para>(Experimental) This works like incremental mode,
but using a file rather than standard input to control the compiler.
It will recompile each time file is changed and
<varlistentry>
<term>-XserializableAspects</term>
- <term></term>
<listitem><para>(Experimental) Normally it is an error to declare
aspects Serializable. This option removes that restriction.
</para></listitem>
<para>We'd like to discourage other means of mechanical distinction such as
naming conventions or sub-packages in favor of the <filename>.aj</filename>
extension.</para>
-
- <simplelist>
+ <para>
+
+ <itemizedlist>
<listitem>Filename conventions are hard to enforce and lead to awkward names
for your aspects. Instead of <filename>TracingAspect.java</filename> we
<filename>.aj</filename> extension and including these files in your existing
packages instead.</listitem>
- </simplelist>
+ </itemizedlist>
+ </para>
</refsect2>
Argfiles are also supported by jikes and javac, so you
can use the files in hybrid builds. However, the support varies:
</para>
-
- <simplelist>
+ <para>
+ <itemizedlist>
<listitem>Only ajc accepts command-line options</listitem>
<listitem>Jikes and Javac do not accept internal @argfile references.
</listitem>
<listitem>Jikes and Javac only accept the @file form on the command line.</listitem>
- </simplelist>
+ </itemizedlist>
+ </para>
</example>
<example id="examplebytecode">
<para>Unlike traditional java compilers, the AspectJ compiler may in
certain cases generate classfiles from multiple source files.
- Unfortunately, the Java class file format does not support multiple
- SourceFile attributes. So, in order to make sure all source file
+ Unfortunately, the original Java class file format does not support
+ multiple
+ SourceFile attributes. In order to make sure all source file
information is available, the AspectJ compiler may in some cases
- encode multiple filenames in the SourceFile attribute.
+ encode multiple filenames in the SourceFile attribute.
+ When the Java VM generates stack traces, it uses this attribute
+ to specify the source file.
+ </para>
+ <para>(The compiler also supports the .class file extensions of JSR-45.
+ These permit compliant debuggers (such as jdb in Java 1.4.1) to identify
+ the right file and line even given many source files for a single class.)
</para>
<para>Probably the only time you may see this format is when you view
that file.
</para>
- <para>Of course, AspectJ tools will do this decoding for you, and in a
- class file that comes from only a single source file, the AspectJ
+ <para>In a class file that comes from only a single source file, the AspectJ
compiler generates SourceFile attributes consistent with
traditional Java compilers.
</para>