Ich versuche, alle FunctionDecl-Knoten in einem Vektor zu speichern, damit ich sie in Zukunft besuchen kann. Der Anwendungsfall wäre für in Funktionen Schritt (zB Funktion eine Anrufe Funktion b, möchte ich in der Lage sein VisitDecl auf die Funktion b Knoten zu nennen)Decl-Knoten in Clang speichern AST
Speichern aller dieser Knoten im HandleTopLevelDecl innerhalb ASTConsumer fertig sind:
std::vector<Decl> vec;
virtual bool HandleTopLevelDecl (DeclGroupRef DG) {
for (DeclGroupRef::iterator i = DG.begin(), e = DG.end(); i != e; ++i) {
Decl *D = *i;
vec.push_back(*D);
}
}
jedoch während der Kompilierung ein Fehler vorhanden ist ‚~ Decl‘ ist ein geschütztes Mitglied von ‚klappern :: Decl‘
jemand etwas Licht in diese Schuppen können?
Dank! Das löste das Problem des Hinzufügens zu einem Vektor. Nun muss ich nur noch überprüfen, ob ich den in den Vektoren gespeicherten Knoten besuchen kann. Prost. –