public static string GetNameStr(this ICppQualifiedNamePart namePart) { CppQualifiedNamePartVisitor cppQualifiedNamePartVisitor = new CppQualifiedNamePartVisitor(); CppQualifiedNamePartVisitorData cppQualifiedNamePartVisitorData = new CppQualifiedNamePartVisitorData(); namePart.Accept <CppQualifiedNamePartVisitorResult, CppQualifiedNamePartVisitorData>(cppQualifiedNamePartVisitorData, cppQualifiedNamePartVisitor); return(cppQualifiedNamePartVisitor.StringBuilder.ToString().Trim()); }
public static string GetNameStr(this CppQualifiedName cppQualifiedName) { if (cppQualifiedName.Name != null) { ICppQualifiedNamePart namePart = cppQualifiedName.Name; CppQualifiedNamePartVisitor cppQualifiedNamePartVisitor = new CppQualifiedNamePartVisitor(); CppQualifiedNamePartVisitorData cppQualifiedNamePartVisitorData = new CppQualifiedNamePartVisitorData(); namePart.Accept <CppQualifiedNamePartVisitorResult, CppQualifiedNamePartVisitorData>(cppQualifiedNamePartVisitorData, cppQualifiedNamePartVisitor); return(cppQualifiedNamePartVisitor.StringBuilder.ToString().Trim()); } else { LogManager.Self.Log("QualifiedName.Name is null"); return("QualifiedName Error"); } }
public override void Init() { try { //QualifiedReference qualifiedReference = this.QualifiedReference; CppQualifiedName cppQualifiedName = this.QualifiedReference.GetQualifiedName(); this.ItemName = cppQualifiedName.GetNameStr(); CppResolveResult cppResolveResult = this.QualifiedReference.GetResolvedReference(); switch (cppResolveResult.GetStatus()) { case CppResolveResult.Status.OK: ICppResolveEntity cppResolveEntity = cppResolveResult.GetPrimaryEntity(); if (cppResolveEntity != null) { /* * IGenericSymbolNode genericSymbolNode = cppResolveEntity.TryGetDeclarator(); * * if (genericSymbolNode != null) * { * ICppSymbol cppSymbol = genericSymbolNode.GetGenericSymbol(); * * string symbolType = cppSymbol.GetType().Name; * * switch (cppSymbol) * { * case CppDeclaratorSymbol cppDeclaratorSymbol: * break; * * default: * break; * } * } */ ICppQualifiedNamePart cppQualifiedNamePart = cppResolveEntity.Name; ICppResolveEntity parentResolveEntity = cppResolveEntity.StructuralParent; if (parentResolveEntity != null && parentResolveEntity.Name != null) { this.OwningClass = parentResolveEntity.Name.GetNameStr(); } //string namePartStr = cppQualifiedNamePart.GetNameStr(); } break; default: break; } //ICppQualifiedNamePart cppQualifiedNamePart = this.QualifiedReference.NamePart; //ICppExpressionNode cppExpressionNode = this.MemberAccessExpression.Qualifier; CppTypeAndCategory cppTypeAndCatagory = this.QualifiedReference.GetTypeAndCategory(); CppQualType cppQualType = cppTypeAndCatagory.Type; CppTypeVisitor cppTypeVisitor = new CppTypeVisitor(); cppQualType.Accept(cppTypeVisitor); string typeStr = cppTypeVisitor.TypeStr; string dbgStr = cppTypeVisitor.DbgStr; this.TypeName = cppTypeVisitor.DbgStr; /* * ICppExpression leftArguement = this.MemberAccessExpression.GetLeftArgument(); * CppExpressionVisitor cppExpressionVisitor = new CppExpressionVisitor(); * leftArguement.Accept<CppExpressonVisitorResult>(cppExpressionVisitor); */ base.Init(); this.CppFunctionCatagory = CppFunctionCatagory.VariableRef; /* * PenWebDeclaration penWebDeclaration = this.GetParentByType<PenWebDeclaration>(); * * if (penWebDeclaration != null) * { * string owningClass = penWebDeclaration.OwningClass; * string typeName = penWebDeclaration.TypeName; * string itemName = penWebDeclaration.VariableName; * * } */ if (!String.IsNullOrWhiteSpace(this.ItemName) && !String.IsNullOrWhiteSpace(this.TypeName) && !String.IsNullOrWhiteSpace(this.OwningClass)) { this.SaveToJson = true; } } catch (Exception e) { LogManager.Self.Log("PenWebQualifiedReference Exception", e); } this.QualifiedReference = null; }