コード例 #1
0
ファイル: ASTConverter.cs プロジェクト: gpetrou/CppSharp
        public override AST.Type VisitDecayed(DecayedType type)
        {
            throw new NotImplementedException();
            var _type = new CppSharp.AST.DecayedType();

            VisitType(type, _type);
            return(_type);
        }
コード例 #2
0
ファイル: ASTVisitor.cs プロジェクト: sunyuan213/CppSharp
        public virtual bool VisitDecayedType(DecayedType decayed, TypeQualifiers quals)
        {
            if (!VisitType(decayed, quals))
            {
                return(false);
            }

            return(decayed.Decayed.Visit(this));
        }
コード例 #3
0
ファイル: CMarshal.cs プロジェクト: matthid/Embeddinator-4000
        public override bool VisitDecayedType(DecayedType decayed,
            TypeQualifiers quals)
        {
            var managedArray = decayed as ManagedArrayType;
            if (managedArray != null)
                return VisitManagedArrayType(managedArray, quals);

            return VisitDecayedType(decayed, quals);
        }
コード例 #4
0
        public override string VisitDecayedType(DecayedType decayed,
                                                TypeQualifiers quals)
        {
            var managedArray = decayed as ManagedArrayType;

            if (managedArray != null)
            {
                return(managedArray.Typedef.Visit(this));
            }

            return(base.VisitDecayedType(decayed, quals));
        }
コード例 #5
0
ファイル: AST.cs プロジェクト: RainsSoft/CppSharp
 public static DecayedType __CreateInstance(DecayedType.Internal native)
 {
     return new DecayedType(native);
 }
コード例 #6
0
 public bool VisitDecayedType(DecayedType decayed, TypeQualifiers quals)
 {
     throw new NotImplementedException();
 }
コード例 #7
0
 public CSharpTypePrinterResult VisitDecayedType(DecayedType decayed,
                                                 TypeQualifiers quals)
 {
     return(decayed.Decayed.Visit(this));
 }
コード例 #8
0
ファイル: AST.cs プロジェクト: CSRedRat/CppSharp
 protected DecayedType(DecayedType.Internal* native, bool skipVTables = false)
     : base((CppSharp.Parser.AST.Type.Internal*) null)
 {
     __PointerAdjustment = 0;
     if (native == null)
         return;
     __Instance = new global::System.IntPtr(native);
 }
コード例 #9
0
ファイル: AST.cs プロジェクト: CSRedRat/CppSharp
 private DecayedType(DecayedType.Internal native, bool skipVTables = false)
     : this(__CopyValue(native), skipVTables)
 {
     __ownsNativeInstance = true;
     NativeToManagedMap[__Instance] = this;
 }
コード例 #10
0
ファイル: AST.cs プロジェクト: vovkasm/CppSharp
 internal DecayedType(DecayedType.Internal native)
     : this(__CopyValue(native))
 {
 }
コード例 #11
0
ファイル: AST.cs プロジェクト: RainsSoft/CppSharp
 protected DecayedType(DecayedType.Internal* native, bool isInternalImpl = false)
     : base((CppSharp.Parser.AST.Type.Internal*) native)
 {
 }
コード例 #12
0
ファイル: TypePrinter.cs プロジェクト: Oceanswave/CppSharp
 public virtual TypePrinterResult VisitDecayedType(DecayedType decayed,
                                                   TypeQualifiers quals)
 {
     throw new NotImplementedException();
 }
コード例 #13
0
ファイル: ASTConverter.cs プロジェクト: gpetrou/CppSharp
 public abstract TRet VisitDecayed(DecayedType type);
