This file is indexed.

/usr/share/doc/aspectj-doc/devguide/tools-intro.html is in aspectj-doc 1.8.9-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 1. Introduction to the AspectJ tools</title><link rel="stylesheet" type="text/css" href="aspectj-docs.css"><meta name="generator" content="DocBook XSL Stylesheets V1.79.1"><link rel="home" href="index.html" title="The AspectJtm Development Environment Guide"><link rel="up" href="index.html" title="The AspectJtm Development Environment Guide"><link rel="prev" href="index.html" title="The AspectJtm Development Environment Guide"><link rel="next" href="bytecode-concepts.html" title="Bytecode weaving, incremental compilation, and memory usage"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 1. Introduction to the AspectJ tools</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="bytecode-concepts.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="tools-intro"></a>Chapter 1. Introduction to the AspectJ tools</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="sect1"><a href="tools-intro.html#eclipse-aspectj">The Eclipse AspectJ implementation</a></span></dt><dt><span class="sect1"><a href="bytecode-concepts.html">Bytecode weaving, incremental compilation, and memory usage</a></span></dt><dd><dl><dt><span class="sect2"><a href="bytecode-concepts.html#classpathInpathAndAspectpath">Classpath, inpath, and aspectpath</a></span></dt></dl></dd></dl></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="eclipse-aspectj"></a>The Eclipse AspectJ implementation</h2></div></div></div><p>The <a class="ulink" href="../progguide/index.html" target="_top">AspectJ Programming Guide</a>
        describes the AspectJ language.  This guide describes the AspectJ
        tools produced by the AspectJ
        team on 
         <a class="ulink" href="http://eclipse.org/aspectj" target="_top">http://eclipse.org/aspectj</a>.
        The AspectJ tools include
        - ajc, the compiler/weaver;
        ajdoc, a documentation tool; ajbrowser, a crosscutting code viewer;
        Ant support for ajc; and load-time weaving support.
        These tools are delivered in the library folder of the AspectJ tools
        installation, mainly in <code class="literal">aspectjtools.jar</code> (tools) and
        <code class="literal">aspectjrt.jar</code> (runtime).
        This guide does not describe the Eclipse AspectJ development tools
        (AJDT).  That is produced by another team (sharing some members) on
         <a class="ulink" href="http://eclipse.org/aspectj" target="_top">http://eclipse.org/ajdt</a>.
        AJDT is delivered as an Eclipse plugin, incorporating the classes in
        the AspectJ tools libraries along with the Eclipse plugin interface
        classes.
       </p><p>
        Since AspectJ 1.1, the tools have implemented the AspectJ language 
        using bytecode weaving, which combines aspects and classes to produce
        .class files that run in a Java VM.  There are other ways to implement the
        language (e.g., compiler preprocessor, VM support); the AspectJ team
        has always tried to distinguish the language and the implementation
        so other groups could build alternative implementations of AspectJ.
        To that end,
         
    <a class="ulink" href="../progguide/implementation.html" target="_top">The AspectJ Programming Guide,
    Implementation Notes</a> describes how the Java bytecode form affects
        language semantics.  VM- or source-based implementations may be free
        of these limits or impose limits of their own, but most should be
        fairly close to what's possible in Java bytecode.
    </p><p> 
        Please be careful not to confuse any description of
        weaving or of this implementation of the AspectJ language with
        the AspectJ language semantics.
        If you do, you might find yourself writing code that doesn't work as
        expected when you compile or run it on other systems.  
        More importantly, if you
        think about aspects in terms of weaving or of inserting or merging
        code, then you can lose many of the design benefits of thinking
        about an aspect as a single crosscutting module. 
        When the text below introduces an implementation detail, it will warn if
        users make mistakes by applying it in lieu of the language semantics.
    </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="bytecode-concepts.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">The AspectJ<sup>tm</sup> Development Environment Guide </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Bytecode weaving, incremental compilation, and memory usage</td></tr></table></div></body></html>