INNER CODE UNIT · C#

noParent

axmolengine/axmol · tools/bindings-generator/src/BindingGenerator.cs:714

        var noParent = request.NoParentPatterns.Any(pattern =>
            MatchesConfiguredPattern(nativeName, pattern));
        var directBases = noParent
            ? Array.Empty<string>()
            : children
                .Where(x => x.Kind == CXCursorKind.CXCursor_CXXBaseSpecifier)
                .Where(x => x.CXXAccessSpecifier == CX_CXXAccessSpecifier.CX_CXXPublic)
                .Select(x => GetBaseTypeName(x, record, tree))
                .Where(x => !string.IsNullOrWhiteSpace(x))
                .Where(x => !request.SkippedBasePatterns.Any(pattern =>
                    MatchesConfiguredPattern(x, pattern) ||
                    MatchesConfiguredPattern(x.Split("::").Last(), pattern)))
                .Distinct(StringComparer.Ordinal)
                .ToArray();
        var bases = ExpandBaseClosure(directBases, tree, request);

        // C++ overload lookup is name-based: a method declared by a derived
        // class hides all overloads with the same name in its bases unless

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…