public Declaration(Declaration owningDeclaration, CppSharp.Parser.AST.Declaration declaration) { this.OwningDeclaration = owningDeclaration; this.declaration = declaration; this.OwningDeclaration.AssertNotNull(); this.declaration.AssertNotNull(); }
public static Declaration GetRealDeclarationInternal(this CppSharp.Parser.AST.Declaration declaration) { var realDeclaration = declaration.GetRealDeclaration(); switch (declaration.Kind) { case CppSharp.Parser.AST.DeclarationKind.DeclarationContext: return(new Headers.DeclarationContext((CppSharp.Parser.AST.DeclarationContext)realDeclaration)); case CppSharp.Parser.AST.DeclarationKind.Typedef: return(new Headers.TypeDefDecl((CppSharp.Parser.AST.TypedefDecl)realDeclaration)); case CppSharp.Parser.AST.DeclarationKind.TypeAlias: return(new Headers.TypeAlias((CppSharp.Parser.AST.TypeAlias)realDeclaration)); case CppSharp.Parser.AST.DeclarationKind.Parameter: return(new Headers.Parameter((CppSharp.Parser.AST.Parameter)realDeclaration)); case CppSharp.Parser.AST.DeclarationKind.Function: return(new Headers.Function((CppSharp.Parser.AST.Function)realDeclaration)); case CppSharp.Parser.AST.DeclarationKind.Method: return(new Headers.Method((CppSharp.Parser.AST.Method)realDeclaration)); case CppSharp.Parser.AST.DeclarationKind.Enumeration: return(new Headers.Enumeration((CppSharp.Parser.AST.Enumeration)realDeclaration)); case CppSharp.Parser.AST.DeclarationKind.EnumerationItem: return(new Headers.EnumerationItem((CppSharp.Parser.AST.Enumeration.Item)realDeclaration)); case CppSharp.Parser.AST.DeclarationKind.Variable: return(new Headers.Variable((CppSharp.Parser.AST.Variable)realDeclaration)); case CppSharp.Parser.AST.DeclarationKind.Field: return(new Headers.Field((CppSharp.Parser.AST.Field)realDeclaration)); case CppSharp.Parser.AST.DeclarationKind.AccessSpecifier: return(new Headers.AccessSpecifierDecl((CppSharp.Parser.AST.AccessSpecifierDecl)realDeclaration)); case CppSharp.Parser.AST.DeclarationKind.Class: return(new Headers.Class((CppSharp.Parser.AST.Class)realDeclaration)); case CppSharp.Parser.AST.DeclarationKind.Template: return(new Headers.Template((CppSharp.Parser.AST.Template)realDeclaration)); case CppSharp.Parser.AST.DeclarationKind.TypeAliasTemplate: return(new Headers.TypeAliasTemplate((CppSharp.Parser.AST.TypeAliasTemplate)realDeclaration)); case CppSharp.Parser.AST.DeclarationKind.ClassTemplate: return(new Headers.ClassTemplate((CppSharp.Parser.AST.ClassTemplate)realDeclaration)); case CppSharp.Parser.AST.DeclarationKind.ClassTemplateSpecialization: return(new Headers.ClassTemplateSpecialization((CppSharp.Parser.AST.ClassTemplateSpecialization)realDeclaration)); case CppSharp.Parser.AST.DeclarationKind.ClassTemplatePartialSpecialization: return(new Headers.ClassTemplatePartialSpecialization((CppSharp.Parser.AST.ClassTemplatePartialSpecialization)realDeclaration)); case CppSharp.Parser.AST.DeclarationKind.FunctionTemplate: return(new Headers.FunctionTemplate((CppSharp.Parser.AST.FunctionTemplate)realDeclaration)); case CppSharp.Parser.AST.DeclarationKind.Namespace: return(new Headers.Namespace((CppSharp.Parser.AST.Namespace)realDeclaration)); case CppSharp.Parser.AST.DeclarationKind.TranslationUnit: return(new Headers.TranslationUnit((CppSharp.Parser.AST.TranslationUnit)realDeclaration)); case CppSharp.Parser.AST.DeclarationKind.Friend: return(new Headers.Friend((CppSharp.Parser.AST.Friend)realDeclaration)); case CppSharp.Parser.AST.DeclarationKind.TemplateTemplateParm: return(new Headers.TemplateTemplateParameter((CppSharp.Parser.AST.TemplateTemplateParameter)realDeclaration)); case CppSharp.Parser.AST.DeclarationKind.NonTypeTemplateParm: return(new Headers.NonTypeTemplateParameter((CppSharp.Parser.AST.NonTypeTemplateParameter)realDeclaration)); case CppSharp.Parser.AST.DeclarationKind.VarTemplate: return(new Headers.VarTemplate((CppSharp.Parser.AST.VarTemplate)realDeclaration)); case CppSharp.Parser.AST.DeclarationKind.VarTemplateSpecialization: return(new Headers.VarTemplateSpecialization((CppSharp.Parser.AST.VarTemplateSpecialization)realDeclaration)); case CppSharp.Parser.AST.DeclarationKind.VarTemplatePartialSpecialization: return(new Headers.VarTemplatePartialSpecialization((CppSharp.Parser.AST.VarTemplatePartialSpecialization)realDeclaration)); default: Debugger.Break(); return(null); } }
public Declaration(CppSharp.Parser.AST.Declaration declaration) { this.declaration = declaration; this.declaration.AssertNotNull(); }