本文整理汇总了C#中Boo.Add方法的典型用法代码示例。如果您正苦于以下问题:C# Boo.Add方法的具体用法?C# Boo.Add怎么用?C# Boo.Add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Boo
的用法示例。
在下文中一共展示了Boo.Add方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ResolveModuleMember
bool ResolveModuleMember(Boo.Lang.List targetList, string name, EntityType flags)
{
bool found = false;
foreach (TypeMember member in _module.Members)
{
if (name != member.Name) continue;
IEntity entity = _typeSystemServices.GetMemberEntity(member);
if (NameResolutionService.IsFlagSet(flags, entity.EntityType))
{
targetList.Add(entity);
found = true;
}
}
return found;
}
示例2: ResolveBaseTypes
void ResolveBaseTypes(Boo.Lang.List visited, TypeDefinition node)
{
// If type is generic, enter a special namespace to allow
// correct resolution of generic parameters
IType type = (IType)TypeSystemServices.GetEntity(node);
if (type.GenericInfo != null)
{
EnterNamespace(new GenericParametersNamespaceExtender(
type, NameResolutionService.CurrentNamespace));
}
visited.Add(node);
Boo.Lang.List visitedNonInterfaces = null;
Boo.Lang.List visitedInterfaces = null;
if (node is InterfaceDefinition)
{
visitedInterfaces = visited;
// interfaces won't have noninterface base types so visitedNonInterfaces not necessary here
}
else
{
visitedNonInterfaces = visited;
visitedInterfaces = new Boo.Lang.List();
}
int removed = 0;
int index = 0;
foreach (SimpleTypeReference baseType in node.BaseTypes.ToArray())
{
NameResolutionService.ResolveSimpleTypeReference(baseType);
AbstractInternalType internalType = baseType.Entity as AbstractInternalType;
if (null != internalType)
{
if (internalType is InternalInterface)
{
if (visitedInterfaces.Contains(internalType.TypeDefinition))
{
Error(CompilerErrorFactory.InheritanceCycle(baseType, internalType.FullName));
node.BaseTypes.RemoveAt(index - removed);
++removed;
}
else
{
ResolveBaseTypes(visitedInterfaces, internalType.TypeDefinition);
}
}
else
{
if (visitedNonInterfaces.Contains(internalType.TypeDefinition))
{
Error(CompilerErrorFactory.InheritanceCycle(baseType, internalType.FullName));
node.BaseTypes.RemoveAt(index - removed);
++removed;
}
else
{
ResolveBaseTypes(visitedNonInterfaces, internalType.TypeDefinition);
}
}
}
++index;
}
// Leave special namespace if we entered it before
if (type.GenericInfo != null)
{
LeaveNamespace();
}
}