コード例 #14
0
ファイル: ASTConverter.cs プロジェクト: gpetrou/CppSharp
        public TRet Visit(Parser.AST.Type type)
        {
            if (type.__Instance == IntPtr.Zero)
            {
                return(default(TRet));
            }

            switch (type.Kind)
            {
            case TypeKind.Tag:
            {
                var _type = new TagType(type.__Instance);
                return(VisitTag(_type));
            }

            case TypeKind.Array:
            {
                var _type = new ArrayType(type.__Instance);
                return(VisitArray(_type));
            }

            case TypeKind.Function:
            {
                var _type = new FunctionType(type.__Instance);
                return(VisitFunction(_type));
            }

            case TypeKind.Pointer:
            {
                var _type = new PointerType(type.__Instance);
                return(VisitPointer(_type));
            }

            case TypeKind.MemberPointer:
            {
                var _type = new MemberPointerType(type.__Instance);
                return(VisitMemberPointer(_type));
            }

            case TypeKind.Typedef:
            {
                var _type = new TypedefType(type.__Instance);
                return(VisitTypedef(_type));
            }

            case TypeKind.Attributed:
            {
                var _type = new AttributedType(type.__Instance);
                return(VisitAttributed(_type));
            }

            case TypeKind.Decayed:
            {
                var _type = new DecayedType(type.__Instance);
                return(VisitDecayed(_type));
            }

            case TypeKind.TemplateSpecialization:
            {
                var _type = new TemplateSpecializationType(type.__Instance);
                return(VisitTemplateSpecialization(_type));
            }

            case TypeKind.TemplateParameter:
            {
                var _type = new TemplateParameterType(type.__Instance);
                return(VisitTemplateParameter(_type));
            }

            case TypeKind.TemplateParameterSubstitution:
            {
                var _type = new TemplateParameterSubstitutionType(type.__Instance);
                return(VisitTemplateParameterSubstitution(_type));
            }

            case TypeKind.InjectedClassName:
            {
                var _type = new InjectedClassNameType(type.__Instance);
                return(VisitInjectedClassName(_type));
            }

            case TypeKind.DependentName:
            {
                var _type = new DependentNameType(type.__Instance);
                return(VisitDependentName(_type));
            }

            case TypeKind.Builtin:
            {
                var _type = new BuiltinType(type.__Instance);
                return(VisitBuiltin(_type));
            }
            }

            throw new ArgumentOutOfRangeException();
        }
コード例 #15
0
ファイル: AST.cs プロジェクト: kidleon/CppSharp
 internal DecayedType(DecayedType.Internal native)
     : this(&native)
 {
 }
コード例 #16
0
ファイル: AST.cs プロジェクト: kidleon/CppSharp
 internal DecayedType(DecayedType.Internal* native)
     : this(new global::System.IntPtr(native))
 {
 }
コード例 #17
0
ファイル: AST.cs プロジェクト: KonajuGames/CppSharp
 private DecayedType(DecayedType.Internal native)
     : this(__CopyValue(native))
 {
     __ownsNativeInstance = true;
 }
コード例 #18
0
ファイル: AST.cs プロジェクト: RainsSoft/CppSharp
 private static DecayedType.Internal* __CopyValue(DecayedType.Internal native)
 {
     var ret = Marshal.AllocHGlobal(56);
     CppSharp.Parser.AST.DecayedType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
     return (DecayedType.Internal*) ret;
 }
コード例 #19
0
 private static void* __CopyValue(DecayedType.__Internal native)
 {
     var ret = Marshal.AllocHGlobal(32);
     global::CppSharp.Parser.AST.DecayedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
     return ret.ToPointer();
 }
コード例 #20
0
ファイル: AST.cs プロジェクト: RainsSoft/CppSharp
 private DecayedType(DecayedType.Internal native)
     : this(__CopyValue(native))
 {
     __ownsNativeInstance = true;
     NativeToManagedMap[__Instance] = this;
 }
コード例 #21
0
ファイル: AST.cs プロジェクト: CSRedRat/CppSharp
 public static DecayedType __CreateInstance(DecayedType.Internal native, bool skipVTables = false)
 {
     return new DecayedType(native, skipVTables);
 }
コード例 #22
0
 public string VisitDecayedType(DecayedType decayed, TypeQualifiers quals)
 {
     return(decayed.Decayed.Visit(this));
 }
コード例 #23
0
 public bool VisitDecayedType(DecayedType decayed, TypeQualifiers quals)
 {
     return(false);
 }