/// <summary> /// Añade un espacio de nombres a la colección /// </summary> public void Add(NameSpaceModel objNameSpace) { NameSpaceGroupModel objGroup = Search(objNameSpace.Name); if (objGroup == null) { Add(new NameSpaceGroupModel(objNameSpace, objNameSpace.Name)); } }
/// <summary> /// Añade un espacio de nombres a la colección /// </summary> public void Add(NameSpaceModel nameSpace) { NameSpaceGroupModel group = Search(nameSpace.Name); if (group == null) { Add(new NameSpaceGroupModel(nameSpace, nameSpace.Name)); } }
/// <summary> /// Añade una estructura a un espacio de nombres teniendo en cuenta que si es una clase pueden ser clases parciales /// y si es un método puede estar sobreescrito /// </summary> private void AddStructToNameSpace(NameSpaceModel nameSpace, LanguageStructModel structDoc) { LanguageStructModel previous = nameSpace.Items.SearchByName(structDoc); // Si no existía se añade if (previous == null) { nameSpace.Items.Add(structDoc); } }
/// <summary> /// Añade una estructura a un espacio de nombres teniendo en cuenta que si es una clase pueden ser clases parciales /// y si es un método puede estar sobreescrito /// </summary> private void AddStructToNameSpace(NameSpaceModel objNameSpace, LanguageStructModel objStruct) { LanguageStructModel objPrevious = objNameSpace.Items.SearchByName(objStruct); // Si no existía se añade if (objPrevious == null) { objNameSpace.Items.Add(objStruct); } }
/// <summary> /// Interpreta un espacio de nombres /// </summary> protected void ParseNameSpace(SyntaxNode objNode, LanguageStructModel objParent, INamespaceSymbol objSymbol) { NameSpaceModel objNameSpace = objParent.Items.CreateSpaceModel(objParent); // Obtiene los datos del espacio de nombres if (objSymbol != null) { // Obtiene los datos del espacio de nombres InitStructModel(objNameSpace, objSymbol, objNode); objNameSpace.Name = GetFullNameNameSpace(objSymbol); // Interpreta los nodos ParseChilds(objNode, objNameSpace); } }
/// <summary> /// Interpreta un espacio de nombres /// </summary> private void ParseNameSpace(SyntaxNode objNode, LanguageStructModel objParent) { NameSpaceModel objNameSpace = objParent.Items.CreateSpaceModel(objParent); INamespaceSymbol objSymbol = objTreeSemantic.GetDeclaredSymbol(objNode as NamespaceDeclarationSyntax); // Obtiene los datos del espacio de nombres if (objSymbol != null) { // Obtiene los datos del espacio de nombres InitStructModel(objNameSpace, objSymbol, objNode); objNameSpace.Name = GetFullNameNameSpace(objSymbol); // Interpreta los nodos ParseChilds(objNode, objNameSpace); } }
/// <summary> /// Interpreta un espacio de nombres /// </summary> protected void ParseNameSpace(SyntaxNode node, LanguageStructModel parent, INamespaceSymbol symbol) { NameSpaceModel nameSpace = parent.Items.CreateSpaceModel(parent); // Obtiene los datos del espacio de nombres if (symbol != null) { // Obtiene los datos del espacio de nombres InitStructModel(nameSpace, symbol, node); nameSpace.Name = GetFullNameNameSpace(symbol); // Interpreta los nodos ParseChilds(node, nameSpace); } }
/// <summary> /// Añade las estructuras a los grupos /// </summary> private void AddStructsToGroups(NameSpaceGroupModelCollection groups, ProgramModel program) { foreach (CompilationUnitModel compilationUnit in program.CompilationUnits) { foreach (LanguageStructModel structDoc in compilationUnit.Root.Items) { if (structDoc is NameSpaceModel) { NameSpaceModel nameSpace = structDoc as NameSpaceModel; NameSpaceGroupModel group = groups.Search(nameSpace.Name); if (group != null) { foreach (LanguageStructModel child in nameSpace.Items) { // Si no se ha añadido antes este espacio de nombres, se crea if (group.NameSpace == null) { group.NameSpace = nameSpace; } // Añade el elemento hijo AddStructToNameSpace(group.NameSpace, child); } } } else { NameSpaceGroupModel group = GetGroupNoNameSpace(groups); if (group != null) { AddStructToNameSpace(group.NameSpace, structDoc); } } } } }
/// <summary> /// Añade las estructuras a los grupos /// </summary> private void AddStructsToGroups(NameSpaceGroupModelCollection objColGroups, ProgramModel objProgram) { foreach (CompilationUnitModel objCompilationUnit in objProgram.CompilationUnits) { foreach (LanguageStructModel objStruct in objCompilationUnit.Root.Items) { if (objStruct is NameSpaceModel) { NameSpaceModel objNameSpace = objStruct as NameSpaceModel; NameSpaceGroupModel objGroup = objColGroups.Search(objNameSpace.Name); if (objGroup != null) { foreach (LanguageStructModel objChild in objNameSpace.Items) { // Si no se ha añadido antes este espacio de nombres, se crea if (objGroup.NameSpace == null) { objGroup.NameSpace = objNameSpace; } // Añade el elemento hijo AddStructToNameSpace(objGroup.NameSpace, objChild); } } } else { NameSpaceGroupModel objGroup = GetGroupNoNameSpace(objColGroups); if (objGroup != null) { AddStructToNameSpace(objGroup.NameSpace, objStruct); } } } } }
public NameSpaceGroupModel(NameSpaceModel nameSpace, string name) { NameSpace = nameSpace; Name = name; }
public NameSpaceGroupModel(NameSpaceModel objNameSpace, string strName) { NameSpace = objNameSpace; Name = strName; }
public string ConvertToCode(NameSpaceModel nameSpace) { var nameSpaceSyntax = SyntaxFactory.NamespaceDeclaration(SyntaxFactory.ParseName(nameSpace.NameSpaceName)); return(nameSpaceSyntax.ToFullString()); }