aboutsummaryrefslogtreecommitdiff
path: root/find-modules/sip_generator.py
diff options
context:
space:
mode:
Diffstat (limited to 'find-modules/sip_generator.py')
-rw-r--r--find-modules/sip_generator.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/find-modules/sip_generator.py b/find-modules/sip_generator.py
index 58ae1829..1ebaba61 100644
--- a/find-modules/sip_generator.py
+++ b/find-modules/sip_generator.py
@@ -416,7 +416,10 @@ class SipGenerator(object):
def _enum_get(self, container, enum, level):
pad = " " * (level * 4)
- decl = pad + "enum {} {{\n".format(enum.displayname)
+ scoped = ""
+ if enum.is_scoped_enum():
+ scoped = "class "
+ decl = pad + "enum {}{} {{\n".format(scoped, enum.displayname)
enumerations = []
for enum in enum.get_children():
#
@@ -609,7 +612,10 @@ class SipGenerator(object):
typeText = text
typeInit = ""
- prefix = parameterType.spelling.rsplit("::", 1)[0]
+ if parameterType.kind == TypeKind.ENUM and parameterType.get_declaration().is_scoped_enum():
+ prefix = parameterType.spelling
+ else:
+ prefix = parameterType.spelling.rsplit("::", 1)[0]
if "::" in typeText:
typeText = typeText.rsplit("::", 1)[1]
return prefix + "::" + typeText + typeInit