本文整理汇总了C#中Declaration.Visit方法的典型用法代码示例。如果您正苦于以下问题:C# Declaration.Visit方法的具体用法?C# Declaration.Visit怎么用?C# Declaration.Visit使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Declaration
的用法示例。
在下文中一共展示了Declaration.Visit方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: FindTypeMap
public bool FindTypeMap(Declaration decl, Type type, out TypeMap typeMap)
{
// We try to find type maps from the most qualified to less qualified
// types. Example: '::std::vector', 'std::vector' and 'vector'
var typePrinter = new CppTypePrinter(this)
{
PrintKind = CppTypePrintKind.GlobalQualified
};
if (FindTypeMap(decl.Visit(typePrinter), out typeMap))
{
typeMap.Type = type;
return true;
}
typePrinter.PrintKind = CppTypePrintKind.Qualified;
if (FindTypeMap(decl.Visit(typePrinter), out typeMap))
{
typeMap.Type = type;
return true;
}
typePrinter.PrintKind = CppTypePrintKind.Local;
if (FindTypeMap(decl.Visit(typePrinter), out typeMap))
{
typeMap.Type = type;
return true;
}
return false;
}
示例2: IsDeclComplete
static bool IsDeclComplete(Declaration decl)
{
var checker = new TypeCompletionChecker();
return decl.Visit(checker);
}
示例3: IsDeclIgnored
bool IsDeclIgnored(Declaration decl)
{
var checker = new TypeIgnoreChecker(Driver.TypeDatabase);
decl.Visit(checker);
return checker.IsIgnored;
}
示例4: FindTypeMap
public bool FindTypeMap(Declaration decl, Type type, out TypeMap typeMap)
{
// We try to find type maps from the most qualified to less qualified
// types. Example: '::std::vector', 'std::vector' and 'vector'
var typePrinter = new CppTypePrinter { PrintLogicalNames = true };
if (FindTypeMap(decl.Visit(typePrinter), out typeMap))
{
typeMap.Type = type;
return true;
}
typePrinter.PrintScopeKind = CppTypePrintScopeKind.Qualified;
if (FindTypeMap(decl.Visit(typePrinter), out typeMap))
{
typeMap.Type = type;
return true;
}
typePrinter.PrintScopeKind = CppTypePrintScopeKind.Local;
if (FindTypeMap(decl.Visit(typePrinter), out typeMap))
{
typeMap.Type = type;
return true;
}
var specialization = decl as ClassTemplateSpecialization;
if (specialization != null &&
FindTypeMap(specialization.TemplatedDecl.Visit(typePrinter), out typeMap))
{
typeMap.Type = type;
return true;
}
var typedef = decl as TypedefDecl;
return typedef != null && FindTypeMap(typedef.Type, out typeMap);
}