コード例 #1
0
ファイル: Declaration.cs プロジェクト: CloudIDEaaS/hydra
        public Declaration(Declaration owningDeclaration, CppSharp.Parser.AST.Declaration declaration)
        {
            this.OwningDeclaration = owningDeclaration;
            this.declaration       = declaration;

            this.OwningDeclaration.AssertNotNull();
            this.declaration.AssertNotNull();
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
ファイル: Declaration.cs プロジェクト: CloudIDEaaS/hydra
 public Declaration(CppSharp.Parser.AST.Declaration declaration)
 {
     this.declaration = declaration;
     this.declaration.AssertNotNull();
 }