public override AST.Type VisitMemberPointer(MemberPointerType type) { var _type = new CppSharp.AST.MemberPointerType(); VisitType(type, _type); _type.Pointee = VisitQualified(type.Pointee).Type; return(_type); }
public virtual bool VisitMemberPointerType(MemberPointerType member, TypeQualifiers quals) { if (!VisitType(member, quals)) { return(false); } return(member.QualifiedPointee.Visit(this)); }
public CSharpTypePrinterResult VisitMemberPointerType(MemberPointerType member, TypeQualifiers quals) { FunctionType functionType; if (member.IsPointerTo(out functionType)) { return(functionType.Visit(this, quals)); } throw new InvalidOperationException("A function pointer not pointing to a function type."); }
public override bool VisitMemberPointerType(MemberPointerType member, TypeQualifiers quals) { FunctionType functionType; if (!member.IsPointerTo(out functionType)) { Ignore(); return(false); } return(base.VisitMemberPointerType(member, quals)); }
public CSharpTypePrinterResult VisitMemberPointerType(MemberPointerType member, TypeQualifiers quals) { FunctionType functionType; if (member.IsPointerTo(out functionType)) { return(functionType.Visit(this, quals)); } // TODO: Non-function member pointer types are tricky to support. // Re-visit this. return(IntPtrType); }
public override bool VisitMemberPointerType(MemberPointerType member, TypeQualifiers quals) { FunctionType functionType; if (!member.IsPointerTo(out functionType)) { Ignore(); return false; } return base.VisitMemberPointerType(member, quals); }
public override TypePrinterResult VisitMemberPointerType( MemberPointerType member, TypeQualifiers quals) { return(member.QualifiedPointee.Visit(this)); }
protected MemberPointerType(MemberPointerType.Internal* native, bool skipVTables = false) : base((CppSharp.Parser.AST.Type.Internal*) null) { __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); }
private MemberPointerType(MemberPointerType.Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; }
internal MemberPointerType(MemberPointerType.Internal native) : this(__CopyValue(native)) { }
protected MemberPointerType(MemberPointerType.Internal* native, bool isInternalImpl = false) : base((CppSharp.Parser.AST.Type.Internal*) native) { }
private static MemberPointerType.Internal* __CopyValue(MemberPointerType.Internal native) { var ret = Marshal.AllocHGlobal(24); CppSharp.Parser.AST.MemberPointerType.Internal.cctor_2(ret, new global::System.IntPtr(&native)); return (MemberPointerType.Internal*) ret; }
public override TypePrinterResult VisitMemberPointerType(MemberPointerType member, TypeQualifiers quals) { return(string.Empty); }
public override bool VisitMemberPointerType(MemberPointerType member, TypeQualifiers quals) { return false; }
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(); }
public abstract TRet VisitMemberPointer(MemberPointerType type);
internal MemberPointerType(MemberPointerType.Internal native) : this(&native) { }
internal MemberPointerType(MemberPointerType.Internal* native) : this(new global::System.IntPtr(native)) { }
private MemberPointerType(MemberPointerType.Internal native) : this(__CopyValue(native)) { __ownsNativeInstance = true; }
public string VisitMemberPointerType(MemberPointerType member, TypeQualifiers quals) { return(string.Empty); }
public static MemberPointerType __CreateInstance(MemberPointerType.Internal native) { return new MemberPointerType(native); }
public virtual TypePrinterResult VisitMemberPointerType( MemberPointerType member, TypeQualifiers quals) { throw new NotImplementedException(); }
private MemberPointerType(MemberPointerType.Internal native) : this(__CopyValue(native)) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; }
public static MemberPointerType __CreateInstance(MemberPointerType.Internal native, bool skipVTables = false) { return new MemberPointerType(native, skipVTables); }
public string VisitMemberPointerType(MemberPointerType member, TypeQualifiers quals) { throw new NotImplementedException(); }
public string VisitMemberPointerType(MemberPointerType member, TypeQualifiers quals) { return(member.Pointee.Visit(this)); }
public override bool VisitMemberPointerType(MemberPointerType member, TypeQualifiers quals) { return(false); }
private static void* __CopyValue(MemberPointerType.__Internal native) { var ret = Marshal.AllocHGlobal(16); global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); }