Änderungen bis zum HEAD
=======================

Aufräumen: Olaf

[ * Call-Advice umstellen ]

* ACFileID aufräumen (FileID vs. FileEntry)

* ACToken konsequent in Phase 1 nutzen

* WeavePos konsequent in Phase 2 nutzen

* PP::token_text(token) vs. token.text() => kein token.text() mehr

* Clang-Klassen von Puma-Code befreien

[* TJP nicht generiert; Bindings? (PragmaOnceObserver)]

[* using namespace Puma/clang nicht in *.h]

[* zu viele dynamische Tests (__ac_..._is) z.B. in PragmaOnceObserver und That]

[* CodeWeaver mergen]

[* Mehr Tests mit Puma-Frontend]

[* ClangWeaverBase verbessert]

[* Codemanipulation in Weaver vor Transformer-Aufruf vermieden]

Bugs: Olaf

[* Warum funktioniert das mit AspectClang gebaute ac++ nicht? ]

  - Problembbeschreibung ggf. an Benjamin übergeben


Bugs: Benjamin

[* komischer Fehler (AspectPrivileges, ArrayWrapper, PrivateResult)]

[* Doppelte Einfügungen vom Introducer (Puma/CTree.h)]

[* rename_args für Clang (ArrayMangling, MatchExpr)]

[* Automatische Expansion von Makros bei der Codetransformation]

  - ## Operator

[* ClangASTVisitor korrigieren (Nested functions, local classes, ...)]

  - Umstellung auf Nutzung von Traverse*Decl()

[* Unbekannte Datentypen bei Intros (Markus Buschhoff)]

[* Lokal deklarierte Funktionen nicht zu ernst nehmen]

[* BYPASS-Klassen für externe Basisklassen]

* Qt-Examples

  - Assertion-Problem

Tests: Benjamin

* Qt-Examples


Implementieren:

* Line-Direktiven (Bug209)

  - Testen mit Debugger
  - update_line_directives für Clang implementieren
    (ggf. in ClangIncludeExpander integrieren)
  - richtige Direktiven in ClangWeaverBase einfügen (Olaf?)
  - ClangIncludeExpander erzeugt falsche #line Direktiven: Sie beziehen
    sich auf die Zeilennummern in Phase 2 und haben wegen der Code-
    Manipulationen in Phase (AC-Namespace) einen Versatz zu den echten
    Zeilennummern in der ursprünglichen Quelltextdatei.

[* Introspection-Mechanismus]


Änderungen bis zum Release
==========================

[ * IncludeExpander abschließen ]

* Makro-Expansion (Test MacroCall + Qt Examples)

* AspectC++-Tests => Bugs fixen.

* Code-Weaver enthält keine frontend-spezifischen Teile mehr: Advice-Typen

* Transformation in Weaver schöner machen => Clang-Implementierung

* Puma-Abhängigkeiten: Project

* puma.config Anbindung

* aclang++ Frontend

Nice to have
============

* Korrekte Target-Definition für Clang -> Größenbestimming beim Cross-Compiling