public void AccessSpecDeclTest(string accessSpecifier, CX_CXXAccessSpecifier expectedAccessSpecifier) { var inputContents = $@"struct MyStruct {{ {accessSpecifier}: }}; "; using var translationUnit = CreateTranslationUnit(inputContents); var recordDecl = translationUnit.TranslationUnitDecl.Decls.OfType <RecordDecl>().Where((recordDecl) => recordDecl.Name == "MyStruct").Single(); var accessSpecDecl = recordDecl.Decls.OfType <AccessSpecDecl>().Single(); Assert.Equal(expectedAccessSpecifier, accessSpecDecl.Access); }
private CXChildVisitResult VisitTypeModifier(CXCursor cursor, CXCursor parent, IntPtr data) { Type parentUnit = units[parent] as Type; CX_CXXAccessSpecifier accessSpecifier = clang.getCXXAccessSpecifier(cursor); switch (accessSpecifier) { case CX_CXXAccessSpecifier.CX_CXXPrivate: modifiers[parentUnit] = Modifiers.Private; break; case CX_CXXAccessSpecifier.CX_CXXProtected: modifiers[parentUnit] = Modifiers.Protected; break; case CX_CXXAccessSpecifier.CX_CXXPublic: modifiers[parentUnit] = Modifiers.Public; break; } return(CXChildVisitResult.CXChildVisit_Continue); }
public static Accessibility MapAccessibility(this CX_CXXAccessSpecifier access) => access switch {
public static AccessSpecifier ToAccessSpecifier(CX_CXXAccessSpecifier accessSpecifier) { return((AccessSpecifier)(accessSpecifier)); }