summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authormkersten <mkersten>2003-08-11 08:39:05 +0000
committermkersten <mkersten>2003-08-11 08:39:05 +0000
commit9befa0a653ef07238f4072163813012013fed748 (patch)
tree12dc5e2d4c5a99b34dc690d1e2b81d5a2e811d12 /docs
parentda8ac4b212505a0eff695f73de38ebf6d5bd01ab (diff)
downloadaspectj-9befa0a653ef07238f4072163813012013fed748.tar.gz
aspectj-9befa0a653ef07238f4072163813012013fed748.zip
Expanded developer documentation. Moved ASM doc to MSWord format since it will have graphics and revision support will help.
Diffstat (limited to 'docs')
-rw-r--r--docs/developer/asm.docbin0 -> 138240 bytes
-rw-r--r--docs/developer/asm.html418
-rw-r--r--docs/developer/compiler.html2
-rw-r--r--docs/developer/language.html2
-rw-r--r--docs/developer/weaver.html156
5 files changed, 158 insertions, 420 deletions
diff --git a/docs/developer/asm.doc b/docs/developer/asm.doc
new file mode 100644
index 000000000..608f8dca5
--- /dev/null
+++ b/docs/developer/asm.doc
Binary files differ
diff --git a/docs/developer/asm.html b/docs/developer/asm.html
deleted file mode 100644
index ddb97658d..000000000
--- a/docs/developer/asm.html
+++ /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
diff --git a/docs/developer/compiler.html b/docs/developer/compiler.html
index 0b082ff92..da99eb57e 100644
--- a/docs/developer/compiler.html
+++ b/docs/developer/compiler.html
@@ -140,7 +140,7 @@
<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>
diff --git a/docs/developer/language.html b/docs/developer/language.html
index 824b8195b..1ddac2678 100644
--- a/docs/developer/language.html
+++ b/docs/developer/language.html
@@ -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
index 000000000..76a11aab1
--- /dev/null
+++ b/docs/developer/weaver.html
@@ -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