本文整理汇总了C#中ICSharpCode.AcceptChildren方法的典型用法代码示例。如果您正苦于以下问题:C# ICSharpCode.AcceptChildren方法的具体用法?C# ICSharpCode.AcceptChildren怎么用?C# ICSharpCode.AcceptChildren使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ICSharpCode
的用法示例。
在下文中一共展示了ICSharpCode.AcceptChildren方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: VisitCompilationUnit
public override object VisitCompilationUnit(ICSharpCode.NRefactory.Ast.CompilationUnit compilationUnit, object data)
{
//TODO: Imports, Comments
compilationUnit.AcceptChildren (this, data);
return cu;
}
示例2: VisitTypeDeclaration
public override object VisitTypeDeclaration(ICSharpCode.NRefactory.Ast.TypeDeclaration typeDeclaration, object data)
{
DomType type = new DomType (cu,
TranslateClassType (typeDeclaration.Type),
(MonoDevelop.Projects.Dom.Modifiers)typeDeclaration.Modifier,
typeDeclaration.Name,
new DomLocation (typeDeclaration.StartLocation.Line, typeDeclaration.StartLocation.Column),
currentNamespace.Count > 0 ? currentNamespace.Peek() : "",
TranslateRegion (typeDeclaration.StartLocation, typeDeclaration.EndLocation));
if (currentType.Count > 0) {
currentType.Peek().Add (type);
} else {
cu.Add (type);
}
if (typeDeclaration.BaseTypes != null) {
foreach (ICSharpCode.NRefactory.Ast.TypeReference baseType in typeDeclaration.BaseTypes) {
if (type.BaseType == null) {
type.BaseType = TranslateTypeReference (baseType);
} else {
type.AddInterfaceImplementation (TranslateTypeReference (baseType));
}
}
}
currentType.Push (type);
typeDeclaration.AcceptChildren (this, data);
currentType.Pop();
return null;
}
示例3: VisitTypeDeclaration
public override object VisitTypeDeclaration (ICSharpCode.NRefactory.Ast.TypeDeclaration typeDeclaration, object data)
{
DomType newType = new DomType ();
newType.SourceProjectDom = dom;
newType.Name = typeDeclaration.Name;
newType.Documentation = RetrieveDocumentation (typeDeclaration.StartLocation.Line);
newType.Location = ConvertLocation (typeDeclaration.StartLocation);
newType.ClassType = ConvertClassType (typeDeclaration.Type);
DomRegion region = ConvertRegion (typeDeclaration.BodyStartLocation, typeDeclaration.EndLocation);
region.End = new DomLocation (region.End.Line, region.End.Column);
newType.BodyRegion = region;
newType.Modifiers = ConvertModifiers (typeDeclaration.Modifier);
AddAttributes (newType, typeDeclaration.Attributes);
foreach (ICSharpCode.NRefactory.Ast.TemplateDefinition template in typeDeclaration.Templates) {
TypeParameter parameter = ConvertTemplateDefinition (template);
newType.AddTypeParameter (parameter);
}
if (typeDeclaration.BaseTypes != null) {
foreach (ICSharpCode.NRefactory.Ast.TypeReference type in typeDeclaration.BaseTypes) {
if (type == typeDeclaration.BaseTypes[0]) {
newType.BaseType = ConvertReturnType (type);
} else {
newType.AddInterfaceImplementation (ConvertReturnType (type));
}
}
}
AddType (newType);
// visit members
typeStack.Push (newType);
typeDeclaration.AcceptChildren (this, data);
typeStack.Pop ();
return null;
}
示例4: VisitNamespaceDeclaration
// public override object VisitUsing(ICSharpCode.NRefactory.Ast.Using usingDeclaration, object data)
// {
// DefaultUsing u = new DefaultUsing();
// if (usingDeclaration.IsAlias)
// u.Aliases[usingDeclaration.Name] = new ReturnType (usingDeclaration.Alias.Type);
// else
// u.Usings.Add(usingDeclaration.Name);
// cu.Usings.Add(u);
// return data;
// }
// ModifierEnum VisitModifier(ICSharpCode.SharpRefactory.Parser.Modifier m)
// {
// return (ModifierEnum)m;
// }
public override object VisitNamespaceDeclaration(ICSharpCode.NRefactory.Ast.NamespaceDeclaration namespaceDeclaration, object data)
{
string name;
if (currentNamespace.Count == 0) {
name = namespaceDeclaration.Name;
} else {
name = String.Concat((string)currentNamespace.Peek(), '.', namespaceDeclaration.Name);
}
currentNamespace.Push(name);
object ret = namespaceDeclaration.AcceptChildren(this, data);
currentNamespace.Pop();
return ret;
}
示例5: VisitNamespaceDeclaration
public override object VisitNamespaceDeclaration (ICSharpCode.NRefactory.Ast.NamespaceDeclaration namespaceDeclaration, object data)
{
string[] splittedNamespace = namespaceDeclaration.Name.Split ('.');
for (int i = splittedNamespace.Length; i > 0; i--) {
DomUsing domUsing = new DomUsing ();
domUsing.IsFromNamespace = true;
domUsing.Region = ConvertRegion (namespaceDeclaration.StartLocation, namespaceDeclaration.EndLocation);
domUsing.ValidRegion = domUsing.Region;
domUsing.Add (String.Join (".", splittedNamespace, 0, i));
((CompilationUnit)result.CompilationUnit).Add (domUsing);
}
namespaceEndLocationStack.Push (namespaceDeclaration.EndLocation);
namespaceStack.Push (namespaceStack.Count == 0 ? namespaceDeclaration.Name : namespaceStack.Peek () + "." + namespaceDeclaration.Name);
namespaceDeclaration.AcceptChildren (this, data);
namespaceStack.Pop ();
namespaceEndLocationStack.Pop ();
return null;
}