]> source.dussan.org Git - aspectj.git/commitdiff
Expanded developer documentation. Moved ASM doc to MSWord format since it will have...
authormkersten <mkersten>
Mon, 11 Aug 2003 08:39:05 +0000 (08:39 +0000)
committermkersten <mkersten>
Mon, 11 Aug 2003 08:39:05 +0000 (08:39 +0000)
docs/developer/asm.doc [new file with mode: 0644]
docs/developer/asm.html [deleted file]
docs/developer/compiler.html
docs/developer/language.html
docs/developer/weaver.html [new file with mode: 0644]

diff --git a/docs/developer/asm.doc b/docs/developer/asm.doc
new file mode 100644 (file)
index 0000000..608f8dc
Binary files /dev/null and b/docs/developer/asm.doc differ
diff --git a/docs/developer/asm.html b/docs/developer/asm.html
deleted file mode 100644 (file)
index ddb9765..0000000
+++ /dev/null
@@ -1,418 +0,0 @@
-<html>
-
-<head>
-<meta http-equiv="Content-Language" content="en-us">
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
-<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
-<meta name="ProgId" content="FrontPage.Editor.Document">
-<title>ASM</title>
-<STYLE TYPE="text/css">
-<!--
-   /* FOR THE SDA PAGE */
-       /*
-       BODY {margin-top: 15px; margin-left: 15px; margin-right: 15px;}
-       */
-
-       A:link {
-               color:#4756AC;
-       }
-       A:visited {
-               color:#60657B;
-       }
-       A:hover {
-               color:red
-       }
-       
-       INPUT {font:12px "Courier New", sans-serif;}
-       
-       H2 {
-               font:18px/18px Verdana, Arial, Helvetica, sans-serif; 
-               color:black; 
-               font-weight:bold; 
-               margin-left: 10px;
-               line-height:110%; 
-       }
-       H3 {
-               font:17px/17px Verdana, Arial, Helvetica, sans-serif; 
-               color:black; 
-               //font-weight:bold; 
-               margin-left: 10px;
-               line-height:110%; 
-       }
-       H4 {
-               font:15px/16px Verdana, Arial, Helvetica, sans-serif; 
-               color:black; 
-               font-weight:bold; 
-               margin-left: 10px;
-               line-height:140%;
-       }
-       P {
-               font:13px/13px Verdana, Arial, Helvetica, sans-serif; 
-               margin-right: 10px;
-               margin-left: 10px;
-               line-height:130%; 
-       }
-       .paragraph {
-               font:13px/13px Verdana, Arial, Helvetica, sans-serif; 
-               margin-right: 10px;
-               margin-left: 10px;
-               line-height:130%; 
-       }
-       .smallParagraph {
-               font:11px/11px Verdana, Arial, Helvetica, sans-serif; 
-               margin-right: 10px;
-               margin-left: 10px;
-               line-height:130%; 
-       }
-       LI {
-               font:13px/13px Verdana, Arial, Helvetica, sans-serif;
-               text-align:justify; 
-               margin-right: 10px;
-               margin-left: 15px;
-               line-height:120%; 
-       }
-       /*
-       UL {
-               font:13px/13px Verdana, Arial, Helvetica, sans-serif;
-               text-align:justify; 
-               margin-right: 10px;
-               margin-left: 15px;
-               line-height:120%; 
-       }*/
-       
-       DL {
-               font:13px/13px Verdana, Arial, Helvetica, sans-serif;
-               text-align:justify; 
-               margin-right: 10px;
-               margin-left: 15px;
-               line-height:120%; 
-       }
-       B { font:13px/13px Verdana, Arial, Helvetica, sans-serif; 
-               font-weight:bold; 
-               line-height:140%;
-       }
-       .footer {
-               font:10px/10px Verdana, Arial, Helvetica, sans-serif;  
-               color:#888888; 
-               text-align:left
-       }
-       .figureTitle {
-               font:13px/13px Verdana, Arial, Helvetica, sans-serif; 
-               text-align:justify; 
-               text-align:center
-       }
-       .copyrightNotice {
-               font:10px/10px Verdana, Arial, Helvetica, sans-serif; 
-               color:#999999; 
-               line-height:110%;
-       }
-       .smallHeading {
-               font:13px/13px Verdana, Arial, Helvetica, sans-serif; 
-               font-weight:bold;
-               line-height:110%;
-       }
-       .tinyHeading {
-               font:11px/11px Verdana, Arial, Helvetica, sans-serif; 
-               font-weight:bold;
-               line-height:120%;
-       }
-       .newsText {
-               font:11px/11px Verdana, Arial, Helvetica, sans-serif; 
-               line-height:130%;
-       }
-       .smallParagraph {
-               font:11px/11px Verdana, Arial, Helvetica, sans-serif; 
-               line-height:130%;
-       }
-       .fancyHeading {
-               font:20px/20px Chantilly, Arial, Helvetica, sans-serif; 
-               margin-right: 10px;
-               color:#6f7a92;
-               margin-left: 10px;
-               line-height:130%;
-       }
--->
-</STYLE>
-</head>
-
-<BODY BGCOLOR="white">
-
-<h2 align="center">Abstract Structure Model (ASM) &amp; Views&nbsp; </h2>
-<h4 align="left" class="paragraph">...</h4>
-<h3 align="left">Model </h3>
-<h4 align="left">AspectJ Members </h4>
-<ul>
-       <li>pointcut<ul>
-               <li>pointcut <i>Id</i>(<i>Types</i>)</li>
-       </ul>
-       </li>
-       <li>advice<ul>
-               <li><font color="#FF0000">after(<i>Types</i>)</font></li>
-               <li><font color="#FF0000">after(<i>Types</i>) returning [(<i>Formal</i>)]</font></li>
-               <li><font color="#FF0000">after(<i>Types</i>) throwing [(<i>Formal</i>)]</font></li>
-               <li><font color="#FF0000">around(<i>Types</i>) : <i>Type</i></font></li>
-               <li><font color="#FF0000">[throws <i>Type]</i></font></li>
-               <li><font color="#FF0000">before </font> </li>
-       </ul>
-       </li>
-       <li>inter-type member declarations<ul>
-               <li><i>Id</i>(<i>Types</i>) : <i>Type</i></li>
-               <li><i>Id</i> : <i>Type</i></li>
-       </ul>
-       </li>
-       <li>other inter-type declarations<ul>
-               <li>declare parents : <i>Type&nbsp;&nbsp; ???</i> </li>
-               <li>declare warning : <i>&quot;&lt;first words of String&gt;..&quot; </i></li>
-               <li>declare error : <i>&quot;&lt;first world of String&gt;..&quot; </i></li>
-               <li>declare soft : <i>Type</i></li>
-               <li>declare precedence</li>
-       </ul>
-       </li>
-</ul>
-<h4 align="left">Advice Relationships </h4>
-<ul>
-       <li>advises / advised by 
-       <ul>
-               <li>call 
-               <ul>
-                       <li>method/constructor call site </li>
-               </ul>
-               </li>
-               <li>execution 
-               <ul>
-                       <li>method/constructor declaration </li>
-               </ul>
-               </li>
-               <li>initialization 
-               <ul>
-                       <li>type declaration otherwise 
-                       </li>
-               </ul>
-               </li>
-               <li>preinitiatialization<ul>
-                       <li>constructor declaration </li>
-               </ul>
-               </li>
-               <li>staticinitialization 
-               <ul>
-                       <li>type declaration otherwise 
-                       </li>
-               </ul>
-               </li>
-               <li>get 
-               <ul>
-                       <li>field access site </li>
-               </ul>
-               </li>
-               <li>set 
-               <ul>
-                       <li>field assignment site </li>
-               </ul>
-               </li>
-               <li>handler 
-               <ul>
-                       <li>catch statement </li>
-               </ul>
-               </li>
-               <li>adviceexecution 
-               <ul>
-                       <li>advice declaration </li>
-               </ul>
-               </li>
-       </ul>
-       </li>
-       <li><font color="#0000FF">uses control flow / control flow used by 
-       </font> 
-       <ul>
-               <li><font color="#0000FF">cflow 
-               </font> 
-               <ul>
-                       <li><font color="#0000FF">method declaration / call site </font> </li>
-               </ul>
-               </li>
-               <li><font color="#0000FF">cflowbelow 
-               </font> 
-               <ul>
-                       <li><font color="#0000FF">method declaration </font> </li>
-               </ul>
-               </li>
-       </ul>
-       </li>
-</ul>
-<h4>Additional Inheritance Relationships </h4>
-<ul>
-       <li>inherits / inherited by 
-       <ul>
-               <li>aspect declaration 
-               <ul>
-                       <li>abstract aspect declaration </li>
-               </ul>
-               </li>
-       </ul>
-       </li>
-       <li><font color="#0000FF">specifies / specified by 
-       </font> 
-       <ul>
-               <li><font color="#0000FF">concrete pointcut </font> 
-               <ul>
-                       <li><font color="#0000FF">abstract pointcut 
-                       </font> </li>
-               </ul>
-               </li>
-       </ul>
-       </li>
-       <li><font color="#0000FF">uses dynamic test / dynamic test used by 
-       </font>
-       <ul>
-               <li><font color="#0000FF">if 
-               </font>
-               <ul>
-                       <li><font color="#0000FF">conditional expression </font></li>
-               </ul></li>
-       </ul></li>
-</ul>
-<h4>Additional Referential Relationships </h4>
-<ul>
-       <li>uses pointcut / pointcut used by
-       <ul>
-               <li>advice declaration
-               <ul>
-                       <li>pointcut </li>
-               </ul>
-               </li>
-               <li>pointcut
-               <ul>
-                       <li>pointcut </li>
-               </ul>
-               </li>
-       </ul>
-       </li>
-       <li><font color="#0000FF">is specified per / pointcut used by
-       </font>
-       <ul>
-               <li><font color="#0000FF">aspect declaration
-               </font>
-               <ul>
-                       <li><font color="#0000FF">pointcut declaration </font> </li>
-               </ul>
-               </li>
-       </ul>
-       </li>
-</ul>
-<h4>Inter-Type Declarations </h4>
-<ul>
-       <li>declares on / <font color="#0000FF">introduced</font> declarations 
-       <ul>
-               <li>inter-type declaration -- do these show up ???<ul>
-                       <li>type declaration </li>
-               </ul>
-               </li>
-               <li>soft declaration 
-               <ul>
-                       <li>method declaration </li>
-               </ul>
-               </li>
-       </ul>
-       </li>
-       <li>declares static check / matched by static check 
-       <ul>
-               <li>error/warning declare declaration 
-               <ul>
-                       <li>&lt;any PCD match&gt;</li>
-               </ul>
-               </li>
-       </ul>
-       </li>
-       <li><font color="#0000FF">declares precedence on 
-       </font> 
-       <ul>
-               <li><font color="#0000FF">precedence declaration 
-               </font> 
-               <ul>
-                       <li><font color="#0000FF">aspect declaration </font> </li>
-               </ul>
-               </li>
-       </ul>
-       </li>
-</ul>
-<h4>&nbsp;</h4>
-<h4><span style="font-weight: 400">Runtime Stuff </span> </h4>
-<ul>
-       <li>Stack mapper for thread tree and error handler </li>
-</ul>
-<h3 align="left">Edit Semantics (Refactoring)&nbsp; </h3>
-<h4><b><span style="font-weight: 400">Refactorings</span></b></h4>
-<ul>
-       <li>update PCD when refactoring method affected by some advice using that 
-       PCD</li>
-</ul>
-<p>&nbsp;</p>
-<h3 align="left">Views </h3>
-<p><b>Declaration Hierarchy </b></p>
-<p>...</p>
-<p>Used by</p>
-<ul>
-       <li>Navigator</li>
-       <li>Outline view</li>
-       <li>Code assist</li>
-</ul>
-<p><b>Relationships</b></p>
-<ul>
-       <li>joinpoint ordering as a relationship, e.g.<ul>
-       <li>&lt;method&gt;<ul>
-       <li>join point execution ordered by 
-<ul>
-       <li>&lt;declare dominates&gt;</li>
-</ul>
-       </li>
-       <li>advised by<ul>
-       <li>around start</li>
-       <li>&nbsp; before</li>
-       <li>&nbsp;&nbsp;&nbsp; &lt;method&gt;</li>
-       <li>&nbsp; after</li>
-       <li>around end</li>
-</ul>
-       </li>
-</ul>
-       </li>
-</ul>
-       </li>
-</ul>
-<p>Used by:</p><ul>
-       <li>editor &amp; outline assist </li>
-       <li>gutter annotations</li>
-       <li>debugger </li>
-</ul>
-
-       <p><b>Pointcut Usage Hierarchy</b></p>
-<p>Like Eclipse's Type Hierarchy, but generated with &quot;uses pointcut&quot; 
-association.&nbsp; Shows &quot;advises&quot; relationships inline.</p>
-<p><b>Editor </b></p>
-<ul>
-       <li>create keyword highlighting guideline</li>
-</ul>
-<p><b>Javadoc Documentation</b></p>
-<p>...</p>
-<p><b>UML Static Structure </b></p>
-<p>...</p>
-<p>&nbsp;</p>
-<p><b>UI Stuff</b></p>
-<ul>
-       <li></li>
-       <li>default constructors &amp; initializers: promote to relation to type 
-       declaration, or just move source location to type declaration, but show 
-       nodes in tree ??</li>
-       <li>declare warning/error UI: messages should have annotation</li>
-       <li></li>
-       <li>declare error/warning task list items should the declare member's icons</li>
-       <li>matches deferred (pointcut search, join point probe)&nbsp; </li>
-</ul>
-
-<p>&nbsp;</p>
-
-</body>
-
-</html>
\ No newline at end of file
index 0b082ff92983f1bc0a50e7c5e7e30beedf53c464..da99eb57eb77f065a813178695146a5e47761280 100644 (file)
 
 <BODY BGCOLOR="white">
 
