public override void Init() { try { CppQualifiedName cppQualifiedName = this.DeclarationSpecifierTypename.GetQualifiedName(); this.TypeName = cppQualifiedName.GetNameStr(); CppClassTag cppClassTag = this.DeclarationSpecifierTypename.GetClassTag(); this.ClassTag = cppClassTag.ToString("g"); DeclarationSpecifiersBase declarationSpecifiers = this.DeclarationSpecifierTypename.GetDeclarationSpecifiers(); switch (declarationSpecifiers) { case BaseTypeGenericConstraintItem genericConstraintItem: break; case DeclarationSpecifiers specifiers: break; case EnumBase enumBase: break; default: break; } string identifier = this.DeclarationSpecifierTypename.Identifier.GetText(); TypeId typeId = this.DeclarationSpecifierTypename.CliSimpleTypeId; if (typeId != null) { string typeIdStr = typeId.GetText(); CppQualType cppQualType = typeId.GetQualType(); CppTypeVisitor cppTypeVisitor = new CppTypeVisitor(); cppQualType.Accept(cppTypeVisitor); string typeStr = cppTypeVisitor.TypeStr; string nameStr = cppTypeVisitor.Name; string dbgStr = cppTypeVisitor.DbgStr; } base.Init(); //this.SaveToJson = true; } catch (Exception e) { LogManager.Self.Log("PenWebDeclarationSpecifierTypename Exception", e); } this.DeclarationSpecifierTypename = null; }