Ich möchte dur_error() Methode erweitern, um den Namen des Pakets zu schreiben, von dem der Fehler gemeldet wird.Kann ich die Methode dut_error() erweitern?
0
A
Antwort
5
Die dut_error() ist nicht wirklich eine Methode (es ist ein Makro, das mehrere Methoden aufruft), kann also nicht erweitert werden.
Sie können aber dut_error_struct erweitern und dann den gewünschten Code hinzufügen. Mithilfe von source_struct() können Sie wissen, welche Struktur namens dut_error() heißt, und mithilfe von Reflektion können Sie erkennen, in welchem Paket sie definiert wurde. Zum Beispiel -
extend dut_error_struct {
write() is first {
out(source_struct() is a any_unit ? "UNIT " : "STRUCT ",
source_struct_name(), " reporting of error: ");
// Special output for errors coming from the ahb package:
// Using reflection, can get lots of info about the reporting struct.
// For example - in which package it was defined
// If using annotation - can use them as well.
// For example - different messages for annotated features
var reporter_rf : rf_struct =
rf_manager.get_struct_of_instance(source_struct());
if reporter_rf.get_package().get_name() == "ahb" {
out(append("xxxxxx another bug in AHB package, ",
"\nreported ", source_location()));
};
};
Ich empfehle für dut_error_struct in Hilfe suchen, diese Struktur Methoden zu sehen.
Verwandte Themen
- 1. python: Kann ich die obere Grenze der Methode range() erweitern?
- 2. Ich kann die Vorlage django nicht erweitern
- 3. Wie kann ich die Klasse java.awt.Color erweitern?
- 4. Kann ich die IdentityServer 4-Modelle erweitern?
- 5. wie herabzustufen dut_error zu dut_warning in Specman
- 6. Kann ich zwei Klassen verwenden, die die Anwendung erweitern?
- 7. Wie kann ich Node-Stream zu erweitern
- 8. Kann ich Meteor-Methoden überschreiben/erweitern?
- 9. Kann ich das verzögerte Objekt jQuery.ajax erweitern?
- 10. Wie kann ich die Array-Klasse in Babel erweitern?
- 11. Wie kann ich die Liste erweitern und dynamischen Wert wählen?
- 12. Ich kann meinen Controller nicht erweitern
- 13. Wie kann ich eine "verbundene" Komponente erweitern?
- 14. Microsoft.Graph API erweitern Methode nicht
- 15. Wie kann ich die Fehlermeldung in Laravel5.3 bearbeiten oder erweitern?
- 16. Kann ich die von LINQ-to-SQL unterstützten Operatoren erweitern?
- 17. Wie kann ich ein QLabel auf die volle Breite erweitern?
- 18. Kann ich die Methoden eines Attributs auf seine Elternklasse erweitern?
- 19. Wie kann ich Datentyp in Java erweitern
- 20. Wie kann ich eine SQLite-Datenbank "erweitern"?
- 21. Kann ich Utensilien gleichzeitig verwenden und erweitern?
- 22. Kann ich eine Funktion in TypeScript erweitern?
- 23. Welche Java-Klasse kann ich erweitern?
- 24. Wie kann ich einen Service erweitern
- 25. Kann ich einen Anwendungsfall mehrfach erweitern?
- 26. Kann ich ChartJS ändern oder erweitern?
- 27. Kann ich ein Objekt in angularjs erweitern?
- 28. Wie kann ich OData vom Server erweitern?
- 29. Ich kann das Doctrine-Repository nicht erweitern
- 30. Wie kann ich Woocommerce API Endpunkte erweitern?