-<h3 align="center">AspectJ Compiler Desgin</h3>
+<h3 align="center">AspectJ Compiler Design</h3>
 <p>Todo: add content.&nbsp; In the meantime, the following email post have 
 relevant content:</p>
 <ul>
index 824b8195bf09bad68acb32d8a989fbaf227a9d5b..1ddac2678c87316778846700417214e0dfb9cd80 100644 (file)
@@ -171,7 +171,7 @@ support composition and abstraction. The fact that someone can write:</p>
        pointcut stateChange(): call(void FigureElement+.set*(*));<br>
        <br>
        /* compose pointcuts to get other pointcuts */<br>
-       pointcut topLevelStateChange(): stateChange() <br>
+       pointcut topLevelStateChange(): stateChange() `<br>
        &amp;&amp; !cflowbelow(stateChange());</font></p>
 </blockquote>
 <p>is what makes it possible for people to really work with crosscutting 
diff --git a/docs/developer/weaver.html b/docs/developer/weaver.html
new file mode 100644 (file)
index 0000000..76a11aa
--- /dev/null
@@ -0,0 +1,156 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<title>AJDT Project Proposal</title>
+<STYLE TYPE="text/css">
+<!--
+   /* FOR THE SDA PAGE */
+       /*
+       BODY {margin-top: 15px; margin-left: 15px; margin-right: 15px;}
+       */
+
+       A:link {
+               color:#4756AC;
+       }
+       A:visited {
+               color:#60657B;
+       }
+       A:hover {
+               color:red
+       }
+       
+       INPUT {font:12px "Courier New", sans-serif;}
+       
+       H2 {
+               font:18px/18px Verdana, Arial, Helvetica, sans-serif; 
+               color:black; 
+               font-weight:bold; 
+               margin-left: 10px;
+               line-height:110%; 
+       }
+       H3 {
+               font:18px/18px Verdana, Arial, Helvetica, sans-serif; 
+               color:black; 
+               font-weight:bold; 
+               margin-left: 10px;
+               line-height:110%; 
+       }
+       H4 {
+               font:15px/16px Verdana, Arial, Helvetica, sans-serif; 
+               color:black; 
+               font-weight:bold; 
+               margin-left: 10px;
+               line-height:140%;
+       }
+       P {
+               font:13px/13px Verdana, Arial, Helvetica, sans-serif; 
+               margin-right: 10px;
+               margin-left: 10px;
+               line-height:130%; 
+       }
+       .paragraph {
+               font:13px/13px Verdana, Arial, Helvetica, sans-serif; 
+               margin-right: 10px;
+               margin-left: 10px;
+               line-height:130%; 
+       }
+       .smallParagraph {
+               font:11px/11px Verdana, Arial, Helvetica, sans-serif; 
+               margin-right: 10px;
+               margin-left: 10px;
+               line-height:130%; 
+       }
+       LI {
+               font:13px/13px Verdana, Arial, Helvetica, sans-serif;
+               text-align:justify; 
+               margin-right: 10px;
+               margin-left: 15px;
+               line-height:120%; 
+       }
+       /*
+       UL {
+               font:13px/13px Verdana, Arial, Helvetica, sans-serif;
+               text-align:justify; 
+               margin-right: 10px;
+               margin-left: 15px;
+               line-height:120%; 
+       }*/
+       
+       DL {
+               font:13px/13px Verdana, Arial, Helvetica, sans-serif;
+               text-align:justify; 
+               margin-right: 10px;
+               margin-left: 15px;
+               line-height:120%; 
+       }
+       B { font:13px/13px Verdana, Arial, Helvetica, sans-serif; 
+               font-weight:bold; 
+               line-height:140%;
+       }
+       .footer {
+               font:10px/10px Verdana, Arial, Helvetica, sans-serif;  
+               color:#888888; 
+               text-align:left
+       }
+       .figureTitle {
+               font:13px/13px Verdana, Arial, Helvetica, sans-serif; 
+               text-align:justify; 
+               text-align:center
+       }
+       .copyrightNotice {
+               font:10px/10px Verdana, Arial, Helvetica, sans-serif; 
+               color:#999999; 
+               line-height:110%;
+       }
+       .smallHeading {
+               font:13px/13px Verdana, Arial, Helvetica, sans-serif; 
+               font-weight:bold;
+               line-height:110%;
+       }
+       .tinyHeading {
+               font:11px/11px Verdana, Arial, Helvetica, sans-serif; 
+               font-weight:bold;
+               line-height:120%;
+       }
+       .newsText {
+               font:11px/11px Verdana, Arial, Helvetica, sans-serif; 
+               line-height:130%;
+       }
+       .smallParagraph {
+               font:11px/11px Verdana, Arial, Helvetica, sans-serif; 
+               line-height:130%;
+       }
+       .fancyHeading {
+               font:20px/20px Chantilly, Arial, Helvetica, sans-serif; 
+               margin-right: 10px;
+               color:#6f7a92;
+               margin-left: 10px;
+               line-height:130%;
+       }
+-->
+</STYLE>
+</head>
+
+<BODY BGCOLOR="white">
+
+<h3 align="center">AspectJ Compiler Design</h3>
+<p>Todo: add content.&nbsp; In the meantime, the following email post have 
+relevant content:</p>
+<ul>
+       <li>&quot;What does the weaver take as input?&nbsp; How does it know where to 
+       insert advice?&quot;<br>
+       <a href="http://dev.eclipse.org/mhonarc/lists/aspectj-dev/msg00519.html">
+       http://dev.eclipse.org/mhonarc/lists/aspectj-dev/msg00519.html</a> <br>
+       &nbsp;</li>
+</ul>
+
+</body>
+
+</html>
\ No newline at end of file