示例#1
0
        public override void CLITypeReference(CLITypeReferenceCollector collector,
            ASTRecord<Declaration> loc)
        {
            var typeRef = collector.GetTypeReference(loc.Value);

            var include = new Include
            {
                File = "cstddef",
                Kind = Include.IncludeKind.Angled,
            };

            typeRef.Include = include;
        }
示例#2
0
文件: Flood.cs 项目: chartly/flood
        public override void CLITypeReference(CLITypeReferenceCollector collector, ASTRecord<Declaration> loc)
        {
            if(!(Declaration is ClassTemplate))
                return;

            var typeRef = collector.GetTypeReference(Declaration);
            typeRef.Include = new Include()
            {
                File = "ResourceHandle.h",
                Kind = Include.IncludeKind.Quoted,
                InHeader = true
            };

            Debug.Assert(loc.Parent != null);

            var type = loc.Parent.Object as CppSharp.AST.Type;
            var templateType = type.Desugar() as TemplateSpecializationType;
            var tag = templateType.Arguments[0].Type.Type as TagType;
            if(tag == null)
                return; // TODO Fix this

            var argDecl = tag.Declaration;
            var argTypeDef = collector.GetTypeReference(argDecl);
            argTypeDef.Include = new Include()
            {
                File = argDecl.Namespace.TranslationUnit.FileName,
                Kind = Include.IncludeKind.Quoted,
                InHeader = true
            };
        }
示例#3
0
 public override void CLITypeReference(CLITypeReferenceCollector collector,
     ASTRecord<Declaration> loc)
 {
     var typeRef = collector.GetTypeReference(Declaration);
     typeRef.Include = new Include()
     {
         File = "StringConverter.h",
         Kind = Include.IncludeKind.Quoted,
         InHeader = true
     };
 }