本文整理汇总了C#中Microsoft.CodeAnalysis.CSharp.Binder.CanAddLookupSymbolInfo方法的典型用法代码示例。如果您正苦于以下问题:C# Binder.CanAddLookupSymbolInfo方法的具体用法?C# Binder.CanAddLookupSymbolInfo怎么用?C# Binder.CanAddLookupSymbolInfo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.CodeAnalysis.CSharp.Binder
的用法示例。
在下文中一共展示了Binder.CanAddLookupSymbolInfo方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddLookupSymbolsInfoInSingleBinder
protected override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result, LookupOptions options, Binder originalBinder)
{
if (CanConsiderTypeParameters(options))
{
foreach (var parameter in _namedType.TypeParameters)
{
if (originalBinder.CanAddLookupSymbolInfo(parameter, options, null))
{
result.AddSymbol(parameter, parameter.Name, 0);
}
}
}
}
示例2: AddLookupSymbolsInfoInSingleBinder
protected override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result, LookupOptions options, Binder originalBinder)
{
if (options.CanConsiderLocals())
{
foreach (var parameter in primaryCtor.Parameters)
{
if (originalBinder.CanAddLookupSymbolInfo(parameter, options, null))
{
result.AddSymbol(parameter, parameter.Name, 0);
}
}
}
}
示例3: AddLookupSymbolsInfoInUsings
internal static void AddLookupSymbolsInfoInUsings(
ImmutableArray<NamespaceOrTypeAndUsingDirective> usings, Binder binder, LookupSymbolsInfo result, LookupOptions options)
{
Debug.Assert(!options.CanConsiderNamespaces());
// look in all using namespaces
foreach (var namespaceSymbol in usings)
{
foreach (var member in namespaceSymbol.NamespaceOrType.GetMembersUnordered())
{
if (binder.CanAddLookupSymbolInfo(member, options, null))
{
result.AddSymbol(member, member.Name, member.GetArity());
}
}
}
}
示例4: AddLookupSymbolsInfoInSingleBinder
protected override void AddLookupSymbolsInfoInSingleBinder(LookupSymbolsInfo result, LookupOptions options, Binder originalBinder)
{
if (CanConsiderTypeParameters(options))
{
foreach (var kvp in TypeParameterMap)
{
foreach (TypeParameterSymbol typeParameter in kvp.Value)
{
// In any context where this binder applies, the type parameters are always viable/speakable.
Debug.Assert(originalBinder.CanAddLookupSymbolInfo(typeParameter, options, null));
result.AddSymbol(typeParameter, kvp.Key, 0);
}
}
}
}
示例5: AddLookupSymbolsInfoInAliases
// Note: we do not mark nodes when looking up arities or names. This is because these two
// types of lookup are only around to make the public
// SemanticModel.LookupNames/LookupSymbols work and do not count as usages of the directives
// when the actual code is bound.
internal void AddLookupSymbolsInfoInAliases(Binder binder, LookupSymbolsInfo result, LookupOptions options)
{
if (this.UsingAliases != null)
{
foreach (var usingAlias in this.UsingAliases.Values)
{
var usingAliasSymbol = usingAlias.Alias;
var usingAliasTargetSymbol = usingAliasSymbol.GetAliasTarget(basesBeingResolved: null);
if (binder.CanAddLookupSymbolInfo(usingAliasTargetSymbol, options, null))
{
result.AddSymbol(usingAliasSymbol, usingAliasSymbol.Name, 0);
}
}
}
if (this.ExternAliases != null)
{
foreach (var externAlias in this.ExternAliases)
{
var externAliasSymbol = externAlias.Alias;
var externAliasTargetSymbol = externAliasSymbol.GetAliasTarget(basesBeingResolved: null);
if (binder.CanAddLookupSymbolInfo(externAliasTargetSymbol, options, null))
{
result.AddSymbol(externAliasSymbol, externAliasSymbol.Name, 0);
}
}
}
}