diff options
author | Lukas Rytz <lukas.rytz@epfl.ch> | 2008-06-27 08:42:40 +0000 |
---|---|---|
committer | Lukas Rytz <lukas.rytz@epfl.ch> | 2008-06-27 08:42:40 +0000 |
commit | 5ca94175b3cdefc75d80e58116d3d84af6403cee (patch) | |
tree | 81b679f1dfb6597950d8caaedb28c994a94d46ee /docs/examples/plugintemplate/doc | |
parent | a8edcacc4f8d676871874e67a1a1543efbddd893 (diff) | |
download | scala-5ca94175b3cdefc75d80e58116d3d84af6403cee.tar.gz scala-5ca94175b3cdefc75d80e58116d3d84af6403cee.tar.bz2 scala-5ca94175b3cdefc75d80e58116d3d84af6403cee.zip |
- added AnnotationChecker and TraverseComponent
- improved the rest
Diffstat (limited to 'docs/examples/plugintemplate/doc')
-rw-r--r-- | docs/examples/plugintemplate/doc/README | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/docs/examples/plugintemplate/doc/README b/docs/examples/plugintemplate/doc/README index f3b9e15e97..958f71282b 100644 --- a/docs/examples/plugintemplate/doc/README +++ b/docs/examples/plugintemplate/doc/README @@ -34,6 +34,32 @@ in the Java Build Path: Right-Click the project and select "Properties". Then go to "Java Build Path" -> "Libraries" and add the jar file "eclipse/plugins/ch.epfl.lamp.sdt.core[..]/lib/scala-compiler.jar". +Traverse, Transform, Check +-------------------------- +There are several pre-defined components that can be used to code +the behavior of a plugin: +- TemplateTraverseComponent: a template for tree traversers. Used + to analyze and collect data about compiler trees. + -> implement the "check" method + +- TemplateTransformComponent: a template for tree transformers. + -> implement "preTransform" and / or "postTransform" + +- TemplateInfoTransformComponent: also a tree transformer, which + additionally is an InfoTransformer. Allows changing the type + of some symbols for later phases. + -> implement "preTransform" and / or "postTransform", and the + "apply" method of the "infoTransformer". + +- TemplateAnnotationChecker: a plugin for the typechecker, useful + for pluggable type systems. Computes the subtyping between two + annotated types, and allows providing inferred type information. + -> implement "annotationsConform" and optionally "addAnnotations" + +- TemplateComponent: the most general component. Can do anything it + likes with the CompilationUnits. + -> implement the "run" method + Ant tasks --------- "build.xml" defines Ant tasks for building, testing and packing a |