aboutsummaryrefslogtreecommitdiffstats
path: root/abstractmetalang.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'abstractmetalang.cpp')
-rw-r--r--abstractmetalang.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/abstractmetalang.cpp b/abstractmetalang.cpp
index 351abea06..68f6adec9 100644
--- a/abstractmetalang.cpp
+++ b/abstractmetalang.cpp
@@ -697,6 +697,21 @@ bool AbstractMetaFunction::hasInjectedCode() const
return false;
}
+CodeSnipList AbstractMetaFunction::injectedCodeSnips(CodeSnip::Position position, TypeSystem::Language language) const
+{
+ CodeSnipList result;
+ foreach (const FunctionModification mod, modifications(ownerClass())) {
+ if (mod.isCodeInjection()) {
+ QList<CodeSnip>::const_iterator it = mod.snips.constBegin();
+ for (;it != mod.snips.constEnd(); ++it) {
+ if ((it->language & language) && (it->position == position || position == CodeSnip::Any))
+ result << *it;
+ }
+ }
+ }
+ return result;
+}
+
bool AbstractMetaFunction::hasSignatureModifications() const
{
foreach (const FunctionModification mod, modifications(ownerClass())) {