aboutsummaryrefslogtreecommitdiffstats
path: root/docs/developer/ajdt/ajdt.core.workitems.txt
diff options
context:
space:
mode:
Diffstat (limited to 'docs/developer/ajdt/ajdt.core.workitems.txt')
-rw-r--r--docs/developer/ajdt/ajdt.core.workitems.txt255
1 files changed, 0 insertions, 255 deletions
diff --git a/docs/developer/ajdt/ajdt.core.workitems.txt b/docs/developer/ajdt/ajdt.core.workitems.txt
deleted file mode 100644
index 866931ff8..000000000
--- a/docs/developer/ajdt/ajdt.core.workitems.txt
+++ /dev/null
@@ -1,255 +0,0 @@
-This document details what needs to be done in ajdt.core and
-shadows/org.eclipse.jdt.core to provide full integration with the eclipse
-JDT model and to support AJDT.
-
-0) Unit testing
-=============================================================================
-0.1) Determine how we can write efficient and comprehensive unit tests for all
-that follows given the difficult swizzling etc. involved in creating a working
-plugin.
-
-1) Builder integration
-=============================================================================
-
-This work package enables the building of AspectJ projects in batch and
-incremental mode, with problems found during compilation reported back to the
-tasks view. It also supports management of the Aspectjrt.jar classpath variable
-for AspectJ projects.
-
-A new subclass of JavaBuilder, AspectJBuilder has been introduced. This
-delegates to AjIncrementalImageBuilder and AjBatchImageBuilder to perform
-builds.
-
-1.1) Basic builder support - builds from source only, outputs to project
-specified output directories, problem reporting integration.
-
-1.2) Add support for inpath, outjar, aspectpath in building.
- This task depends on IAspectJProject and implementation being able to
- manage and persist AspectJ specific path elements (see 3).
- 1.2.1) batch mode
- 1.2.2) incremental mode (requires delta processing)
-
-1.3) Aspectjrt classpath variable
-
-2) Reconciling & structure building
-=============================================================================
-
-This work package enables updating of structure based views as the contents of
-an editor buffer is edited, and reporting of warnings and errors (early error
-annotations) in the editor buffer.
-
-When a CompilationUnit is asked to build its structure, it creates a
-CompilationUnitStructureRequestor which is fed structure information by a
-SourceElementParser (see 4). It also creates a new CompilationUnitProblemFinder
-(Compiler subclass) and compiles the unit with it to detect any problems.
-
-2.1) Determine how to build AjCompilerAdapter for CompilationUnitProblemFinders
-(which are created outside of AspectJBuilder). This involves where and how
-BcelWorld etc. are managed for the project.
-
-2.2) As changes are made in an editor buffer, a CompilationUnitResolver continually
-compiles the source and reports problems. This is another compiler subclass, and
-we also need to determine how to build an AjCompilerAdapter for it.
-
-3) Java Model Extension
-=============================================================================
-
-This work package is a needed foundation for almost any UI function that works
-with program structure or elements (e.g. to display AspectJ content in an
-outline view).
-
-This requires the creation of AspectJ element interfaces in the IJavaElement
-hierarchy, and then corresponding classes that implement them.
-
-3.1) In the package org.aspectj.ajdt.core :
-
-* IAspectJModelExtension (extends org.eclipse.jdt.core.IModelExtension)
-* IAspectJElement (root interface for aspectj elements)
-* IAjType (extends IType, adds isAspect() )
-* IAspect (extends IAjType)
-* IAdvice
-* IPointcut
-* IDeclareErrorOrWarning
-* IDeclareParents
-* IDeclareSoft
-* IInterTypeField
-* IInterTypeMethod
-* IAspectJProject
-
-3.2) In the package org.aspectj.ajdt.internal.core, for each interface above,
-add SourceXXX and SourceXXXElementInfo classes.
-
-3.3) In the package org.aspectj.ajdt.core.jdom, add classes IDOMxxx for each
-interface in 3.1., plus implementation classes and SimpleDOMBuilder extension.
-
-3.4) In the package org.aspectj.ajdt.internal.compiler.env, add an
-IGenericXXX and ISourceXXX interface for each element in 3.1 (these are
-implemented by the classes in 3.2).
-
-4) Source Element Parsing (Java Model creation)
-=============================================================================
-
-This work package populates the structure model on which the outline views
-etc. depend.
-
-4.1) Extend ISourceElementRequestor with AspectJ AST nodes
-
-4.2) Extend SourceElementParser to implement appropriate requestor callbacks
-
-4.3) The 5 implementors of ISourceElementRequestor need updating to do the
-appropriate thing with AspectJ elements:
-
- * CompilationUnitStructureRequestor (for outline view etc.)
- * SimpleDOMBuilder (used by portions of UI that generate
- code - refactoring? what else?)
- * SourceElementRequestorAdapter
- * SourceIndexRequestor (used by indexer, for searching and
- type hierarchy)
- * SourceMapper (used when attaching source to a jar file)
-
-4.4) This seems to be the point at which we need to implement the
-IExtensionFactory so that we can cleanly create Aj versions of the above
-without polluting the JDT (see UI design of the same).
-
-5) DOM extensions
-=============================================================================
-
-This work package enables the source code of an aspectJ program to be
-modelled as a structured document. Which user-interface actions will be
-broken without this??? (refactoring?)
-
-5.1) In the package org.aspectj.jdt.core.dom, add counterparts to the AspectJ nodes
-already defined in org.aspectj.internal.compiler.ast (not needed first time
-round?)
-5.2) Extend IDocumentElementRequestor interface
-5.3) Extend DocumentElementParser
-5.4) Extend DOMBuilder
-5.5) Extend DOMFactory
-5.6) Add CreateAspectJXxxOperation classes
-
-6) Code completion / code assist
-=============================================================================
-
-This work package enables Ctrl+Space in an editor to offer completions on
-pointcut names, aspect names, and inter-type declared methods and fields.
-
-6.1) Extend ICompletionRequestor interface
-6.2) Extend ICompletionRequestor implementors (there are 9, 7 of which are
-anonymous inner classes)
-6.3) Extend CompletionEngine with pointcut
-6.4) Extend ISelectionRequestor with pointcut
-6.5) Investigate changes to SelectionEngine
-6.6) Extend CompletionKeyword family
-6.7) Add CompletionOnPointcut
-6.8) Investigate changes to CompletionParser and CompletionScanner classes
-6.9) Investigate changes in AssistParser
-6.10) Extend keywords in 'impl' package
-6.11) Add SelectionOnxxx classes for AspectJ in 'select' package
-6.12) Investigate changes to SelectionParser and SelectionScanner
-
-7) Type Hierarchy
-=============================================================================
-This work package enables the type hierarchy view to correctly display the
-hierarchy for aspects.
-
-7.1) Override hierarchy methods in IAjType
-7.2) Extend ChangeCollector
-7.3) Extend TypeHierarchy
-7.4) Extend HierarchyBinaryType
-
-8) ".aj" File extension
-=============================================================================
-This work package ensures that AJDT treats .java and .aj files as equivalent.
-
-8.1) update SuffixConstants class
-8.2) update Util class
-
-9) Java Model inclusion
-=============================================================================
-This work package ensures that all types in pure Java projects are visible
-inside the AspectJ model.
-
-Extend model generation logic to look at project that have either the
-AspectJ nature, OR the Java nature.
-
-10) Class formatting and dissassembling
-=============================================================================
-
-This work package enables 'editing' of a .class file to present a view that
-is aware of AspectJ elements (rather than seeing the generated aj-synthetic
-stuff etc.).
-
-(can be deferred for now)
-
-10.1) Make jdt.internal.compiler.classfmt aware of aj-synthetic
-10.2) Make "" understand aj-attributes for pointcut, advice etc.
-10.3) Extend Field and MethodInfo with isAjSynthetic()
-10.4) Extend jdt.internal.core.util.Dissassembler for aspectj
-
-11) Quick-fix support
-=============================================================================
-This work package enables quick fix suggestions to be made for AspectJ elements.
-
-11.1) Extend ICorrectionRequestor interface
-11.2) Update implementors (in UI)
-
-12) Code formatting
-=============================================================================
-This work package ensures that formatting AspectJ source doesn't mess up
-pointcut declarations etc.
-
-12.1) Update implementation of DefaultCodeFormatter for AspectJ
-12.2) Extend CodeFormatterVisitor
-
-13) Searching
-=============================================================================
-This work package enables searching for AspectJ elements in the search dialog
-and APIs.
-
-13.1) Expand IJavaSearch constants for Aj
-13.2) Expand SearchPattern for Aj
-13.3) Changes to search algorithm required??
-13.4) Extend ReferenceInfoAdapter
-13.5) Extend IIndexSearchRequestor with aj types
-13.6) Extend IndexSearchAdapter with aj types
-13.7) Extend AbstractIndexer with aj types
-13.8) Extend BinaryIndexer with aj types
-13.9) Extend IIndexConstants
-13.10) Extend SourceIndexRequestor (see also 4.3)
-13.11) Add xxxLocator and Pattern classes for aj elements?
-
-14) Sorting
-=============================================================================
-This work package enables the correct sorting of AspectJ program elements
-when an outline view is set to 'sorted' mode rather than showing elements in
-their declared order (I think!).
-
-14.1) Extend SortElementBuilder
-14.2) Extend SortJavaElement
-
-15) Cross-references
-=============================================================================
-This work package enables the cross-reference view and visualiser to
-correctly display the cross-cutting structure of an aspectj program.
-
-15.1) Create cross-reference map on batch build (1 map for whole workspace)
-15.2) Maintain cross-reference map on incremental build
-15.3) Add interfaces to retrieve cross-references for AspectJ elements
-15.4) Implement IXReferenceProvider
-
-16) Name lookups
-=============================================================================
-I'm not sure what user interface features need this...
-
-16.1) Extend IJavaElementRequestor
-16.2) Extend SelectionRequestor, SingleTypeRequestor
-16.3) Investigate other implementors
-
-17) Version upgrade
-=============================================================================
-17.1) port to Eclipse 3.0 M9
-17.2) port to Eclipse 3.0 final
-
-18) JDT DEBUG
-=============================================================================
-18.1) Extend jdt.internal.debug.core.hcr.JavaParseTreeBuilder ? \ No newline at end of file