diff options
author | mkersten <mkersten> | 2003-08-11 08:39:05 +0000 |
---|---|---|
committer | mkersten <mkersten> | 2003-08-11 08:39:05 +0000 |
commit | 9befa0a653ef07238f4072163813012013fed748 (patch) | |
tree | 12dc5e2d4c5a99b34dc690d1e2b81d5a2e811d12 /docs | |
parent | da8ac4b212505a0eff695f73de38ebf6d5bd01ab (diff) | |
download | aspectj-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.doc | bin | 0 -> 138240 bytes | |||
-rw-r--r-- | docs/developer/asm.html | 418 | ||||
-rw-r--r-- | docs/developer/compiler.html | 2 | ||||
-rw-r--r-- | docs/developer/language.html | 2 | ||||
-rw-r--r-- | docs/developer/weaver.html | 156 |
5 files changed, 158 insertions, 420 deletions
diff --git a/docs/developer/asm.doc b/docs/developer/asm.doc Binary files differnew file mode 100644 index 000000000..608f8dca5 --- /dev/null +++ b/docs/developer/asm.doc 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) & Views </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 ???</i> </li> - <li>declare warning : <i>"<first words of String>.." </i></li> - <li>declare error : <i>"<first world of String>.." </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><any PCD match></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> </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) </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> </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><method><ul> - <li>join point execution ordered by -<ul> - <li><declare dominates></li> -</ul> - </li> - <li>advised by<ul> - <li>around start</li> - <li> before</li> - <li> <method></li> - <li> after</li> - <li>around end</li> -</ul> - </li> -</ul> - </li> -</ul> - </li> -</ul> -<p>Used by:</p><ul> - <li>editor & 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 "uses pointcut" -association. Shows "advises" 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> </p> -<p><b>UI Stuff</b></p> -<ul> - <li></li> - <li>default constructors & 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) </li> -</ul> - -<p> </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. 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> && !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. In the meantime, the following email post have +relevant content:</p> +<ul> + <li>"What does the weaver take as input? How does it know where to + insert advice?"<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> + </li> +</ul> + +</body> + +</html>
\ No newline at end of file |