mirror of
https://github.com/mappu/miqt.git
synced 2025-05-30 23:00:26 +00:00
clang2il.go: Populate private signals
This commit is contained in:
parent
82826d7a21
commit
0e6905c39e
@ -461,6 +461,15 @@ nextMethod:
|
||||
return CppClass{}, err
|
||||
}
|
||||
|
||||
// Check for private signal
|
||||
if i, ok := isPrivateSignal(&mm); ok {
|
||||
// Remove only the QPrivateSignal parameter, keep other parameters
|
||||
mm.Parameters = append(mm.Parameters[:i], mm.Parameters[i+1:]...)
|
||||
mm.IsSignal = true
|
||||
ret.PrivateSignals = append(ret.PrivateSignals, mm)
|
||||
continue nextMethod
|
||||
}
|
||||
|
||||
mm.IsSignal = isSignal && !mm.IsStatic && AllowSignal(mm)
|
||||
mm.IsProtected = (visibility == VsProtected)
|
||||
|
||||
@ -515,6 +524,17 @@ func isExplicitlyDeleted(node map[string]interface{}) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
// isPrivateSignal checks if a method is a private signal by looking for a
|
||||
// QPrivateSignal parameter
|
||||
func isPrivateSignal(method *CppMethod) (int, bool) {
|
||||
for i, param := range method.Parameters {
|
||||
if strings.HasSuffix(param.ParameterType, "::QPrivateSignal") {
|
||||
return i, true
|
||||
}
|
||||
}
|
||||
return -1, false
|
||||
}
|
||||
|
||||
// processEnum parses a Clang enum into our CppEnum intermediate format.
|
||||
func processEnum(node map[string]interface{}, addNamePrefix string) (CppEnum, error) {
|
||||
var ret CppEnum
|
||||
|
Loading…
x
Reference in New Issue
Block a user