private static void ProcessReferencePointer(AST ast, NativeType type, CXType cxType, TypeVisitContext context) { Debug.Assert(type.TypeKind == BasicType.Unknown); type.IsConst = ClangTraits.IsConst(cxType); CXType pointeeType = clang.getPointeeType(cxType); NativeType nativeType = GetNativeType(ast, pointeeType, context); if (ClangTraits.IsLValueReference(cxType)) { type.SetTypeLValRef(nativeType); } else if (ClangTraits.IsRValueReference(cxType)) { type.SetTypeRValRef(nativeType); } else if (ClangTraits.IsPointer(cxType)) { type.SetPointer(nativeType); } Debug.Assert(type.TypeKind != BasicType.Unknown); }