public TypeSyntax PortType(CXType type) { if (type.kind == CXTypeKind.CXType_Pointer) return CommonTypes.IntPtrTypeSyntax; if (type.kind == CXTypeKind.CXType_ObjCObjectPointer) { type = type.GetPointee (); return SF.ParseTypeName (type.ToString ()); } if (type.kind == CXTypeKind.CXType_Void) return CommonTypes.VoidTypeSyntax; if (type.kind == CXTypeKind.CXType_Int) return CommonTypes.IntTypeSyntax; if (type.kind == CXTypeKind.CXType_Float) return CommonTypes.FloatTypeSyntax; if (type.kind == CXTypeKind.CXType_Double) return CommonTypes.DoubleTypeSyntax; return SF.ParseTypeName (Prettify (type)); }
string Prettify(CXType type) { if(type.kind == CXTypeKind.CXType_ObjCId) return idTypeName; string typeName = type.ToString (); if (type.kind == CXTypeKind.CXType_Typedef && typeName == "CGFloat") return "nfloat"; return type.ToString (); }