From 6b75e989339398793cd21fb2818b092db29b20f0 Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Sat, 3 May 2014 21:59:09 +0300 Subject: [PATCH 1/5] build: add linux premake5 binary Add linux premake binary for 32 and 64 bit Linuxes. premake5-linux script does a naive 32/64 bit test, and runs the appropriate binary. Signed-off-by: Tomi Valkeinen --- build/premake5-linux | 8 ++++++++ build/premake5-linux-32 | Bin 0 -> 350236 bytes build/premake5-linux-64 | Bin 0 -> 359776 bytes 3 files changed, 8 insertions(+) create mode 100755 build/premake5-linux create mode 100755 build/premake5-linux-32 create mode 100755 build/premake5-linux-64 diff --git a/build/premake5-linux b/build/premake5-linux new file mode 100755 index 00000000..49777842 --- /dev/null +++ b/build/premake5-linux @@ -0,0 +1,8 @@ +#!/bin/sh + +if [ $(uname -m) = "x86_64" ]; then + ./premake5-linux-64 $* +else + ./premake5-linux-32 $* +fi + diff --git a/build/premake5-linux-32 b/build/premake5-linux-32 new file mode 100755 index 0000000000000000000000000000000000000000..57a5c927f22a5daf6d838859466e20779bc0bd2f GIT binary patch literal 350236 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⁢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�yBnz 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 P8fA u^VWT%gV{^qtNBU!p9lGr`1<(Yh3ny8%ZJEZFgo#NFTx%6ujNA+`S~Y2%+^W( literal 0 HcmV?d00001 diff --git a/build/premake5-linux-64 b/build/premake5-linux-64 new file mode 100755 index 0000000000000000000000000000000000000000..ec0a205e79e4324b4884e54ab8a9f36b87739850 GIT binary patch literal 359776 zcmc${eOy%4_CJ1j(m~M~jS?R!G%UgCW@wMhB$(f2naKRWr~fIr-`zs zd#ihId3(6G`t)FR^BT7ZL`AKPH0{9(w5M~NRJ2mka(?f%_CCY0>-;|7-|PFwZ|rc+ zT6^ua*Is+=wby<)r`4I+6Cxub6!RCU+^7%~%ycqJ{8g0s%VQX(KTc(o5{thBl>SN= zz?9;|ML(x}GVdLdwRyJ*G9?Q4Xk4Qr1!7dBlON3c0D(ps;%7=o_fAPD%}IaobMoJx zi$$t=SCmA?Q$CWleW^%qUs}L;^Pba{L8VIG&3q&t<+GKDe6|vi&%C!w!OXi^KdKvD zGi3c{L^=Tx?4+BL!GAmNL`%P%?>r0X*>*x;Y$pVzc^_~AlPTui%r_1BNY4M$pFkTsQLS;)TPCi%Psz!>UGIH|)BR!z)UMkKlR}f1;gu(@ZYO z)MEl5k~tn1*#M;|+mo{9z&l5Fn=Nuo>yts%@H(c{CscxB}RNHJ1 zw~dN+JQHn;imkTYeQ?eE&G{u$JTW;hBqm+$=zD+Ss!7A2YPme;OIuWCl5Ne4!zQ`@ zabe{8o{r0_A_hjRt?BJsGc96(EvZW%+l>d4A_qD?SU)K7*UJ(W=k$A~*=#p=8_*@y zcjemX#K_DpiE3ictjn&lwQP!s&xQyr&vM)=aaG~E6W2;y^t%h!DqMHtx(C<2xU9eX z0o3Ap0M~k%@G$O=;Cc+#pCyiNPvH8ig#U*7)AIQl+@Htw4_q(cdJ)&lxL(2a$KR_! zY?R11aDNlmzi@5FRfp>xT=c8Q)qtxJ7yY)0o3b7E9k_Pl+J)r;MGlrM1qQa*o$``7ZBZf&>@;`#>H_qgb%<2sD%D6V!~$8nv&^%Jg> zxPHY&ztgyW!}U7>_?@LcFf?*u(YRu8#o{u5-Q{x+dG9Un7vLU`>mmvF#l0V{{;jq@&jziYoyY46|qNZ?-!<3E1= z=0O{i68g^Ax_{u=8Oy&o7<2iVJMKyyvg+4Q6P}9ve%+_r2Hy15juC}DEB4jj9GNmX z@}f=e+1?*E_wCx_J?+POryblp{9oTLugp2{;WtmMbDc`PxZw0>7pHU|S2#1@(f7jN z8{%GBS^UsDYZBWx_L}+^BRPA-(&w9YJ)4*IW{-{UT{?PAV)cS=pG$=8|TQcWJw;w0;-nV+n{-NJIxnuOjlOw0Ra7%FS8_oUae^9l0!CRkg zyRvQP(So!S{sEKz=gG-MZ}q?L+r8T^zIfu*feFjL>fQQu)4gN8cT{ejQlb?>*M@oqbPFzUAT9_x9_d-_Z6{@sd97z}1hmePDZd`O&P{t9ETj&)oN8 zkN87Rwah*+<@Mn!3+Bzm^Wgpi(;)Q#&($f#%Ma3w7tg`FI&0#`+-x3v z4E<|iDt$8pF;fzc&n@*_~T*l z&0+Abhtb2;VdTjTQ?Kb^_|tfGK0W_C3_Xqa=c9kG%lYvXJDrz44FA6(C_5kh!Z3U? z!^lsu$ocq;2~#e`&F7M4~e+`_&X3r51Yd9xdRN&S8iSyK97f?KNN<( zBnk$YNewf=yppwOZ6(y~kz$dMDF(yso z103)5P%gjS$r!NZ-!(Qt|CeV4J^5w&rEr|nL#dwSWH^uiD$1>r&%;ul8zlZS9^ZQ? zM0g)SULx_^xV}A<18su73-n9B$0YrVsZNH)U#ve!{-dQlgEj=-Dk7|HVywEJ_SUZ$LpQa^*I3;GPfM)^eQ zXNj~2(|#_NcJ=D5g8phre<$?aOX;hqUcnh;{97*h#L03?B)+GVGdbVMn3WQLwUp

)iRe_u%b+a4G4--z<)_o$R7RqEfA^RVPU^d%?LO@m$1?;hDMA53#HJdFP;N|BUv zceTK0NdCJdpCYNB8IpdqEY~jk*ZmUjmGU2WM(|0L_?IQ0zsY(Hm-y{c9;HCgUn}u% zOa9N!5crW2|B$qY5q}YSFzeea>HkzK@P{P*8Y$01l8@=rM#*vy$#$gq2K^GGp6AMb zMDYs!vL*h;*-nP1@?S+6Chh9NxdLy}UmGdx!TAS!ct+}>MbdjEpPf?wKNkx=c@jTJ z%K50IA0zRq)PuQCAkoU>lFwS%z8A`bmnHr&x05l25}zvhOn5@*ZF7W3xJ}Z(FWZaa zWBN^#{Z4t-$uQKyKab?|^&}_53s8Uh-74jOSK7}+fmRx1yUdX7GC<q~9R*pYsR(Unkq~ZRv+$HvH==`ClQ+O_cbrCI8YW!QUhG z6D#Q-{=2~6CGnNAeeb#1$sF#LeCA0zIpY@iN{RowwA=DW1)onOpI9kp^(FikE#F5C7(~O74$Ju|H~!*mD>cpIi5Z(`CMBd@Cy|2E0paxQR?9ei9ag!@TqLC zc!~GRdVO@elQH`xzDDx-QnuGji9ap*>|Z44Dc+^uGty2@2DvG?eh8cLO)9+qcq9qidll*tk+u-|ER3j#ge{G@_)8a z(2tgQ+Sa1DVrw@^Kb#alv_mT9wC7Mqfevs^^xl5glc`HIBBuV{O$^K%O^f|KJ=a&e2P2w+*d`?RHStao&q0e55 zU1@t>lv``^k@9Sj*QGqeWIGO&_)J;fOzHoxl=vjcXVJ4x#+dEZMYems^sARi`dcJ^o{UQe zOMH!#Ga&nm>4(#0JG!Kwe^b(bB<=05eo?OnB>rcK|75C@F=l;lm+kVal&80(Uxae0 zT@q!xpgR0}Uh>%}=}mvT6nN@ii>05Goh|VbWWTuSY0>Vw#Am>+5>f7kiUNrdx4%n!E0uOTPNse*>s$VZdOarP=_lh@ z)1GgX?RcwfM{}HYNIpIP5dZ%o@n6We$n;BFCI3~j-(4@|87$lV&jn7#td;n&QV*l= z7xi5z@$s^K|MYi3Z}NXf;;)qSy(Il)DNnSN-)!I65`VYskM~RZ`(=A=%oO~mO8gU2 z|4+z%VV3)i^bf;jKfOTGS4#P>+aTnp^>O;GgFbtqy*A4BqIER-9hT)@E#(|0(8@n# zxzFW08Ph279g;p;jti!pyeR9{L)uk8Nk37_6C>w|LnQw1QvR=`ouE1R*CFlabLs!D zlK4-gJ@k0T$ry87>mv2PY_GtlOM17IKX#G87fXDHq|cT8(e&HnQ7-kPKiczDDbFot zJTLY3fyCb@$8o>p|GF%gTw1zN$@k=!j8KY87p11qUnReysDzPCB7FVoTiod001tqu@l$V1G=-i@;g@wglD#26kE?c1#R26xY!jh%=9`|CUydZz! z!Xgw|;3+P3=cCRQ<@qHGl|p8P93}3hWt6kry|^6ufNmDuzO*dQy?BYjWmD!tPeE}p z5tR`CJkpnY36bO#=A)7*qZrJI-n|553!#Fg1xtw`@{}zoU!r(Qi%TmD%28jc0kDOh zA{;4Nx&%!k%J)E-i9EvBH0J zb61p=KsM;6q!iU~=X;7uOO(P2>~OO*D8^k}kY5f0B@gOAEkRybR$f%%DdhS>@=`BU zSLQ`od3i+@rS7z}yuu21ehCBtwn8Zs?ZFayiVy~e3b0gtg5UN~WU@EADIF^ax3M!IC^mX$4V|{y3Mr!kbrE zRD#-h^GO?dMWytJf(qQQ7nmM{kit`n-hvdUqQq0M2=)b5^-FmN=socB_cPvPVv$LPd*bun-vA+3(@yQVtzTw<}L|g%Fq?v z)NWoBx4>Ie>?wkWahDgB!G5?N+@PCfT}4fgs1!k6{W>q^a{>vI%qC~ zszAO@BuOJ+-Lp9@ELh-O#DpRBBS&FKvy0%#sK1pL!RAVrmXXI1HO*U`4>wEIC@!d| z@GKU_!IGK=h(s;~-d9i-RdiO0DLsq18xxn(1-BQ&9h!NhI?+a`pSzOVS!&Z%R7kLe z1;y|rqK0L#1@u>RF_sOLVYeh&j?8g+elg|?R3bsvWlsE-5K~T zFDS2|v5eJCT~#_ehAmzZHR#lY#hJpFiawO@Da$V@atlVBkwzv~1N8uECsGN?Q(UxY zvB%md)RLWMCC$>yE-DYYBEz6IuD}S3u!Go$9xDo4RN-YeEO=Y|Mp1>k&|Bg*-A{HN z!WCw-=$B?h{ly=I(P62TqDTb8Z z*?&4mj-rZl6z(bQRE;SXOchlC6XsWju`qv8XU{I7h?DvxhR=nvU&|^KR28^G-jX_A zr;?dfsApxfc%jkE9U7y!@|}i_=!+s0Qt?A7Ktx$6I2KLu8trl4s`;TeEe@LeJ#^1T}`c)QcezoXCw>I;W5w$M{2 zt}~4!6jH{9%B9?bR?x*r4wx|WlgZJhMB-nR67hfWFZ%yO-v5pEe@p+rk@NrWyma(C zg3q!$&0Oj>kw)qCd+4D*VJ07|JdFH=i!Um| z5<*wyZxZgqa2MsD5*Fn}Ge4sD^riBnl-FhY1xz2QybG9q9i?JD4Ta!Mo6euPzd-9G zFLt6s`?-XF#DX{Xl?eZ~1)qT7kA7IbK;1iki59%MR!FJI7Cc$9`Af0ju~ZTIjk4gW zZ1d-|;HhrrPqpAlCi9nL!DDGD^qXzLLy@81d=$U=rirV!@kh)|C921#hll5x&iW?@tK%(=B*&O`nq5 zEqHV9itrs4{3V1if6F@C%UlblB%1}FXwu^Du;2$;@Cg?DAPYXxg1^jyPqyHbEcg@) zey{~U%7VY#f_GZ*S6J|>1)pre=UDJVEcn?L{FN5`d<))OYo_GI7W`Ef`Z5cCm<3;D z!4J3Kt1bAeE%TkzLe z@C_FH^%ndN3x1RZ-(tb1S@54(@HbfSZ5F(_HciR81wY0@-)_N=wctA}c&q=%Di~9d zzcTk!2w}6}orI7-hXwC4k+>&V@Z&A`L<`Bg@aA41C0ASU=H3k9 z*IDp6gpj}W7W_05iTmRg{B#R`g9V>!!M|X^&#>S(TJSS1_{|pl%@%xv1wYGz-(kU< zdpVTcV!_{Hq5sT+pJTzdS@3f$c-?}()q-!g;LSY`O75`W^DOjO&u56*alQp_v*7bB zc!veQz=BV(;N2E{q6NRuf={;Kg#;oo#ey%i(2ug<7g_L53x2T$uUha$7JQBczr=!{ zZNV2?@bfMBr4~HaCm15Vm00j)7JR7%UuD6US@6{s{4xuEodsWR!LPUAD=hfOEqIRw zuljzpss5On)WM2c)8L8Gzll;5)wk8wWFf+1@Y-^a1P6QY*M6xJPXx0@jkX|ugKsC8 zLR+JS;ROU!NNY4OJcnQ~SB#AePbZi{SYrdjlL(F>cs;}838s+MsAl*Ef=Qi58N(w8 zwh=s^;VTKI(A3Cbco4x9k{V8i`w`ro;1q^?6HKA0k;rg2f+-|591KSiOrfZuFnl@% zFomE-`&l3cpCFh*Pos_D!vs^vX|ynWh+qmejRuClAecf-VuE2@MCscN0vZprJ5)2f-8q8tuPR{mThXB)E;?+X<$S&uC$I0l^gN84V22 zA^0+aH!?h(U<&Pw4Gd2rcrd~186HnCg>ptU!#5Co1;J$uk03ai;Q0(+N$?PYa~K{( zFokM{li_{@Q;24yFx;D93eAi}hPx3=A(`P|IFeur#SDev(^mtg5X@-*joY7K3cZXr zh7S`=A(zp@@F9XJ)G`_v{(@i%v5buj?;)5%D`Nx0y9lO`%2?0v7J@01GO8J_BbY)c zqm1D<2&T}jF&Y@2LvT958yTKXFoib828JgQ zoJsI{hQ||3p^Q<@@C^h{B)E*>5d^CQ&u92bg0l$DVR#V16sj0bhWimrA&Qa0aBqSs zG%*qx?nW?$B!+|GNP;O8F%*VR4+l&kh|zwU+n-_Rsu`{$m_i7njNvy3rqIEd&+tnGQ^;WC zF#HU`6e<`_hMy#uLIfj);fD#P(7;G!_&$Q?5$s_2Zh|R9FcgOGAece}qy1NIe}d-| z+{W?U|4!_x_-A>Y`*@Faq1&@|RFJf2`0;*DyCZyqYHpwd zWomOHy{DiyH`8$?eI4xbXZxkqkU`lz5gTta)nT+=rTRL0s@ivzk@K21QyLBIKhJxQ zl7ej}JwYaYV@DL|Rc(vfczB!|(V~9b;YH>;k$Dd?tJ-#v|B%dIJ@$3zNAdQWiJbZ> zC}iIDn5Te>_^FBF1JyTn)Drhcpcjsokb_<9Of zsAb|YD*JW^>9GXapuK^qdnBT@JJB42J}B>U^o*JYm;KSL8G`p56gy|`ybP_)b*pP$ zlj~*@jHE(#5=?&~7Q8!Ryt#s(>m4dtR}hC}Y1^ix{aCpwLpvnPib8ZDWquP{s;6Pt zrEMpi2?sv;GFGyQabZXoG!ILm)D>!6a&O&8km;aIy|0J#0Hc-+~yWJ_*M;n~|s}%}&xX z=?xXozd*o&f``;!3jz}KY1FKqUXlWkx<~&XD7&79Q%cK1{kT#9GE-0L4`I@7kUwo*UbNljG*c|VZX zQIIT6KnYbtpI{QZP=|OTJ`w|B(!M0#3+2kkz90q(ktVP_dIN~F{3}sRP0({m{S9az z{om+7@JSA?92p`MLN~KfvVzU}I^;9HhP{|beK|0`yP}m<7pVSBo9e5wDIS|kX7$~L zJ|FE0W=3ZPw;Q=+XTGfoY@nuLx$?-gNPu%qD_Ji`GlhEL=dhfRUMbKw1<2C2>hu++ z`u!gZ8yij8NN!TfGsq^DkZfu!OLUrdk;&z|QStPeQuD1R&gGvF4Z~l%1zGEUYj7#` zM?VvW8ASg9k2>FnqJU$7kwt|KKn__Ldd#|vr2ZN9O*&k+&6PF*CJ866WV4n{d&z>~ zPKjFO0FA?yHZj`%z~!J({l!TRweh={tf*4Vzr1Lblb*%CyBvzAYxT;c{)%@7RVJTm zV4BVjc0KIEo`dH%)qy4+pdW(GP;Qhmz!Nt*GoH;e!=7=NYWNq(Y&?WNsV9vma6?_Z z-H88ER3~tg@2+^o)6TvEedlnt_C2M&2;UZnCohq${h;6fOQ)AW2jAj)mlV!g4`i95 z=yM@PNZ$SEFXTI=3u|Xz>De3V{=-4+_r?dhrJf`Soc2ezt3ha~=A?b?ZWs=n(Mdws zfT(!_2x_(NnKegvM6qYIlavRcA+|1Zw#KQnpD3NYKGdK2~ED$ zwl3cJs=sS>RX4?RMa{`ox%N$J_q5%sCkJ<{?vtu-d!*X4oVZ;`6sH41Qhhw5ucXi9Bp^52XyuQU2A#n2`P zrX1ZZoF4{Tc)VXQbyxi}$#7LICsFn13P$OU=J7VT0!6LO0R~wAOk1-vL6`zi{t8Fx z9<_FYL-id6LAv9Xx$}%yi=pt7t1dx}6G%L+!;F-6b@VL9=9I0lW&8LoO>52`hncU8 zQ{CHnM2(v00PYxYp2Rh0+v(n8%~|RS-cf2T>uzGA8nXe?K#kC9rz)H8T@NhW0V;6s zI=a>Jjp^!$#gG$%+{WeGH?8QNc6#+in~zXZyZSgZ1yy5Mug!?CQ7+UB!ORT?yy~Bddhb$)&Pq@lPe-c}ht)NwndSzlAXW9x8l|-p z=f~9{yVSHTt7G)J3rX3z$*QJ{il;l&wDFFLXjL2UU>m~7-K3_S^4y@h5egymkcp1e zhO{lKhGhGpYOPTXHmHpUqt&RXjw!XOBU`)4k?oK5XW6D`HkYQ_0(+bM6XzFd6Xv5b zv(TP*KhDZ|gKkZ^s9+)uqkgqaO;fANWAt~{knURb&EK+YC?gUrPfkYlr8^vRg-(W| zJsUfs$p+mgtFGXNjjBvweWkTm^b%Gw%hBwloJs)wx6;w12GPJU;|M%+?9qmSmrV?+ zRnuB3?5ZCH=Cu2BY|wPzTh(_Ma4t$^^4FPsGEk(z@ zXEIM;3%8RKVxv7gxZXj^_APNZW}}_Cin}qhWsUf4WYt_ozOz9O`VPE7^e@$W;21W~Le-jdA80XLRl&E!!PBJfA@5>;Y>U>?#9@=0 zcxlaSXYfE#9w_d6y(%$+A~pMC6n)W1*`(hC2jSDBd>s+?KM}S`PexX>k?(XQ#vI@2 zuJ%W_#I{h1YlaIkFV`d*G#TW$w~;xW#Q31D`JE;2BWqxvE8D8yA3^6pi&Z6j`9vD9;7Z7sacYmkO25YVbs#ushJA&>EA{Je^5lvP{}f zkb1hFQ0-SK6x<3Ge~O{Vui8@g)a>;14DNg*!i#6$DA`;j{m*dN`&hC616nYR_KZUS zO}b4&lObrbt2IYF8LA8+12@3p(BEapW^-#pD8%Y))eFId=(|&o^G}C-@c9^yFi@Bw zcN0qdJ$ITunn<-Kn47O7+H=F|uD*^a&!E5!m^65L`Z~IL(LJKj9})xTGNbjI@gY6c z-4Ym}YG0#$^?Oid)T@DtA~FZ~?@_fDa&3AmVqUh;o+zA0Ka7sfL>jB~CZq`?^Ynm? zu@OVQWOyKj37!#|ZC*^m7&BA!b6umHs;zd~S>Nd{l?lP5ee=;HKor0%v{gHbk?ASe zG|eo)Y@+F<$icIBC)^2pFU%z9<7QCGM2DjZEq3L0NljQH5Gic$)ZR$#)Oa6Nn?WJ; z$RvI7O7f)y(In5m1f{g<8@{3F)`kcW{x%b=;9bcWNT!;TSz3oT#>nHL`4m~n&ftkx zv$baR)W>S=w4kvLDP#>O7VUTbVvpZxEfy1b6g$`0v{6ww=b9heQ1;pelGCYb*-2_P zBDb7uJk9ppU>}l^G~YfXJE_b*o5%&$!W+fv1!}o2o@LyF~26BOtAYkR8CN zPm((&^P$jF7z3rKS_*I+8nNjJ+$i9993{yKucmEA)f6$&74H8d$j+it__cj5nz~)p zJ~sB?<0m|8XAeMau0Kzd+A&N$$Tnah+R+oQqQ=rdbk{*hM3vSKiSSv~qLXO4KnAC; z0YlT`#QF}qmK?KqKLV{~?fS?_kWmOIN25vY7>Y2e3Qv@yCo=sg?WpdFIG55oZc$G^ ze;>IJrWdD?b!4tU=ncS61|oaNL`?nALqs%pZVzE;pTP`3b<;2ur*MdVCVkhHs^f-2QLif2~2d_btzF)g~y7_*!c@liTcJU$#AhrpJ zgM=)RaBhTBtNhi~RD#w`8*dAA1py$TSQ)aM{h1n+f@o?`wRRE(EQxv?>wk$Oku2Ku z?A)#&Qik)jD`K8gd(_}AeNiiwh{-&Hkx=WJEvwe5?fR?umKlc?@F${mQ3$K7l*NGq z@~1!|GM?I*ZF+k&HQvm23Y=zkAaEkq9Os~(&i0ee*eFkLTA=ETT)wTMdQt_bJ4p6a z0cug*hGMe)ZU?m})tpM(rq4lpW&uUzxNr|w63y^BOS(grM9$G-s?YyKik*yJ=v&c& zXh`*=tGHF0@7EYlS8Bg20tnJDi^W(o&Ec6u!5T(Ke+qLR4XN}*a1J0a4-pM!qDxI8 zTBg!Jtpt&lZHkfBOwRuxc(#X(!YkxGzvD&+}!rh7o>`^L~ucg+1f5+ zom;wsCi|v|-I`|l&UWRHNA>3=+VA}{nnybsO#0<<3Lcu%d6O?deWMEV+p^S#z@2)k z7tQhuqZ;*Yf!pb6a1h}^AdivmJs5GiVX{&gs}5C{Nq|S_Z=jdo_b5a3HxPxepPD~M|8**sP#We42lg=9Nf;QqTPuwn z`fI=Pibq%W^??{R9at^qtiInPsM)8lO5>5#uVNVG3E+P!NHkc>(A)$Jqf3s!bX#dg z8{DP(wmEcrKPWw7i6f9ybHtmd`b*IT>uEtk-~GjZM>I6Cp_L>Ae-xxRG2nNRkC+eg z7@h-MnS-LuU${5@L7t%`4|>2mN69gowX2YW>b*$cR|O zMwy%S2Z;}c1T0Eq(^x~JTPh~ZG|^JE@^)=f2d{6ix3NqdV1tSJ)sj~NhtbXC)y7GF z@HSvY4xVPE6k32ks+Q_6@6eXncs_V}Xg&y=luk}WNEn#)V%9vKV8g<%s{RRZP7NNo zfJn7@f*4)=T`2mUsn(Vzq&7&6^-+f$_ViKxt5Joc`Vx#}!F0r)L)n%{A)RrP=<52# zt#DbR^aAg`ShPc!rbb|E2&%7N`VXEeZwFh_VXHolEDZ|UOe;b> z0_4CC?+)tI*(;Atyl^nutg&ttGV+QXCfe_OOA+@RSOfa;DVqQ8HWq&q4Cd(NUyBsi zOt9eL@b}#RP((F7+rJ1)8b9deV2j0k?P~z1_UmqPw=-?p$3s5HAiX*!D{b5I*kDsu z#J04(E5BeWJpr?MECvtxEZBg>beN&o{t$yLmRwcsCr^Ac$&bE`Fozbd@df?BDAm8p zrso~xb?714wQjWIWLuq*DAyKAoHZoy9yAOE?pgNCPiRUr7h6&-7z?RIpqpyAw1t?G z4^E~MpxP?v0KJ43AcvE?+X&r|E~kovM|3}fqWixl zRfC+OdU7@PAulIw;QPO1bpH-V_o1j=`-Mz`6h^gz#Uom$=)(aF?r|wHB|$%NR(3q@ zwykfl>186hy4fzfh5(42Ox41 zQ?xdeb28K{k5R>tK&=qR4UAS8@D-5M3KS5@nJ8d*0Fo?1{$wq;Yf za`dM_9BlCR7D}!gL%io1MPN>&n59YeCBo->`|@TN`$XYArx0KEo`N|vhwVVjS${)I zeTWL}MLE}@oSKH!gK7QcTD9hY=K?Xohj5s}VS*pr35NnNIYkLvcncQEumSP|6wNNo z@Ic5p*nc)X+AM^)S=vWp=ZfMvQkyHs6PvnIzYDa1uGr-qhX*tlHu3#qj=3N(ZMkLR z9^9sRHfUSxCkyl3g@KRs!s8yVi_x~NE6b;tEgQXI5C;c9@cTEFU$N+dR;{NFcV0H_jPv+Nj)#<|KgOoEswe78)`B&_ zXHbYqik37Z<^;XsIMvCMBV8PI^H67d5#2;~uyp3=?PJkPw+iG_0!XCjX z+7F`sSwoIxYp3-9v>&R{v#=bgg|T1>OPfk|MP5OF_XnIGs2-CvoShBOE_>!a>_Y8E z9x#$h{VO%5nPorfT#trhm+}NO92g|Iw<3ksBs(3jUi+Sd{ivHd+GyEf?}^eOIo)3VdP^9;;R8(PlvZ&Bs2 zY8>2#4W$TGyWqZ=!F7(n7iKtzRZ^Nep8Bul(Z3-h%digvlfMFC{+$jz2Daav&TDlL zfDB*TO*yHp_py^!wNGav+fN9gk|CQVep{PF!lpLB=n?QFWNQnP926s<-4(d(?AjG* zh3F)5si|gQ{g^-KNoKeH(vP!#A~*am|`Sg>!k>q>dk=%re-|vq3Pw@)D`>}&>9p)G<1Fm z^U)Zpl$zF9iN*R)e|k>Z&oMEAMMUWrBW4c_qZ-vhcWBEVCW*cTN&a*jqHFxwA)0qI zlr3GcT8rH>ZI#2Ev}j$>{}6_Xz#o31=>eABB0dP#E5j*@dGRi$IP|c~Acg?XaMq408myi` z_ghd3BWaR=!DKg*=)rOri`#6?kBMlG^BA4J4kaO4AW==D^Cs5O4d4Ck7zrqH69sRx2DUz8&Bax$iJ(qY)e`QZ+5#D}O$RkqHWf(Gz z2OvALVrI+SUt>-|?~i8nRQMnVX6u`fzg;GFp}8N*4j?d9pMPr}TOr1=VS1Y;?BnqJNrUG@KWCsUCbos62r>}0&L z7h1Zi_vDcjhx92V1!BIYa4t#JjvI|AE;se$dn!cNtGA=;Q5!U&S6#xDY1U`Afem6i zv7qx1LzpzoHT>CP*GAunc1A~J_vl1N;lVt#5IGb%ap?xz& ze+-k2K(7$^F{set4nUoZ)0Y7uhh+9=D_RkA&gG)yKK1>m3dotLe)3AxX8}5*6ehP$ zENh+-+!m2r0Bbs9pkpcpjV<{H)GWd8$5r=I}~|C=XV}}7$Ko!q4AmqKE~$l z0gn0zFp-m%|6=nk+*e41M}%61aQ6rRK}Y{iA!c%s)G2fHe_|AaDrJ>ggWE*Dhl!*6 z7b^G={0%vIsl2bD2eH-SSYMJY6!wJ?uRPUTAF|BeC7gB^?U|;X4Kvl0mm-uk(qi# zFM-BfwHd>d^xF8VGt%1b>TRZGVRn~;)Ib|1b+pqZ$2ATWawXLn{WMMIO_e_(nhOgR z&xt354EhrEQ)zN?t4IF@@|fkI;tN2G;{o1eELNF1&O{SbkGjkoj~!O1$Nh^=+F(9` z(IKjdFqWEzjM{}UN>yx{4&7wfr+$}N^X=;1b?;l97Ofv>dd848F?Pq z-U-*Q1v3m#XbSJhPzn7|zYq`sLFokIiJ+2Y_ym#H# zB#YVZGsxZ3&I8ZQ_4ywmq8q)C;;L<)>3TkmLfBTKRi67I?VH+9W-NAs)sd#B`?0dji8z0E81~Lqkbr z&^-E#NqITIng(s#ir#hCStV{^@nqn(=qg?k>|Hm_O7e;zsh{<(SZj4(6FQ3fI_iTl z&yK#7Cu*$MqwiDbd(Pr&=1w5jY^7RZ5vbFBvsa4||i~#SD`0KeK&y69( zzfp5@g(TT~IknUQv~6he*6VW%@E43N*l8LSN*yfN^{Rg;)J|O>H%4gg zYjcc{1)tG-lhK;(86yB5Kbb;zf-{oQ-7kSSW_PEz1$f($n)hb??58lC4_<`f$fL;= zb>)LTBkhR&K|i!4hrZ#ch48yccoJUIY|%`rl==R`rBH`lTDXY4;5Jmu^n%8f7#^@y zwW^ouzqanTB;`Gvu2uB59mwOq_C+8tM}n8T6o`-l7C}a%n6%-)_8!VZjzWJKB<%mN z>xtDoEaKF)qa?1DF!B3gEumH_L9mi~lI13)K8y%l)~pgKu$*q8lU6s%guR^LNhBTf z7`_UEP?abW=jdjhkqRZ(cZ2?bMi-lmv3$GJ&+1)td)_ZV-gIM4RAfot0d`z<{pu8F|$ ztJ#eK9JjlY-Q*<5G9c>~Sv<^W$?hUF5T4No(RE0x84iU^MR@jUe@BxA-KxImgZBQ+q!9y9Nn&E&SF zo-$3p2S(1*791?7yU%QQl%+dS4Jp~3@I^T1414j9+(s4BhrkJRju<=@5d5wqe$+*_ z>CcF&iGy4J1`GE3X7BQ%3D9O&gnH;B7=%K7{!8QyS=#{F6TU>aF=wu(qr2DrjYOp; zu93{95ZK;%WW)J!rHXQ-N>)E^B{@Fv#s5+DCKcn@y zF-aMJh9?iq3-OqZJn)n8bX=;tpi~p{8N;R@`t_rJX1TgKc0;i0mdP z-UP_@E(K?hVf?+4pA2mC)$gPHJXEO29jbAsV;>9qF}dj9@dzZ|q`3_21HI1;@?0=) z)49t`XY@1Fk7OUv%h9?}$Q3BF?n}}lbs6-QYlNASNQd6TzF2C5@u28sbB)7@esf_d z*s+o`{uq;byPkkJZf%TnsJIXe|`T$@t}rUIP)RwnwS9G$iV`3zt-c7b44%K|X8S8~W~dVT^r!UfFVP)w>R$EF!`rw^vc0huoxwK>P;a5{HYztp#;8B-I>lTe|!?Zh7*Af&1V?tH4_&d8i-oepHle*VXu?v zc*CPRmi4Km$8bi=pXtN~hBnjLxs1rKMD6!SuW!_Q4kLZ|I)a{Pyx|o==c4es)PB5N zQyag2)kXeEzp1t3fAbw2SN*mVuYSOxWNpE#+%3Fo`P)ov4f@UmJ(p+suSyb&&;NmS z`4wN=I9i?UEpUF|w5Gs5%qC)l58wz<^^eo`>i1CwymFxJ_I*FjcecORx#mm|)%IMX z?P@&SCvC6i!p3j9tT{NY0q@9s(?G5Exn>Joh*YD`nnOy%YNhdD7vHXavAZ+}+b4P% z1=+N3Ny1&CeO*TkDLz?;!tffkqJ6EOL_dH~Us3C0LnaezB4Q&_#7~slHI4F*lo{xR z04?iNnBv0v@EGvI>VbC182P{8#%c zN4c~X{Z7(BW=>jqN^|-sJO@|exRw{k74O7p^qD!Xx8G+g0_W9l^C9Zb%c(w@XsX;4 zym*Q;VOOp9XU+fv&Y3K8&iL<~Pm7$%GG}szmbBiVoThG9r zXzg93QyScWIPK2!uxCvIe-~dz4@|kqYu#iEZfQK!Qy4FwOstJt=Z}C(st(3((RwxE zn+0AR>g!5mI4`84ohR6`Yoph={K{Y$ffBpLrQxN52{s-~{jAl{}{ zB5>fb3*Nh>S0BM>7A()1ta;Y|)}*!I4Zj3eV_Q#GYcCEVT_NJhBY0Wunm)ypw?!u`OP2U(i&WF9WDev-s=cx)VpNjP59PF2dA*%c?}^NGb)YtIfVBh%>g@367zrBaP}Bi0(|7aQarRQJ^*W$@{TXyEzt@rBUmBm0 zcGSLh6Dy`wU+^o(k#>1zAeTYULKh+x;z5IBt4^xIGB`Y6>Q0`Kwz_y^;+kveBlRJW z3|<}tAcw@fZve^=fei#=ft=Q%iXcp&tIPLcFjG60;jc)+%iNh-M}~F~*)cq1XcZ&% zMSi(30!91lsPGF%S!BJ@f^I0 zT9sl5va_`i3A^p&1pO1@(48SxOqWDWP1tbaw6cvmypzVq+Ega8VJBtZASWH@2Jy#op)u7TM1(5#9cqa#ix=g^s*Sc^ zM=%s@j-quwEj>;g)Ce7;`#{!pFS&Z(4XDnCB((1iN6=og1&_Wo;NHeV7J@QDzJh00 zZRXGDKDo9NF1rJ#AK(#|546u}2=vA((#M7Nv ze(T4916X$YIIs_SK)K_NNY5=N?6-X!*xHFui48Ji(t^KnNl0(hXaAcIwh`pugj*WH zt|f3k5$jJP3=Y&FDJJEz2*o~Yi{VApu@V&TS%Sa4Jq5hzcTDdu`iZoK9)L2^+R-m? z5KfrKcc*xPFwj$G*aui9?ZRWG)}EpLn!1NO<1u|NSvz|yxUN79jsXRp6K+#{jD zxeuQHeY~a7fwqFgdL;7uXU40w74ZR_o8PS;rw%_8Gl2>|OWqE%d|Uc&=;){CjX3Zl z!e`*(eWSa3XIfn;MrV$rFZAAs4o&W|3Jk0iwDSo}y!VPhO_Y#Z*!Ko?OBE)x&8tUqx zvZS|B61!p&8h%(W>L9tf3UB_*VrFV>JT0m3FZ28xH32oLz*r8UrN8-Uy8aSba+FVx zq?FgbRKV+~P~bwjWWWMFj3zb(atMLG{D}m@Cwz|SgIS<>lmQ=)@rz3Af*u5C z>&0tCaI~JDIDSl=5bUf$3d=2prXk38mJTTmAPzJ($h&xT5(qM6#WT75GT+%qd(H2x z_x<`;)HJnxGVP0ceC$hTtk?BSO6> zTK@>-H%HMlAaILpqb(;;w`{Ae9OLtC{!9$pR57xZv1|yeuzNv|s0mhwPIdtocuaqQ z^kh0wG$safM`#I#zr1^LC zOsT{e+r?f(qY_n7ffz7N7%;s&X=4-3g_N*I4_?NP_2Q)Xe*G92yKuxWjv{rUtEZ7P za6P3}$uz18R@CV5V&D==$TJgwr8O?%dA4>Tr+CN2WLKko!=24 zKXumkD<3(Q{VpX>Y7si)HoF_AW)8o@fNkH{iG&0!8Ty zJY97I8@YiPedsQf37RkIC?u-69&h*KT6~>%FfwhL&Y>_yDoq4oNr^ z#;bjy!&GF)RuenMUtl_dX7Yd23>GvrI-j8vx@kX6!;6^a`lJK( z3msiP{x({shv}m9IDm8-hlWU5;AfCCho#o1;ZbTv9!0@nT?Z;;+3Z`(2N!WN7{|S_ z`grX_Ut<$^0~~^W>P6_>e_<66^{1gu>X%Xf0~{KzSN+Q%AxtVTP)k2>@c)&0;pFWA z@uJTv{TlEvU)Z2S@N7Nw+6KPM@b(*2%IBZ58IH*I555Q`g|@m!!b~_qYt~CxkZVtU zWo}RRKsb+41AD+?k7nLhmf;-%J-Qk0Vg$60qX<-4Hc@IORto7DC-%RF;@}LteGqxb z7UpF764OU08fg0Ad?C#vEXSLmLE7!$8TC18q*D**r;ngu^fjJdV{(^6|4tyG(K{(Kl$ThI_XzM+B76y> z-Uy}6Luw$0(v$B~#w_*rsy`D-b5YvJF&J?~$Kmwe(W ztlObx)NQtJJH89rs;h9~Ar4Xc^0z{pA{^Z9`j;g+QvVKqkmQlUP5=df37uK>RixTbcM)Gu_}{w9;@|#Qy+vGlsCqQMo~L?IRK45iJ8!7o$a4iYkOdA3 zJUBXt=@I)PYm#i-a2VgB;7k57d`Q%tye0 z#96;eBAyh8jQTqyLZdt&Nv?ldV*Ub5eX%U5^%+r8FOZC?zfY3PAQJ3jL9%1|I~I~L z^?#BisYFsDNuH1-Ny6dOZRfpZooEP?SpOH9>r%>rCxL)oUyU{5c#lFswd+#Hy<>Q50~4l;Tc@bc`y zH)vuql(E>Q(r?U@JdU_%SGtH*UgT!x({~``rhxIC>n!P>Jj5%)C2xQ97>o9)0HDO zN6b{!BQSjZ0Ky95$z-)r#`wuEhtj9&HHF#!^MvcKcuX zV}W8D)6;#;_w<7P=*sK>_9{93ZwEjlMN0*_)aL zvvJ^%o~(|M?O&WY1?Pj>bO*%Mj%r)TOpXlXru7aE?7+k_MI9Q&AN}fx#@8izV!E<> z&5^oka5SoY>K1eDi9S#g4f&%*@LgG^OXCkU!zp} zYdf?_9{Ow)zWri;iN;(96W?uD-M4wvB?pq#sJtAwKz%<{NTxeb^>@#5xoCC|q4LFG4GX~(xSe0^JY44%xLlZr=)P}}meP95g?IUW>Tr3GW z@zu@D`#eb%_|zADAj+mS)2jHIE#9gr;^tLv~khrRaSNLSrW zSmdptM#`#hSrj)?W3*I#v|Be91L6{HcF4!@AV^7#^~atXnSonJ>IvD z&TV9@+u>`A8WUk(OWQH!J;p@Z*ZvQljCgeW3~gV=x?Qfu!#x|1^l3O8?OJn)mQQ?# zqIiPCpYh0m?nY+dGagszYY}JCTxTG$N2RaIzyLlHE*nfTwEaYs(r`GEa$E%-`V6Kg zB2XfYT+1kX&2v=zSMZ0BjmmD&qajEpf-49bWv^L_bQda;z49(&(>Y|W+Lt2mzhRN2 zk=}W=8ABr=(YgmgHW~`G*Vf<(w(7*!AX86Hsg3^=+@ycyh~He8t@^&f2J@Lg-rj3| zpu;2HZg@4qcQhLNUtd-qitxl4Dl&t4>XAScZmyG!PERbU)P_$;pUGUibHydK>5-zG zi$Uu0XY`Eb_2G-`HE}?oO%r*s_A>juKSGgMuub_F7Eyz{>@{Bk4&`nIz`3<8zC+`D zrw7?<-T~@G63brmIvx#z(@?bi!DsL!rMT&g@hBjOlw>5}L3JO&=dIK%Q#vhy|lGacTD1%s0EsPlq?K3`ymNRSi*w^L)kzSi|B~=WzlhK(M8M4n9*e1fv zc3YI>mIQFk$|M_YtC9NcYw1HaX-)Q8THA>D3S1oao4zuB1O!*vBO~Gn8|8xmAfO2s z&V_g{K%4Z8)-PiN@g^7_Aq~QKdS*r(&KNxdayrbT;fbUtf3$AjR903Se+>$VyDKlXp|&a_?bK>~ z(RXE1f`8?`(fF>hv-*e8o*x3^%^KP>zX%M*r^ts!dWQ!;#P=G#J%#9tF&TlK^_A6I z?Fcp*<4~O}_eU;&^aC_d!5ccwc`9#j$uDN`Oa9_a5Jg@Zl$nLyP#QWtT~iMjiO{F% z+TjwBtYX|jFr!lh@4`49!7Jz#HZ8**0(>)G=*-f(+H2aN2CP8x?({L;IE_I{7#I!! z(AqW~0C>x#;PlsjZlm#tzU~~A2|tWDry&6>jAucGcm>BVT#Y~W;S(5J?f2h`;f|Ld zk+Y6IQA3eO0#Z#55I!19^>9+YE#TAVKLubPxCI~h8`Y@y`F}V&7x<`(>+$CWBpBH6 zP@;lH3>pMAD7Hj`?vjn%z(#}NrGQeSh(!fq7ifVbbVJR}cKz8_f3>Y`)mHnmty+ta z;>t4tUqyVOR1;BfmMaEP0YTXR_srbg1f{?F`SbaZy?5@+nVBtaH|=GO%Kmu_NY2P_3{xEHINkoKC?#T9${&f5%P{2<^8s~iM12yA=`+gerxo)XQa;IOrWGNf zHndjiC!dSJ!4r~U{~zcxx~TO*_>1&K-NJ{@3E}aO64<9%(FxhusEL$Y%iPqHQYK4T zo@eEKB8YSuNIeL3ByznmzL;OV(-d97o2Vj1{waklFk8qA=uUrqI^e$Np+ZE=Do3ZDX00t#g=K zWV$2kAz-ffNLEAReQdsnElUD+Lt#Bx1GZ5n2ECr44X(4X9~C~t7jZExoe*ba>-6vM zv@2n8M%J$1pVlseJww+P3T98(=uLyYM;i*gq;rLbcC}{dLq^UTvx+G!+yZ+g+!<@W zq5d&d`Zl+Su@uV}P31L7D(7fZ@Ap1EAY?rmANrfa-^YVG26BDtzmE&a?y?<%dbi`| z&uc}O6%N!BkPr>|YWej*Mw2-ZhhcuMjWjZIX%8FG*RGRx5PU@_omFreySglMpwLb2 zx|hTin*?oU%=PUwjZBVH#lR2?>LPJTmQQzR`&4}V=WZ5X?{Y$p-~3aol9u2g?TcoA zz{XsDZ|onby1zr6j^7%#Pz?OUb%{P@#qQ}iEfU9$Y9DJEvnqg0m>qmhy#Fz|v8>-4 z`$-Cl*q{huq9PHdq20k-o~sTtzf6|+1UO34%@xN&9W-7{bYK;G)Oj0dvsNcGzb)WA z{&!?6lTQ%Hd`_2_d1bK?+K+e-<2**JT`mkC?-nX*7E_7X29{r^XS0}8 z#Gc?;cvDZb-7F#1 z{#o`Kor?^`LU={0nQ=zX$W=zRA+9jNLYCMj6j3Bhl!Le*NTG-U15rqovNslIME>aP z?vuGFr;l2h_w&5VPR9atT1Cx^LbVbGg58_?q#TyhO})iWg*YfE^ZMB11gqSv+Y)se+B;H4{$3xryinGXa?`a!jpiRiY2 zBc*?9x)m1leI!iX6d579Fdb#Zw33#(Zqbnh8c1)6uc8B*MWb9HXbO&xtVj{O)5cAZ zeMk;6Q_jP)R!R%eq(;hENs0a9`l;`_pth+8^$f;|wmxjoXNs~4xE4bY=oMqUHiGty*yl?SS7QEr zhGB{DYmoUUs}G7%aq5mh<1d_FvY87Td^o@dv^|N<6}JENB4-zkXVEQ62?eGrCkO>? zYKLZP^dU(_T^F)O#se3m^G{fAmW)_O*dOCSpuX-F$mcg?)0h{>#*sR&J+hEpLSBXa z5)x8T#n5Bc&|`3?P)|6x*7RTxBJ|SSsSP6Bo#$^G;1WTN@}XO-F|wXPLt+afy}MW% zs=Y@Gb?za_ivHNFc~yB3Bm246DC-4NMM9fa`eyv0TK0Fr!Cad4m22&HHUTbqtzFMc zLmCIi-JB7eY7JZL)&4)s`Lg;@S1w+pbBjw$T1s_6i&F60B|C-yf+xY=8f-^Ez>LJd)ZvRx{ni%g#QDpy8=_g{U~% z^)j($j)*s3O`KCJ>_q3OH*m34s?F}sAY}!Y>(k{5``>EYQ!t!iw|Ye`KzAI>Yu@~d ztPNQ2B~*=QX9dz#Maj54&kt)LstWd7 z@#}f0#JjHKsu=oF#riL^?5sjx;zj@H!oubGQmrq6clavExHF8;t`YkVmMuWFp)G6? zf6MLN{$ax*cgwhs)=l{y28CL1#NJezR`-yQ@aBq|%^3YybJy+H5?Oi4=GyW~d%aJ4 zcKf)3(WkNr8cWx zYJ+8?5KgESk73g5zy(}D%28One?q9eZd46%8sG*1g z60N1*I8&A_s(nRd$zi*eXjhuboL5EEK20!`M31GpOgF$+W-j&;08kI+=y6tvT}eV+ z1ZT#Q3cd{Li(pBXJqMq%^VqakFQi|3*{(=`UDld_EsSF-@goWWmu6eCAIuAs5QUN+ zNRpQFJ|3~t$5c%RN*?jzbn=EQG3V#lXKFDMP+clVwBdQhS#i-Lh=@-(s!pCF4cqyJ zP&0IwYASYIU7A_}Lz5o4oJN`&u;*u2Fd+kWaivYbCxivssN2GIdhtUbfS;kq0+{E2 zLblMY<{OEs0?ri%=n3=y--I;(o{r0URYzk*x=gw?)oO%l*+9#d0!ZTW_2WG0*JTho zBFhNp+Lm#A#%jzJ&4UB9Ghx1+YPhk)Kr730P=x@68+9Vf3|m;$MGKFir?vjL@ZSCL zH)4q2`XJJkyz>d1l~^}>Ol#U~d)%x=!)K4#k`_8G_BJan=5y$+RF6;fv2L!DH+xKb z+9G$I4s!76?jmfhnZhIsywe8Uxljp>E0~>_Fe^1_ded_-iP35N3NF0Jn;b++&k>=U z#`P>s51xwt0kzGzDv4ed>=AQBcI_Q0nzS^_PM9GI3*%5AbvR&li=uUtUYSj7 zz`k1qB-u4`)240~7eJXTS%vsfFR0mJ1A?j zZ^iMiNOD(-w!{9jZY0BW;x0YeqfyBS2Z4y&9mD|H7iP;wAv;$1v=;>wtcK+Kj3*S3c*e-zPsy`(;(k7w^D1Y^Lz{pO40lrW(#; zzpZUXrC7Es`@#Wb55zq$$$-vQb9OaZAhOBf%iFT4DtBw32k!dYsTG9Bj`I?dr(}N+ zANl#RJv=Pi!+Dg6ET1KhQarN!W_i4vN6)I|^X0j>dA>`YGtBb>d6qk+Y+`$Zc*N@UiJoSu^j(k*b&XFNa6en7bkm`?w0y@(nwVl`Ul8 zZ(+%yyGq=Db7CO(NHT*1Bq-J;_)56k7b)c^>Rq*n&(3hUYQlvqgCB!8)*cF}Z_D>w z95L(Mck_myF6YNwp_)c<4)y(@Y$D0!CA(|UpOr%pAt?Rr@sZMYRHtgS0N6#w@Y4LW zP!|20ME{^>-M;~RP4LzL{ z)}Q4I$zvnSinEnCrs$H8tNuWO^DI@Qpj(~LBQA6pGAcRy-DD4bB8Bz{ze*~(T%Ro; z(NA|*JzQpW{t2S@s1fV@u&4sjJj%Tzy+o?ne}(k)>;l=t^>qsMDvN|pGv<>&)UBRT zI4Whw$?z3&mVRp;`Q&T>!zX(`SI=3IMr@xPwZJC2gqp4Pr$B%Ut6zSLT7+C$T!RW3 z%1_1OPbi_q+mm1kv+^6Kos#So5Tm)D7eQr!1t!1*W(weV0J@-BG++VvNEd)mrv{jK zK`ub|wrXBwCTu%K(h+B8dQoKMLTABw%Eg{8n!PpZU&C zU$b*pRUiGEY(ojHbt5Fl?hj=}<%sRN0?b-|4%`-RcF(5j0$P^GsbXUl5tl@n2p{!y5<>pJX;# zIm9TjH#;kYEI4z;K0)rfA!duk!c_nh*gV@~3$Qzrp2st2mb>d@uSOQ+g}+Nb0o;%bvA6_IE0n?f8ZbvOUu=CooWSdKB<#Oi=>{B zYvE>B=i5`*pGpI!x*r+uMjEB|g)!e_; z8{i|0fEkfi?=<%{Uw&J?Rpw`s`LX1u#XDc}k2249@xFln3nfj{Myq#*eB!lOep|h> z%+Jm8L#kK*npIppYlzD1(<+p2EW%hbtlyQP{)U@0u98mEM+|m{c8-v#er{3&q8El> zjmrcTHmQ@ebmgXIs5?yR3{v48$-GldszvIkWNN1Jk?NZUchE`GXEqBeM2BBw{R|7K0@HFz6|XOqPr88>6ZR$s{$^e|kCBA=BxuDGNsyY95nRk_P^ z6EBO+iwMmue~In|sho2PPUkEH8tH3z zOBNr6ntBtDDN|gpau@))Sdr=ZczVbTJ>!5XiI{~K2()_=V#>{iE(bn@8jOpcp-by0 zDlg6G5-H_TKFLnH$kMDR86%gqt_cDw@g)#2zC@B6R1; zRM~YnXB&cnj}X&2!TATr^~?%=mzEZo%LtKsMtOhi|ZlxQXgRgf|7HJzK}-%heMU>rt8L<#}p80-wJz#4X6V^Hb}D zk6rvB>7e%6t&bNc%Dfl*k^*1&U}i<+Y+@>S8g>B;10hd?oUYd|&CVwJYt%4?R#^>^ z<2uw|`E9DsY1|gxpXqPdAI$ePiQT}i!xcDHY0u2r#>i_=KvpEP!tP;gkr*IeP}w$> zp$N|^?Y{Ufj$bh_SRxc-Zhbw>0_1R*pf3=Ol;y6{eL0Ukf#Y>w-v2QJeyRI1>P}uz zCzcl^Eb2gpj#iy6X*r?!R0ZrD-tio`_g#Vgvob9z&^~uc4R76IGAJAUKl0> zal{kqR{x!xFE=(-M&ZYrG`D~(C2LPHBHS4@A{C3#&N8mWfppY;()!>@;B@b_Vm@?nsYSX zMrQO3XQ1P}<`i=a0wK%y>Yj=kR&_3A-%*a=5|Z3^q}AZ7RwSzsZBc#zEx)kBs6S)> z*SJ!fIx5?9WX>1d`~{MKE^1@)?;w9#Xh3*Ler9ctR&V|(w1d2W553~}xpNsBtiKV! zYJQ%^YG1v~iIDMI;A(M*$Y3w%dRb5nH(V>@jJZj|dCH%&+p}^2w5z+O>9V3`>Zn)S zQRPW=Y_UL-#-wkHKg_r?j4U_fI4576?~bBGqy-oHeEnj5s*Mh~%&OTeoercQ4lgM- z)L7I>Ydt7KmtO%)L1(Jm4F-}NjF)U)cDeyMT)zWKH0ck-2hs>&6BVJg3%qA23A{}@ zuNBSG>r#9_^ivVJ`yr4fZI-=Fg{@x$cAZy`tS|grJ)bjcJv7Bkmu~7dpouz;&Q_sy z;ml>rVpbBgZzZn^2pg+!I4kJ=y`by&*G3*_fW?W(`yax#eg9Z+MItAL}76+ zboNvu1e@n@V{q{dV58!i3j7IrE5}8TQ-w3N zilP6e^fb{B`qqDt;Vbz}vRt3cGHW+kIJ&8*88=PNZ4BKt#HX&Z$*y*l3&GAuwIPJedj99YjZ_4?S zEvNH=1~#p>fEtk0MyeCm$2Qf=h4S`@b<$9rm2eM@XzIJL)e`q9eNTY)Z#pumqUM^a zikih12d3#~>7L>6DSe%lzJ)IVEB$!}{9byR;o26VuSs1|*GtlfofEC_a_;tU1EWI~ ziFPY}qw^69!VX!VT}`xo&^K8oH7Dns$;>MVL>?99TM-#pC}Dw?BAkfLP^LfUK(Nmr zvT<`x7z<%tIY<)OD65^<^g8?rcuB6qKhf*(u3s|pAp1>OJS1~v^!9E=dfj4E8Y!>h zV+c|EOb3{dYNk%JVQn+3;>(ij3c67f+@n)zqvb_8l}4^0Tw#{y?tFMI$|1QC{e-N4 z(YgZl7f3Olka-hcsxLU9+JgafVkv$q(=ibF?GCydi2hlKrLyFs;4t4oq>CP*f!f;l zB%I5K{X=Es=E4GJn=q7n+3O1bOfFBBT{h}qIl>oyGtdCHsXpYF-!<;OZj~0;(ez@$!Ywp&GA+Tkutc=`I zjJy*1mv%%AS7&jOit@`#_5|UhJXPS13T3sKVz+nSZ(5uUeKXWO+zHRt-FcCnd}U?` zd8jr!Em%^4I@{c%`!~8t@}ACz{7j!4oTE0MC(Y=c-lD%fr2e6^h2BEQm;o^$!4}mo zEXZsv(>rdK>I|^P)G1qH4U^prf8f#Kde9lyhvYS7P+31hz%Id25V4jwSVrcuClsp7 z84JAVl#~@N%K{XnSGGiYm9ERLmYr*SvkVM-2ff7uM7Ck4(NXaV2NR#D*7G1c zRC04fnwv&j5SgSc9Fd#0+zUH*N+IH^v|yonR4Yb*D!p7SyD7llyyz^Be^5>7RHqLx zkd?wBQ^-G#JD~hdvNuXyk>|oo0I4^g*8tUVL;>OA$XHFo4o2*>qM@Re@`5te9das} znG5HVeYwFU7EEAvhnO6FC@}Q&5-_44l7DqBq#Fz7{`o#y(-U$=y{7cIW$H$94mqEJ zllB5mohky^(9IHu6pw2w_tou1#FLL&ejg)&O&8}_D>kGdV!=5slwY^F2=$!UMKt1K zf*vIKn#jFU_|QSIbw|Uh#rTx4sX0jc;$cEwE@?3-Pbzl`xe3_`%MrA7sPBpxz2Ay1 zFHoYC)lJqPCYlfbr6D3}a#mYVUw2MAJ4Bou>_KteG_Ig&icDoQkFUxh&$xp6**WMG zs$d#ZiV0Qf)rn~DVQJ_T<`*@23mT_nQ>xJ|KxV$-IGAr!at?0j5xS&)3H1Z3mF_Lh{f3@KiX>LgIiP3=WfPI~`(`qCWirLls%L zUvTl_3bsneQC2_aJNk9PeFsW3oCjEp07Pi{ixHH+r?%{*PM(1wh*qNw8qhvu6bxrb` zt;WVFphd7D-ABhXUAvf@tkv-Hy-NKBFN+!}b;8PC=WiS=jRB7YJulr~j`&`B3HEr->w%Ml#*8?2YOP$V?=R zv*de_@A~Rohx!xfBHh?8I^UK^a&a1>Bgt6=I8QtuJf(iwDaW~l?K>XqZl(7xbRGnT zm7Z0oh66|M7SMwv!(olojY5(8>)U|bH5`_7#zb)Ya`Lm%G|=)YHe5xzl_%|xb-(G* zm0}iJ@=j`qJmVbQuf3{q4qs@CHFTp@!sZSsE%cJ~@m_67YOXTjF<9cheW=z#Fsa_k z4P!xE>N*#VjtjUG8!fwE`;DaWv<#&j$f&!Q2#!Bwvh4mY*gTdV8elGB`l5HHD?cQ{ zxmf($P*gP3uX&Rp_p74IE_2PB{r2bTFOa^!7 z3{Y%$g5ByzT@ds%%UxSjVHV~nzNYf@(%XZTrFRC;Ed36_(>d*RVHHaUbrb^U8l%=< z7kiUV(mdp6_2g`3!tI2<~x0wcT&vMd9O_dZ(?&? ztXrg`zW@xvQSW5`VzOO58%$vdo}4YG$R3~GZKg94j07`}6C70O$$95dovCwj4xtA9 zWs?5Vs{SVADy(khy6Lz_5Jp!;ZNAA|buo6dZpfJ*M!@&hW(nMt^!gzz^LHdu9+N25 zgEe~ur~aGO^#IlV?NIZe5(cmW8?I1)Hv|C=Of(CL??F1(d|A&Xf+2jpTF=R=y|A;| zd+CX(Ose+$U-d2eYJHvFNW!%SQ+pW|W{nyk48r&`Zigg!oSta!%>Lyf2Aarl8ndyE z9Xf})!xU17s7FdTzp3tA4rJ*lWu$e)MxhNwl~{~^ZOy1sr%E=nBzbP(v9%n67Lqng z(n^*jJyMS$aHqJ-i{{3n_}^I02(H|ReMjvX?p5KTv==MdWJ6y!z18mmbvV^lnZ2Y7W_v0gUanP{NneXuFLKMYC`@qrAF^aT*)x z|L8W!F54Pba5YT0jZ1TYcRTYIqCP9%=gsf}@(Pt!sjG!^=~==8WPjh>m2Q?n(#^$C z;VN486)eAj*nvR9ZaUQGsa~-IoX$eI= z%)D}ucT}cYglnh!LW3|&iuE)Q#BygHff9DlYDNa=xe{c_;-#ZqnAPy8!l{9DRrg7+ zj(r%iPBNm*iJw<8a-H6Mgqz5^jJ<pDsQd=PA`U=Eqc;aI5x!VzIOyJ2*xyT#2xo%Raq1CH@T`xbi&Oa^=EP{Xk`E>;_Xl=23z zQ8z^$J0$HT7SqjAJ*QXbLN4IdWdV3Zdxlt{={=hxz(kS^Zg@1iW?jvnaHC9#j(x!O0R3!fuY z*`}Tq8B)T+$;+1u%rl7UxUFwdXMlyyAR;m;%xpMtqweRKnjH2r zm4Kt=VTk!D!JL2Z#nwd^rOn+CdtG(IGXGvH60H8;1 zGcbci`u2{#Ip0yi1+zbyajmesht76~Wh$iV^i{{`Op2+jgaVB_KAohl zU_u)HV)*|J8=JS{fLUWTUIjq2+DL=qK3?_0^-GPeHeHFjmKvnf2i0e$`-UI?>m6^J znode;c6aHmk1|9?JCkzF0@}3Ysl^(SG{^Z_Y74_@Y=cf0YCa#TO$M%%_3n2vV6wDj z72?>(Eag?KuK-rFM3UBiZT`lFiYL?FtH0LDe?W$vLtPz{&55iOkISygtUq@c2+dxh zIN&GLwIHrJZH?h$2UQ=#d1J4#KSGV3w5;>K6N+q_F>iCB&mB zY*y?|2Z)&WMzUU)W(b!cm{S!*<$^uYV0#W)7%?#u+bglh;Tp{ReDw;TA`?*fP#4A{ z+P0LlGks@A4dEk)FFxoky7B|ChO^tn{S42VOg(5&ERHjsUWWV%p$=gSz>)=g87+o2 zv=5PtOGlX{`G$Xy2PNK|t~Y#wt4)Ug={pt zgw7^LhH>%swdufvn@bJ6w&>0a_yJaQJYSHGJkq|Yv~N6}yN32<(7qZCezou((b{VT zfO|(($i`PCsA|*JTmQAWSR$x?0&lZDOf6&?LLy%30$!Dm-x%`C_l#5@y5bl`!3j9VSR5;H)PFT^9L%c94z6=Hs(XG% zZ}u3%Tnlk{Vq&$i)Y5_5)dg$~gj7XNXQA#>09CIG-J(9ZPNUEhTR07ChDe$xmgjV9 zzDN`HQme6gn%d7A+@<83XX}!~q=bOidDRPKlI5;>AV`hP z(iU5zo2MiGYR#DT&W@?mJXBB}s^7ITGd9Yx11df-3gmb*Ta_)L9daJp>x2uP?rmq+ z&LZg~J%W$Tqv~54=ih+bUwtIm$6oX?$kpaJO%#8eZR%eTg!6IjS>fZ;L)gI)(+{YG z_6(LrE)5^=71|yDlELC0RgimbJv|K{^QN5;gpbb*-WKmI|*nx|7iEFESmjrkF)NqnJ9YhGRk94+Glyl3T&q?t;JziA~e zJq+Sk?z1yJ4fkvME3`U^9y11RZK}mA zZR$a&A3&a!Z|lhi>2~py1{0uqE z6iL<-85TZvp{L;o^rCJ=_*k#topt><*zq(R>&{Re>lwTuez==F4fZq)K#?9kcD|>f zHxKdmbn+Na!&HWV`iiPapYjEz7CDO$;6DW+&1Zp-*kG4l<lhMv)^&*=lh4E6{gpAkIG`JEvQuS*yk*;+W9=9Do{zB*U>cAYDJ&#J*rwkn`9 zZZdLj@g~20uBV}x3hRdO+B0}ZU9Q~B^)#@}NjTr*xmWNy?Ms=*?>I<@V~uhY$QO zX9ovs?#1Jsj)%X&;1KO4oySE?afqFGuUuwKi+{qib_cI@l-iSX{2iG*ENH?2)fRdn zQ{vZ$nE_(>u6DB}#E%=RI^LX&G=eksJ@Lo*=+mMo=gN^xZCrfvPL&WncHhi@J#J zi>~uonfLJ@^G7fw0*!i1Hm=`fYL#jDu^qObiuJo)(Me66$Z`t*z09oYVyNBUPCY$*tGhW-uKqCfmX zx*q=peD7dOcIY?td$NKTnT1xO!G0Y^{#RJ3lN&yEV`#kdf|>~^ZTVTV#m+pKH9kA^ zO!)AP!KYGqmFrZ+>K*2vXVsjZUaZ%$S8SFJIAb)12g&0lU$62c%<7Y$OS7GB&x#15 z<8XEw$slrn>Z`IMcUmo1O}oglYZ1eyc(JgqT2sKVwO&;qg{;=Aih1KTi#LA6xByN` zGzTsSs~$aEw#m@z4q#PXpfhxpqfgSZsk&t%2d=2o6-CBn$tJ)a$0F&;8&}XePA7Z% z;F^YOGK=$78YISTvgsV*N99t|QS~v)3jSJ1(OL#c`ZOr=o*tEI_Z zGrg=c-O%mmOD5AjC(HClohh$ZcLT{YX}y|#vV1GZr&dga2;c(#ljXQkawM)bIR>9B z#~8_RVYSJTcCs92N{+cMjCXH3NvFO*9#nrsdnD~x+nK}l+IeH2n9TIy<~FU;;$&> zR2dbEuE5}2_KshxY0Ot@^8Tlq&Of218^2Q1TPQ(Ktf`X<_MzBQGu<(Hf{ZQ+$i^Bf z(bq|OgUmH76?H$S-G{y)gyD7~#+=&mg1(~40kOJohUPa&_(XWPmP6B(PlGXY#1;Q3 zk1o}R}0N`RjQ(P zRI7L|;S&9(S{Iy*lzg}maK51*aW7bI)NX>%1!_=3z2GGY$Sk>@V>^5zX5@`8v0b!H zWNEa+)da*!Dcm(eRocZ-=R|0HMgmymnv zSm!i26V2*&o}1(61pw#H)Kj{FHhA_L4No^S9U4 zNb)&-(8EgqNL0TCBIdvLz{1ovoI`TXX26llP4m^x>ou-Y2ME%)R?@^_0QX|d?P?UE zaz^zGfM>#jws9Qlo8%VJj9Hz2duqnE$qMlEk<}DUd;zZXFVVk;@cN)St zsZrF2z<81SI%YaK$K-AFv5)*6j0lTs>$yJ*Jqlr|87A~ zET0^v)F4XHVD0A)BL{7@q-v>1j(d)SIcdj@oiJXa{fvAeWs+Z?yiRujZFTJO6x_}F z1W#|JR{*V9sNdyWgl2&1+&(P_9$vPCm%8t}G<=$vM8|It9-LmO%HEv}iW8gS(0U>! zsF3#UWL@iu!Y^sBdyJFywaU-ztUS$B#!AwO{&l)+=lc#>GtF>3D;?GN4;7{QQr`Lf z9+BL;fC>Ss^F&B2B6O+bn!VzqMv&6Q3<`fLjN^y536wS=mJcQ|4$(R3ClHLtGG(U2 z?ydC8I-772O^_j;nnKuLfU(B#p1p2>>Na&9R4EGY0n*%Cp+-Xtd1&V2cak~TVUSG@ zx0=VmIUky<%^<57sC6?wLq@KxxD-KToNrUBvse}L<7T;wEX~&mWxBc46yUj|bOV^x za8n;k_^5YVqDl?=$tfoTB9aJAVRHI9zNOUbP;~Q*u0YdGBZVpwRF3zy)JXm8F-^LC zVz;EI^lWT0oO319R9K`Gy6-P~%I$Pp-BWig^kTAITEtY30y&wY0*rF%<;rSNUGA>C zKsPh7S$)52);oA{i9qW5F(sW>g=M!=cY`gwX@`{jBh)(YlizYMrkWrkqNCLff@bVIX>QF92Y{swojF zyatGvw+7dy8uV)h09!xpOBG`g!Fb!;6q#tz?V5?aiw%|#__^h}GP&B(s`hw!v6VA| zu23?Ti7!&{_e;%P+@sk(QaZ^Z>!G9gP#9urIfK`Ljn|v|Qq+-xuzm#@k*C?jW zYW#7Hc?p3kj#jm~Rq5c1hf=0 z=?pz4eNewahD|Z(??d5?+4)*nFv|XXl3ZdezNSmo01OJW=><)l#ur|?m{lC5n6}3| zfo(>qOon@NYUV5@r4tJ+bj9ARk&9e=i44mK#xX^rFCf;hzM8HlUW(l>i>9Z1zhrud zOi9ahVynrF(0x(^5H+;*-$o(KZt8KF*{x`##n@R))r>b|WNWtY_M7VQ(R>F3umLSO zjRUZA*_vtqHc#zD`F%<2C>Tq;`FcL66(ptF`B^}E)h2cWP?hEi@i+uNIVMdTvCj-- ze>MZ4=d}zW(l&KaDE6{PyR6TvDAL@%fs`G3Pr@z{`M@2GN5DmL^-K=tRG z%U-$tiS*#b&N&j2V<30HLj%}w_8769h{fGKzue&QZy*GHNe>4Pw%x6g9t3LO*1Fs> z`COB<>=^N9o~`~~Li=Uoga!q@YRQh^@}{(Kdt2$W5Y{E+(5~{ppt|h}a&i*a#lzxUJZpZoRVC%Gn@E#6zC8&Onhn4|=lJU!E4cSY0VxIfAO0J{rquT8fuXykKfNwNId0=G%(#m5wT?56U^_keNv=m9m$vKM`4q3t^EFLL zuRn6Lr-9S2w7UHIBST_m%C@iJR_drfQWKmSAFrS0dm4_ArT)mmVDI`Pvpp*>C0TnH zz==xuNb$nnxX<3ead&y1Jvj}%GtL2#q|srCL(JmU{bdKmg?5jBfBY1R{`XRmG$PXU zPQztGulQ?J9jQzUe?FB&t%P# zCUwo4m%-qA@surhKt%(uorPj~)YX;rqCbN!nGViP|GmKhPDfCDncIqM-ufeKr3lcB zBi@67cURBzWYH6EXv3=W zebEpmL2Z>a`znalAkL2y&#N)>bmQ~n;vXu0oYi5~k27{8eQ_9+o4jLk`M0Gfo2;bd zhQ9?al&fmJ`a9SC z_2Y#P>G!8y_t$F+*YR#e8w%U?FH^w+9*6k2r4T<{c_j0jE5{=8C1354?ycA)%@9Yy zt_n!c>4{CKLfT{riK$m;ndDXKPl%_@E$GD7 z+}o--x+@=SRtNZk`vCjnNa@P?d{Y<5d^d9EpHShY*nG;+?lmnkPE>tHe*IS587vw` zbQ>we^*X9ZWd8xQNVmT0g}A?peo#Cux2ZSDmXt2EblO!Ot5U14bA=l68bSFnQoy~) z#?Gju_3&P?Q8w2N;)qM&peqIz>LOaWZM^hkMFvu&+AShGvazOsI&w)0AHR@x!a`6V zSGhUW7vPT_&1W>DI)!v8|82MYc+e#HBsx`xl`3EDnF{qEHNznOr>>N7pnn41DB;yk zAQ+`A%fj%(^5+wErU9q!0T$EBJ+#paQY!fD-F!0^)u~vpFETJ%y(x~u)D$qFS0C+9 zniNfTws zqd#hP3MQ*o5saa~VGO6Kb7(~D7Xn{zl@?7xQhJ-3i<4rb{W?DK5XOXr)uoV&E0~F{ z1mWA`zHVXr!w&9@mHWQOF4)+>-JuT@6F0)xp`B_uVAIYR6MlZn(^ zbuOv;-a;xZPkG$5cq*;GItn8uUt&wFBbA!3c1!BZi3@M%1h@IK)Q5rUGzinhhDUcK zg`6GW3gl#RLotPg<+AUWQL}HyzxtnKv=};b*W%o(7=>PjHt2K_uMCN0sGd7dlektT zw#6C~ni0Uv)6O|T$%h;E0=@c-6qLDQscg~~f;Etw1CoObzSB4PQSB$E&^L1ezU`|o zEj&lBXrW%}3>YD|^JSBst)dspXl_O+FFS}f6=dw=68<)J1ayeF@@Gg=j{UZPdLmF7 zFJf)#Daeq8G&N!`!v7Yp5; z=)E#5O1$$#%JXB#OhL&wOD7GCWf;~gNtKcmDj@P(BS+PmzS=;w9@Ngg1EU)MoB3=- zpLQ3w2Q_x}YOYsu)rykR*OXP*ur9cybVvv{ZT`Y^^gWkaB@gN{3wl}6wfaf@LYNYM z^4kTfs2lD3^s}$2e_>;ubEz10lbh4Pm>`hN7gA7f(67oEFqzbdy9O3Apt>D!;yIx{ znW(e^nM<2O0Vyd!QxBWNi)HjyY!Y(O+xn{JZJ;FPVcMuK*zW3l*KZuLu4HjuD7Q-8 z-^Ti*6Wujh0;A!9ENOqb_DP`zyh`C_1{2hPU6YTMc7eHx$m&prQ{WkeT!9~t^#(FU zYnic&Fd=QYG|$W| zqSKLi*u2c-R@cs8-}?x8a!$ooO&l7PkH<+*arzGWm?nJE^IW;*kJQY-M0Odjy%rYZeTrRF^$g#dPbuzO zov2GoTO(4PYWhIBR#qHYh%=o{Gzbqwc-!F?Krs&P)7OhX?$)e6WMz0ZwK0$g$h z?2*Kr6sL2i;*TyXh-aZX#{X;_;^(1qI*32)ls@u&%g;5BJHX7@w)6aMf4&od3uf!KkJ zT!+I$QB!oN7^7>|R2Ji)df6HHCd71zcqZ%L%YajApM^(vF|b^#|4_B_Bw4{_KH2RF zRl0=nP}rr!)>MhVni5`06yfYt3YAULg^aU9aZRqP$x`>F3VqKM!hpXlFH-K+g#x0-uNVwbv#QpI{nF-XI+YQlVg>T$2B zwy0;6)B^%C?Xnr_(0e-DC}z}r0%ORGWx^NxNwoc1^-xL&KW=HX*-eiY{w2sZwjAm?q`B|L}4Yg+IzhiX}Ivwp!$bzf) zi7g^U4c6v>BMW_=XYQM1h8Fi;nNx}bqb~^kTSq?B9tOp^-Cj`!{}8|gvG+7wMpMNT z(g@TP)${$4h1_{rel}Aq;GZzMlADeCF)+H4ylaJ+aRv2G_(&fs_VGQp~-Impgv{hmx;32_Um zN68dC;3MvCYnI3XOu=>8&iev5U=QCQPJS|jr|H?J@8J{#Y|aDTRS*2r)Xs|SYn5YGX5W=b|z&$r97xopg$o3>j1IHfDMww4=Imupn>73=IY@`V^WaVL!jtUjJq z<8w>a*LK5)mGg1S*k0+YC6gIS%+?0h|m$b-aon~E7V6sZ~J4HHr@e|?&;#C6xUi$Io&yr7g(rpjB>kO zye9Y!-)P&Jfl_J zSj}2YCn?pBp3tu8@#AkMFQ%-h%agf5;4Jx3pB#}s&1Dg8Q*V*Ub&#Rk%eq}FQ z!(>|2EmTSLGCecO%y4C9$!L{j>sv-zb1e8}9VyTYAPnuJyL21WQlO`{7!LwN`!~?4 z3!(!g_y&ZHA8czUdAy-6> zA~*x9DM4T&;|M}fiCV{7+*AbzK2Y*i@^nSJw6hWJ(FEl%K9IFg);`ZIibld*$F|0x{kRAcj5*@@YFGK zZN<|dVH(1R&kc=?=kNqINVg`xL5KAKH|vRtiWLM1`rnpIYReZRUp7#DOfL;X+FEz< z81Zl6X~4`fZA^}SyoA5u!%ICY%Xo0TX%;b5L@*+cnDu%Z*gmG!6^`jAFDu0?{i{PO z(?9+r0V)>0!4YH5(pmSDf>kPNqvgfwT6+A|azYaEKl7)xO#1LOxFUD4NiNT4(_EGv zCyLzHvQSZ))Bmf0K~oZ@^L;#HA!B3})-NFlNUzu(OhrLph)F8RNK=|+ghAHN zT5wdYJ4t(c^BvN0xCz*yUVDv!s>C<8i!}#1L=?X7%13cyjh|AU{vz3AJa6zcJWlyK z#6m8`yeN-@!iO*LG(>o0P{W6Z8DnYR(^-Vhb!LYTbJ<0(8a{l5Z|x~Ocp5(EukUFt zfn4ldH6~w>J-cr37>_)J#+=5FZ>=yq1K;;_uQBPQIcJWM>k+{TzO}jX@kg@n@IBpQ zjEtqH;bD1Oiy!8+`2XrhJ)F`i-&z@gc)fm<5ptIJ){2Ph%=fJoYkOyoZ>=E3nPp6G zoN49uo-)s>hHuS!!AF2pwdfYX!5@)cg$T6e``c=0Fp(hBec$>HncSI9Fhb_3Wa8eG zL}e2beQ3Gd{!ELFD6ENL6en25KIYItr*#dyw)_qzU)?y`E_lU~OK( z)6IC4WJqgNtU$0Q%RR&7EVv0`bVZX>4r%ZoePss8jSb(9q* z%8JBV+&4wh4do~)vIX~&(jTx1 zACU@$(s?i9M}7<3-$MD7kf-^{;>kjkar0;{qHbgA#+H&KIL&AI4lm7H9vT7)nk6;H z!My&|`>-a2BDmU6mn=n9Q;uaw3p{Xjn+dhd|~m;)D+@RAbnat#2Q&;(cf~EoX<%&SG^e zPZJ3;kU57uGt<=RI!|x%Tv?wOB4MK?BMWR-YBR^j&w?gx^scIys3`=z-l4^rGle*y z7%Y+QyG``W8dY+9;k@SR`dqq8l3bDa#?@3e4=%bic)MPUf_H@v7kO54(}P&m^Rkg? z{>Hph3pUYDaG%2-7aAF= zw4I$YkTcCdPGNS1Zl^Zc$TW*3fx$?d5^qsjQglB)2Zo%7WOy%-_9e4TkgdCkJfmTp z2a}XZs9!D?fTkzEV{*oCkg-1zFJkkMI$kY`NZ`-z_`oC7QSayJ)7kVXMa7 zKiPnQU0A4oDau}!pzfg>TzNv_?J&?tWhpnSb3%i0$(dI&KQEMRTPEBrlPj-eNqs0p|njq6klrXK|p$8m8YORdt8Skv2EhV4V z_Lh0oe5N#bCvA*QMp>w*)){ozsn*MkU~VV8o?kv{t!9bRv4)lw6Is=MkI<7JD~lYy zl6|#jQ%SLZ=)UwhrA|M|UvLxRl}0*MNobs<#ricet~5!NNuq=xMJ`EfF%-E=rL)KB zg7(zh);Lt>!?p#Sev7bzs3j1UzsVScW z&}fr*iU@yk=Hm0TD$;tj{f|A;(zCHF1!t~AF(_Linn{J|WV|R<``;VM7$Ur|{zb2y;hb*9P}7-&67te{Y>6N^ z#K080-@aG6Sys%2bI+=(@pcu`AWCBs>6~B;>lnQN>N5c#97V?KTL@)7yOl{brkkuk zgT;02dLaR!??Y&Hvu+gbg)8ers**=%>zFLbc!?y4T{9Ww{Qr>J3GKTX3&|+ZcWpJl z|APqV^!D3F3{)i-8lYLP6g#Yoz1Q3msPWbGOPVN!AEmHlSVjikSvJ%yun^STSEthj ziyk1XwECK^8c$j!Zo7a$Ms(BxLT|G?(a#F|&LVY{3?dM-X@)?24@;m(|3bS(UTn91 zxpf%pZa}CZteo<(*MU@@s>m0Q9ygG3+>Wh+_xmyQld4mN6-!aPhMdw9n)WR@E~mxC zy2Ylsmx)2a$Ye8%Dy5lEZ!y6CO63;a)tqij@bodK0Nv9d5_$OWaL>x~kz(VyykUG% zY}{L2%Ft4YkGUdKLVYJ@4oO?2+w-6clkG~AO^xNVOHw*VrQ{ItJT}42Q6M=)T4q}; zFotQ`8d=z^g2E$8kt(^GNS|@*Up5LlCNr*eAn|%Z@|!QKt;R z>8~a{+XXAv#gkZ>?e=*%pSxn^+mb^TzSsgcM^DMo1uLhL1FNr2tYndp>g!nc4aiRC z`l9260)&8H{aEOUX`qq%2FUOe!^(LvCPOSZ`6U@}y9U?z7lnGcNe_|aI2f57zC4uYru~RCO$s#JjD;G*xJx}c z$6ob6vhcf2S_RtT3*5>+MnsIs#z1Pma<^H}@ofN-YcyZ`7hTs!C6eLQJwoyR!X(Lm z2wF!8pWwID{VkFWIs{y-hS58zR8I)C8m!=cNnmNw=a;%t(Ey96^D$yQ>Ro>!rz!ml zIV5-h{c(eT6R@=NbIuoh2#s>W5MRZXM{9}N%2|NZ)o_}q-JNMNy_hzpi29BXq(_Wa zup2vVD0hqiq$iW~2eIhZjnOW-d(sOp-#IlhxZ)fFGFE;kiM)gA0MO&3XaGR;s`wY= zS%xUu=&rP$yYB(Q39GGVWj#r5O}j;)uv~gjlfKxe1#gXotFO~bthX1A+=*j^ z;@7ORDE5=fZFMOOSD-c3G)JiA}XU%?oOdh9a`0(gZefbE~ z+kX3itRo+)S&WU7Cz$vMiB5hi!HBDUn1%#`m|_2`)A@-j60Z1Yi4YcO&sRg(BI%u2 zOt!Ls@Y_pfsYW<0=D8Od=Y{vX6S{7-t^`hkd&wv@b<)K{5S`5E5&J45=lPhL3({n- z;%WE^P-UeTC0%fck;|uvpDUP?*dtshK>9;2&H7`%F!k&FN1y4E zKSz2imGwZv%7yj(+HL6-g$k3qr=T!iP%NY8;6OLr}@_W9S?pSCgP#poMepIB8AHfB9(-P?|PCkxj;@b zHpoc^Cm5V&$ksm1dB38@U+8CZ<->B#FQ#wo=W;iQfo8sTQQnsmj;tV>Vo~&etkyk3 zk0Dz>ibT;zKt&^V;y*&2KaCHq=J0}FSI<$NCVCEb#V9}!Mm?*%^GkNr4jFN>)v+t=^O5V!UhfHtB=uh=AH)Z8$}w-7DmI+^%g$fi+Bv< zK|9SPShZclf0m&gpBY4cDF_Wq_)=FzmZy$AXFhE)EIrm2#B1{SmvC*6|6`!j;#^ZM zISuTCdij#wc)7jFXp&4&jAGUi1a6FMAQD%q<8T;gNVdTNm_Vl^bRCElfDXxacnV$A z1+wWZ8xA^vAWFybsaZO9mUL{8h+MdfmtL{U6>~tQD{rD~zMZNlBj8%tzsrVMJ3-<- zhc3HkHUU1J*oL#+HUy;&rP-%-9Chw%@$!BV5%xk#{$t?5bNta)-N!ox) zPg=OfOEx)aHZAPHd-^6a+QeuV9Cs7db8FcQ(Up*3t=UFVS-Co}CJ#%_=)Lo$M^Q@# z#oJmo?LwWknxpP&Mr~V1n^^snUlYQexLg{5!r7?!i88wv0rKP!~Zn42G8TXk0gR{IHG!SMF=0bxT^q z^;9mZZZdqp+|{&LfnWEBNTaZ?wW072ZWc8jK~xCqlFQ8Rr++aOh#5lciGQ%A-a(Ff zarGD}U&7*?0oQTEJP0<~6B0jKnl|koT~hV`6~7V!16#SRR!tRiwO9_YRS9b+7AbRJ zY|{i6ZR&hUkt2rkX}sc(c@DLv>ENsoJ|`_$q}cBYMzH0Y!w4kWguVn?TWx5S5 zWw)famffy1wT2&%U;aTO@`K6EP5SRFDMyUzR%3j_Zxwz|4 zj{xz60E>c}`19+9dI*AUf4N3*Clf*2T2%WIuc2=NOP+=|pjfC|3b^;ihya@1QonwZ+7@zoip67Kd(!EZVgMnt{Pdy44lDYsN-fmAQ;6y!b=|Y z=O$J!0WB|;_d`mpDOzRnip}t2BlWf&5@i)Sf#yjPKA5kzE|EGzF9T$HeBV*%O&^zwY*H4S#mv&GHVF7UAhE@NPCF**k>Nxz!@aCkGBYo9 znHA;GSOPU4Qge`IK-gg7NfGj}pz#&LQik8lY*_DU_=BM7KxX6QocOO~T!=m8G+WU! zarC--5r$74>O;L)PB>j~DDR4QzdZ||A=4NSEDOsE#M^@XR+G1&r93;UrMxHidNK)D zg_e*ew0`=#7XP4ptZtASm*hsLCVb}*_%IJ=>$|Y}qt3j@lI+O*-0}ACUD2uOB?s7l zE$X}CI1Ad9bv@H{rKj^^tR+&;o>-&8$6q(DDYTY-Q8zVOx3#iJQz#2jsk}$33!26k zz+rk=_M8GHeVz=ogh2)gjTWI2s|&2iPYj{K zfd`_G7Z&kyv(+V*i6o#!KKlZyN6r9GZ6kJyh41JQq>P?HNU3iJO0b<;Kui)8(`xX= z(ohn>8JiE}F!h5>DBH8DKk^w?NE;(r_cr39a)ZggNaz2NTeEwaL~jT&L{V7)Td_%+ zXoRMXU5vTAH2q{vzI`ZVSrv7wqYvr|7-jVXRCW4Zl@%S!btgCgLUM4pRWhTq6El$$ zBoCb!YdRrPQFfERTUuj=v);6PtH*b{8L5Weu9Y2g|FR||i{sDN8(izbXJ%l?;I zNojFFb%MVgO&w~Ww9A!ul?UltM1DO`(>KOyIlIRM|G`4xVgEk_7CRq+ClJ`%()g1Q z*!tnpjuQwh9k%cv3G7t5B*A42X@7;l?#|%ji3DcVd`w{THoIe@%ISuJL47BD_;k8Dh8X?UK!OiM|t^ok_&Pg}qDm*0m9% zI4}%`R1_+Y`P=HVC7K1jks>hC+d2l{DyL#+qLMs27Eq zMNBfYJZaD`-gIz-4+drJ;gkiecd|sWC47p|8tL%puPhdk%)t@RU}%R7WD&oAJg$P zJw^Ig&0eu9EqgY$ixuH_b-FlrJTbBUii>pg$E(vTqEpD%l5x;)rDq2`emtqII_>KP zNYoA`@vXBx)ugj%QYHImIUr@IT#wDfcvpNLqhnoTuSc9^!um*>YXAl*_EaTjIab zuXlMG+N6M|{>W{?s`?}If;Yui>Mx<-wE81Ug4JAS^)!f0Z2S)XXgj73wf9_Z!T9AC z48~1YG^g=J(;Q+6xSa@Vj%&h!v0tHzkBOYJ2fVAND2I<1oqT#{@-GFPC$Cp_lzo-w zqV)@V9tZ$D-p)im;F+=BN($=rI=uo`y_rug(3zC}dOMy-S6jhVdIUtlHJ#R&2X)8GWRCpjt{47?@^m@gi(N%mM7{vI>XCHaaiG#t1JH|u67kEG9~xqD zfLvU&h~xDRhDsgHl>%-TE&<8$X7&tUA2}$+p$kZk zJPy60^-GQL+4!v*q+7{bq!{IViv_tc7UuhO!T3;GvYSnvVoH2Lv^_< z3@q&e@oQI*9zUX+C)IP!Q1f!l#r5LmwkrUGHif&0yl(qOCYyvQ-DVY_RsIsEuH0C3 zKE>FvjGaUevQD%9W>_Bo4yS}SZ2zsum9fdR31nrT zNfV;w8O{|fGFEhMdMKB*g1JyeiE>rHJZ)z149j-vN2i6}so=yiw!{?t*BOw^3nIol zgv8ikb`RWB87-zva)Bss+2EB2L%l676b*gFB0Qnp;^>PKu?IAScoYbMnmrZkKgg;` z|F>*Yi!6!d+dKAGQ^oC4#Tld>5A~PWvjx_$OQjx!j`-ufWM?aB+6}>8Nsm8CqHHeBFfi_<)PH#8M!$Nb3dy!~`joXfM#iIZYQyH}gr_hC2{<1rqh zhuiewMhaooJ-QfIbODp>krT*Rq_4aLOhXeWL?ZN{}*Y6deIG=}0L=aXaAl(Qjh7_sgFP)2FJW!2UK09nbAXVot~Y}mX1C+1C@%k zWKddH=(4Vz>o+Ys%uq!YRENPeyFCDBKT70lADEK4OvhX!9MCH{too~fkqd97Chu@S z6vR@o3LeLXx@?ne%~w^S0r;&6t&9>oL|cM=G`!gXH$}sBY}5%Rh)(E)rKoPh0NVt2 zb|3S4D;HtU#=Ye$)%_%tujd|Sz)N1py z+gkL(rI`~QnJb6jU>A-dqVI8@t7XNdXNF@YwQr-3ePiM~%M zBOjC2YzsEvSv^RRK^#g!qd*2f*3+=oqp1&(2x!|d58UmD(6rS<*PIz{UQheUIIE

EeNF{wzoRI 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 L%j7-kMfU#y3R~r_ literal 0 HcmV?d00001 From 6b0612d5a1045fb0168c7af7631aba2df8053377 Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Tue, 6 May 2014 09:27:51 +0300 Subject: [PATCH 2/5] ParserGen: Linux binding generation Add code to generate Linux bindings. This is experimental for now. Signed-off-by: Tomi Valkeinen --- src/CppParser/Bindings/ParserGen.cs | 33 +++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/CppParser/Bindings/ParserGen.cs b/src/CppParser/Bindings/ParserGen.cs index 608dfc6a..83cae6f3 100644 --- a/src/CppParser/Bindings/ParserGen.cs +++ b/src/CppParser/Bindings/ParserGen.cs @@ -14,6 +14,8 @@ namespace CppSharp /// class ParserGen : ILibrary { + const string LINUX_INCLUDE_BASE_DIR = "../../../../deps/x86_64-linux-gnu"; + internal readonly GeneratorKind Kind; internal readonly string Triple; internal readonly CppAbi Abi; @@ -63,6 +65,9 @@ namespace CppSharp if (Triple.Contains("apple")) SetupMacOptions(options); + if (Triple.Contains("linux")) + SetupLinuxOptions(options); + var basePath = Path.Combine(GetSourceDirectory("src"), "CppParser"); options.addIncludeDirs(basePath); options.addLibraryDirs("."); @@ -77,6 +82,26 @@ namespace CppSharp options.CheckSymbols = false; } + private static void SetupLinuxOptions(DriverOptions options) + { + options.MicrosoftMode = false; + options.NoBuiltinIncludes = true; + + string[] sysincdirs = new[] { + "/usr/include/c++/4.8", + "/usr/include/x86_64-linux-gnu/c++/4.8", + "/usr/include/c++/4.8/backward", + "/usr/lib/gcc/x86_64-linux-gnu/4.8/include", + "/usr/include/x86_64-linux-gnu", + "/usr/include", + }; + + foreach (var dir in sysincdirs) + { + options.addSystemIncludeDirs(LINUX_INCLUDE_BASE_DIR + dir); + } + } + private static void SetupMacOptions(DriverOptions options) { options.MicrosoftMode = false; @@ -131,6 +156,14 @@ namespace CppSharp CppAbi.Itanium)); Console.WriteLine(); } + + if (Directory.Exists(LINUX_INCLUDE_BASE_DIR)) + { + Console.WriteLine("Generating the C# parser bindings for Linux..."); + ConsoleDriver.Run(new ParserGen(GeneratorKind.CSharp, "x86_64-linux-gnu", + CppAbi.Itanium)); + Console.WriteLine(); + } } } From f7810b47d84d0542b8e860c5382fef1d80cd993f Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Tue, 6 May 2014 09:50:49 +0300 Subject: [PATCH 3/5] CppParser: add generated linux bindings Add C# Bindings for CppParser for 64 bit Linux. Signed-off-by: Tomi Valkeinen --- .../Bindings/CSharp/x86_64-linux-gnu/AST.cs | 7756 +++++++++++++++++ .../CSharp/x86_64-linux-gnu/CppParser.cs | 924 ++ .../CSharp/x86_64-linux-gnu/Sources.cs | 84 + .../CSharp/x86_64-linux-gnu/Target.cs | 796 ++ 4 files changed, 9560 insertions(+) create mode 100644 src/CppParser/Bindings/CSharp/x86_64-linux-gnu/AST.cs create mode 100644 src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppParser.cs create mode 100644 src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Sources.cs create mode 100644 src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Target.cs diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/AST.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/AST.cs new file mode 100644 index 00000000..0fca2a83 --- /dev/null +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/AST.cs @@ -0,0 +1,7756 @@ +//---------------------------------------------------------------------------- +// This is autogenerated code by CppSharp. +// Do not edit this file or all your changes will be lost after re-generation. +//---------------------------------------------------------------------------- +using System; +using System.Runtime.InteropServices; +using System.Security; + +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum TypeKind + { + Tag = 0, + Array = 1, + Function = 2, + Pointer = 3, + MemberPointer = 4, + Typedef = 5, + Attributed = 6, + Decayed = 7, + TemplateSpecialization = 8, + TemplateParameter = 9, + TemplateParameterSubstitution = 10, + InjectedClassName = 11, + DependentName = 12, + PackExpansion = 13, + Builtin = 14 + } + + public enum DeclarationKind + { + DeclarationContext = 0, + Typedef = 1, + Parameter = 2, + Function = 3, + Method = 4, + Enumeration = 5, + EnumerationItem = 6, + Variable = 7, + Field = 8, + AccessSpecifier = 9, + Class = 10, + Template = 11, + ClassTemplate = 12, + ClassTemplateSpecialization = 13, + ClassTemplatePartialSpecialization = 14, + FunctionTemplate = 15, + Namespace = 16, + PreprocessedEntity = 17, + MacroDefinition = 18, + MacroExpansion = 19, + TranslationUnit = 20 + } + + public enum AccessSpecifier + { + Private = 0, + Protected = 1, + Public = 2 + } + + public enum CXXMethodKind + { + Normal = 0, + Constructor = 1, + Destructor = 2, + Conversion = 3, + Operator = 4, + UsingDirective = 5 + } + + public enum CXXOperatorKind + { + None = 0, + New = 1, + Delete = 2, + Array_New = 3, + Array_Delete = 4, + Plus = 5, + Minus = 6, + Star = 7, + Slash = 8, + Percent = 9, + Caret = 10, + Amp = 11, + Pipe = 12, + Tilde = 13, + Exclaim = 14, + Equal = 15, + Less = 16, + Greater = 17, + PlusEqual = 18, + MinusEqual = 19, + StarEqual = 20, + SlashEqual = 21, + PercentEqual = 22, + CaretEqual = 23, + AmpEqual = 24, + PipeEqual = 25, + LessLess = 26, + GreaterGreater = 27, + LessLessEqual = 28, + GreaterGreaterEqual = 29, + EqualEqual = 30, + ExclaimEqual = 31, + LessEqual = 32, + GreaterEqual = 33, + AmpAmp = 34, + PipePipe = 35, + PlusPlus = 36, + MinusMinus = 37, + Comma = 38, + ArrowStar = 39, + Arrow = 40, + Call = 41, + Subscript = 42, + Conditional = 43 + } + + public enum CallingConvention + { + Default = 0, + C = 1, + StdCall = 2, + ThisCall = 3, + FastCall = 4, + Unknown = 5 + } + + public enum StatementClass + { + Any = 0, + DeclRefExprClass = 1, + CXXConstructExprClass = 2 + } + + public enum TemplateSpecializationKind + { + Undeclared = 0, + ImplicitInstantiation = 1, + ExplicitSpecialization = 2, + ExplicitInstantiationDeclaration = 3, + ExplicitInstantiationDefinition = 4 + } + + public enum CppAbi + { + Itanium = 0, + Microsoft = 1, + ARM = 2 + } + + public enum VTableComponentKind + { + VCallOffset = 0, + VBaseOffset = 1, + OffsetToTop = 2, + RTTI = 3, + FunctionPointer = 4, + CompleteDtorPointer = 5, + DeletingDtorPointer = 6, + UnusedFunctionPointer = 7 + } + + public enum PrimitiveType + { + Null = 0, + Void = 1, + Bool = 2, + WideChar = 3, + Char = 4, + UChar = 5, + Short = 6, + UShort = 7, + Int = 8, + UInt = 9, + Long = 10, + ULong = 11, + LongLong = 12, + ULongLong = 13, + Float = 14, + Double = 15, + IntPtr = 16 + } + + public enum RawCommentKind + { + Invalid = 0, + OrdinaryBCPL = 1, + OrdinaryC = 2, + BCPLSlash = 3, + BCPLExcl = 4, + JavaDoc = 5, + Qt = 6, + Merged = 7 + } + + public enum CommentKind + { + FullComment = 0 + } + + public enum MacroLocation + { + Unknown = 0, + ClassHead = 1, + ClassBody = 2, + FunctionHead = 3, + FunctionParameters = 4, + FunctionBody = 5 + } + + public unsafe partial class Type : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public bool IsDependent; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4TypeC2ENS1_8TypeKindE")] + internal static extern void ctor_0(global::System.IntPtr instance, CppSharp.Parser.AST.TypeKind kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4TypeC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + internal Type(Type.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal Type(Type.Internal native) + : this(&native) + { + } + + public Type(global::System.IntPtr native, bool isInternalImpl = false) + { + __Instance = native; + } + + public Type(CppSharp.Parser.AST.TypeKind kind) + { + __Instance = Marshal.AllocHGlobal(8); + var arg0 = kind; + Internal.ctor_0(__Instance, arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.TypeKind Kind + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Kind; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Kind = value; + } + } + + public bool IsDependent + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsDependent; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsDependent = value; + } + } + } + + public unsafe partial class TypeQualifiers : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 3)] + public partial struct Internal + { + [FieldOffset(0)] + public bool IsConst; + + [FieldOffset(1)] + public bool IsVolatile; + + [FieldOffset(2)] + public bool IsRestrict; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14TypeQualifiersC2ERKS2_")] + internal static extern void cctor_0(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + internal TypeQualifiers(TypeQualifiers.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal TypeQualifiers(TypeQualifiers.Internal native) + : this(&native) + { + } + + public TypeQualifiers(global::System.IntPtr native, bool isInternalImpl = false) + { + __Instance = native; + } + + public TypeQualifiers() + { + __Instance = Marshal.AllocHGlobal(3); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Marshal.FreeHGlobal(__Instance); + } + + public bool IsConst + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsConst; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsConst = value; + } + } + + public bool IsVolatile + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsVolatile; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsVolatile = value; + } + } + + public bool IsRestrict + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsRestrict; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsRestrict = value; + } + } + } + + public unsafe partial class QualifiedType : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct Internal + { + [FieldOffset(0)] + public global::System.IntPtr Type; + + [FieldOffset(8)] + public CppSharp.Parser.AST.TypeQualifiers.Internal Qualifiers; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13QualifiedTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13QualifiedTypeC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + internal QualifiedType(QualifiedType.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal QualifiedType(QualifiedType.Internal native) + : this(&native) + { + } + + public QualifiedType(global::System.IntPtr native, bool isInternalImpl = false) + { + __Instance = native; + } + + public QualifiedType() + { + __Instance = Marshal.AllocHGlobal(16); + Internal.ctor_0(__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.Type Type + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return (__ptr->Type == IntPtr.Zero) ? null : new CppSharp.Parser.AST.Type(__ptr->Type); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Type = value == (CppSharp.Parser.AST.Type) null ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public CppSharp.Parser.AST.TypeQualifiers Qualifiers + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __instance = Marshal.AllocHGlobal(3); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__ptr->Qualifiers), new UIntPtr(3)); + return (__instance == IntPtr.Zero) ? null : new CppSharp.Parser.AST.TypeQualifiers(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Qualifiers = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.TypeQualifiers.Internal() : *(CppSharp.Parser.AST.TypeQualifiers.Internal*) (value.__Instance); + } + } + } + + public unsafe partial class TagType : CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public bool IsDependent; + + [FieldOffset(8)] + public global::System.IntPtr Declaration; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + internal TagType(TagType.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal TagType(TagType.Internal native) + : this(&native) + { + } + + public TagType(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public TagType() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(16); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.AST.Declaration Declaration + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return (__ptr->Declaration == IntPtr.Zero) ? null : new CppSharp.Parser.AST.Declaration(__ptr->Declaration); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Declaration = value == (CppSharp.Parser.AST.Declaration) null ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ArrayType : CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public bool IsDependent; + + [FieldOffset(8)] + public CppSharp.Parser.AST.QualifiedType.Internal QualifiedType; + + [FieldOffset(24)] + public CppSharp.Parser.AST.ArrayType.ArraySize SizeType; + + [FieldOffset(32)] + public long Size; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public enum ArraySize + { + Constant = 0, + Variable = 1, + Dependent = 2, + Incomplete = 3 + } + + internal ArrayType(ArrayType.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal ArrayType(ArrayType.Internal native) + : this(&native) + { + } + + public ArrayType(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public ArrayType() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(40); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __instance = Marshal.AllocHGlobal(16); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__ptr->QualifiedType), new UIntPtr(16)); + return (__instance == IntPtr.Zero) ? null : new CppSharp.Parser.AST.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->QualifiedType = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + + public CppSharp.Parser.AST.ArrayType.ArraySize SizeType + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->SizeType; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->SizeType = value; + } + } + + public long Size + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Size; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Size = value; + } + } + } + + public unsafe partial class FunctionType : CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public bool IsDependent; + + [FieldOffset(8)] + public CppSharp.Parser.AST.QualifiedType.Internal ReturnType; + + [FieldOffset(24)] + public CppSharp.Parser.AST.CallingConvention CallingConvention; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13getParametersEj")] + internal static extern global::System.IntPtr getParameters_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13addParametersERPNS1_9ParameterE")] + internal static extern void addParameters_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType15clearParametersEv")] + internal static extern void clearParameters_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType18getParametersCountEv")] + internal static extern uint getParametersCount_0(global::System.IntPtr instance); + } + + internal FunctionType(FunctionType.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal FunctionType(FunctionType.Internal native) + : this(&native) + { + } + + public FunctionType(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public FunctionType() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(56); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.AST.Parameter getParameters(uint i) + { + var __ret = Internal.getParameters_0(__Instance, i); + if (__ret == global::System.IntPtr.Zero) return null; + return (__ret == IntPtr.Zero) ? null : new CppSharp.Parser.AST.Parameter(__ret); + } + + public void addParameters(CppSharp.Parser.AST.Parameter s) + { + var arg0 = s == (CppSharp.Parser.AST.Parameter) null ? global::System.IntPtr.Zero : s.__Instance; + Internal.addParameters_0(__Instance, arg0); + } + + public void clearParameters() + { + Internal.clearParameters_0(__Instance); + } + + public uint ParametersCount + { + get + { + var __ret = Internal.getParametersCount_0(__Instance); + return __ret; + } + } + + public CppSharp.Parser.AST.QualifiedType ReturnType + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __instance = Marshal.AllocHGlobal(16); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__ptr->ReturnType), new UIntPtr(16)); + return (__instance == IntPtr.Zero) ? null : new CppSharp.Parser.AST.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->ReturnType = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + + public CppSharp.Parser.AST.CallingConvention CallingConvention + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->CallingConvention; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->CallingConvention = value; + } + } + } + + public unsafe partial class PointerType : CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public bool IsDependent; + + [FieldOffset(8)] + public CppSharp.Parser.AST.QualifiedType.Internal QualifiedPointee; + + [FieldOffset(24)] + public CppSharp.Parser.AST.PointerType.TypeModifier Modifier; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public enum TypeModifier + { + Value = 0, + Pointer = 1, + LVReference = 2, + RVReference = 3 + } + + internal PointerType(PointerType.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal PointerType(PointerType.Internal native) + : this(&native) + { + } + + public PointerType(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public PointerType() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(32); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.AST.QualifiedType QualifiedPointee + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __instance = Marshal.AllocHGlobal(16); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__ptr->QualifiedPointee), new UIntPtr(16)); + return (__instance == IntPtr.Zero) ? null : new CppSharp.Parser.AST.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->QualifiedPointee = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + + public CppSharp.Parser.AST.PointerType.TypeModifier Modifier + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Modifier; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Modifier = value; + } + } + } + + public unsafe partial class MemberPointerType : CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public bool IsDependent; + + [FieldOffset(8)] + public CppSharp.Parser.AST.QualifiedType.Internal Pointee; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + internal MemberPointerType(MemberPointerType.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal MemberPointerType(MemberPointerType.Internal native) + : this(&native) + { + } + + public MemberPointerType(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public MemberPointerType() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(24); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.AST.QualifiedType Pointee + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __instance = Marshal.AllocHGlobal(16); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__ptr->Pointee), new UIntPtr(16)); + return (__instance == IntPtr.Zero) ? null : new CppSharp.Parser.AST.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Pointee = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + } + + public unsafe partial class TypedefType : CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public bool IsDependent; + + [FieldOffset(8)] + public global::System.IntPtr Declaration; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + internal TypedefType(TypedefType.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal TypedefType(TypedefType.Internal native) + : this(&native) + { + } + + public TypedefType(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public TypedefType() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(16); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.AST.TypedefDecl Declaration + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return (__ptr->Declaration == IntPtr.Zero) ? null : new CppSharp.Parser.AST.TypedefDecl(__ptr->Declaration); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Declaration = value == (CppSharp.Parser.AST.TypedefDecl) null ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class AttributedType : CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public bool IsDependent; + + [FieldOffset(8)] + public CppSharp.Parser.AST.QualifiedType.Internal Modified; + + [FieldOffset(24)] + public CppSharp.Parser.AST.QualifiedType.Internal Equivalent; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + internal AttributedType(AttributedType.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal AttributedType(AttributedType.Internal native) + : this(&native) + { + } + + public AttributedType(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public AttributedType() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(40); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.AST.QualifiedType Modified + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __instance = Marshal.AllocHGlobal(16); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__ptr->Modified), new UIntPtr(16)); + return (__instance == IntPtr.Zero) ? null : new CppSharp.Parser.AST.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Modified = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + + public CppSharp.Parser.AST.QualifiedType Equivalent + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __instance = Marshal.AllocHGlobal(16); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__ptr->Equivalent), new UIntPtr(16)); + return (__instance == IntPtr.Zero) ? null : new CppSharp.Parser.AST.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Equivalent = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + } + + public unsafe partial class DecayedType : CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public bool IsDependent; + + [FieldOffset(8)] + public CppSharp.Parser.AST.QualifiedType.Internal Decayed; + + [FieldOffset(24)] + public CppSharp.Parser.AST.QualifiedType.Internal Original; + + [FieldOffset(40)] + public CppSharp.Parser.AST.QualifiedType.Internal Pointee; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + internal DecayedType(DecayedType.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal DecayedType(DecayedType.Internal native) + : this(&native) + { + } + + public DecayedType(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public DecayedType() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(56); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.AST.QualifiedType Decayed + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __instance = Marshal.AllocHGlobal(16); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__ptr->Decayed), new UIntPtr(16)); + return (__instance == IntPtr.Zero) ? null : new CppSharp.Parser.AST.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Decayed = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + + public CppSharp.Parser.AST.QualifiedType Original + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __instance = Marshal.AllocHGlobal(16); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__ptr->Original), new UIntPtr(16)); + return (__instance == IntPtr.Zero) ? null : new CppSharp.Parser.AST.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Original = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + + public CppSharp.Parser.AST.QualifiedType Pointee + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __instance = Marshal.AllocHGlobal(16); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__ptr->Pointee), new UIntPtr(16)); + return (__instance == IntPtr.Zero) ? null : new CppSharp.Parser.AST.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Pointee = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + } + + public unsafe partial class TemplateArgument : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind; + + [FieldOffset(8)] + public CppSharp.Parser.AST.QualifiedType.Internal Type; + + [FieldOffset(24)] + public global::System.IntPtr Declaration; + + [FieldOffset(32)] + public long Integral; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public enum ArgumentKind + { + Type = 0, + Declaration = 1, + NullPtr = 2, + Integral = 3, + Template = 4, + TemplateExpansion = 5, + Expression = 6, + Pack = 7 + } + + public global::System.IntPtr __Instance { get; protected set; } + + internal TemplateArgument(TemplateArgument.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal TemplateArgument(TemplateArgument.Internal native) + : this(&native) + { + } + + public TemplateArgument(global::System.IntPtr native, bool isInternalImpl = false) + { + __Instance = native; + } + + public TemplateArgument() + { + __Instance = Marshal.AllocHGlobal(40); + Internal.ctor_0(__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Kind; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Kind = value; + } + } + + public CppSharp.Parser.AST.QualifiedType Type + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __instance = Marshal.AllocHGlobal(16); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__ptr->Type), new UIntPtr(16)); + return (__instance == IntPtr.Zero) ? null : new CppSharp.Parser.AST.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Type = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + + public CppSharp.Parser.AST.Declaration Declaration + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return (__ptr->Declaration == IntPtr.Zero) ? null : new CppSharp.Parser.AST.Declaration(__ptr->Declaration); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Declaration = value == (CppSharp.Parser.AST.Declaration) null ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public long Integral + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Integral; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Integral = value; + } + } + } + + public unsafe partial class TemplateSpecializationType : CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public bool IsDependent; + + [FieldOffset(32)] + public global::System.IntPtr Template; + + [FieldOffset(40)] + public global::System.IntPtr Desugared; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12getArgumentsEj")] + internal static extern void getArguments_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void addArguments_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType14clearArgumentsEv")] + internal static extern void clearArguments_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType17getArgumentsCountEv")] + internal static extern uint getArgumentsCount_0(global::System.IntPtr instance); + } + + internal TemplateSpecializationType(TemplateSpecializationType.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal TemplateSpecializationType(TemplateSpecializationType.Internal native) + : this(&native) + { + } + + public TemplateSpecializationType(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public TemplateSpecializationType() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(48); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.AST.TemplateArgument getArguments(uint i) + { + var __ret = new CppSharp.Parser.AST.TemplateArgument.Internal(); + Internal.getArguments_0(new IntPtr(&__ret), __Instance, i); + var __instance = Marshal.AllocHGlobal(40); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__ret), new UIntPtr(40)); + return (__instance == IntPtr.Zero) ? null : new CppSharp.Parser.AST.TemplateArgument(__instance); + } + + public void addArguments(CppSharp.Parser.AST.TemplateArgument s) + { + var arg0 = s == (CppSharp.Parser.AST.TemplateArgument) null ? global::System.IntPtr.Zero : s.__Instance; + Internal.addArguments_0(__Instance, arg0); + } + + public void clearArguments() + { + Internal.clearArguments_0(__Instance); + } + + public uint ArgumentsCount + { + get + { + var __ret = Internal.getArgumentsCount_0(__Instance); + return __ret; + } + } + + public CppSharp.Parser.AST.Template Template + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return (__ptr->Template == IntPtr.Zero) ? null : new CppSharp.Parser.AST.Template(__ptr->Template); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Template = value == (CppSharp.Parser.AST.Template) null ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public CppSharp.Parser.AST.Type Desugared + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return (__ptr->Desugared == IntPtr.Zero) ? null : new CppSharp.Parser.AST.Type(__ptr->Desugared); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Desugared = value == (CppSharp.Parser.AST.Type) null ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class TemplateParameter : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct Internal + { + [FieldOffset(8)] + public bool IsTypeParameter; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZNK8CppSharp9CppParser3AST17TemplateParametereqERKS2_")] + [return: MarshalAsAttribute(UnmanagedType.I1)] + internal static extern bool OperatorEqualEqual_0(global::System.IntPtr instance, global::System.IntPtr param); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameter7getNameEv")] + internal static extern global::System.IntPtr getName_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameter7setNameEPKc")] + internal static extern void setName_0(global::System.IntPtr instance, global::System.IntPtr s); + } + + public global::System.IntPtr __Instance { get; protected set; } + + internal TemplateParameter(TemplateParameter.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal TemplateParameter(TemplateParameter.Internal native) + : this(&native) + { + } + + public TemplateParameter(global::System.IntPtr native, bool isInternalImpl = false) + { + __Instance = native; + } + + public TemplateParameter() + { + __Instance = Marshal.AllocHGlobal(16); + Internal.ctor_0(__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Internal.dtor_0(__Instance); + Marshal.FreeHGlobal(__Instance); + } + + public static bool operator !=(CppSharp.Parser.AST.TemplateParameter __op, CppSharp.Parser.AST.TemplateParameter param) + { + return !(__op == param); + } + + public static bool operator ==(CppSharp.Parser.AST.TemplateParameter __op, CppSharp.Parser.AST.TemplateParameter param) + { + var arg0 = __op == (CppSharp.Parser.AST.TemplateParameter) null ? global::System.IntPtr.Zero : __op.__Instance; + var arg1 = param == (CppSharp.Parser.AST.TemplateParameter) null ? global::System.IntPtr.Zero : param.__Instance; + var __ret = Internal.OperatorEqualEqual_0(__op.__Instance, arg1); + return __ret; + } + + public string Name + { + get + { + var __ret = Internal.getName_0(__Instance); + if (__ret == global::System.IntPtr.Zero) return null; + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setName_0(__Instance, arg0); + Marshal.FreeHGlobal(arg0); + } + } + + public bool IsTypeParameter + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsTypeParameter; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsTypeParameter = value; + } + } + } + + public unsafe partial class TemplateParameterType : CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public bool IsDependent; + + [FieldOffset(8)] + public CppSharp.Parser.AST.TemplateParameter.Internal Parameter; + + [FieldOffset(24)] + public uint Depth; + + [FieldOffset(28)] + public uint Index; + + [FieldOffset(32)] + public bool IsParameterPack; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } + + internal TemplateParameterType(TemplateParameterType.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal TemplateParameterType(TemplateParameterType.Internal native) + : this(&native) + { + } + + public TemplateParameterType(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public TemplateParameterType() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(40); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.AST.TemplateParameter Parameter + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __instance = Marshal.AllocHGlobal(16); + CppSharp.Parser.AST.TemplateParameter.Internal.cctor_1(__instance, new global::System.IntPtr(&__ptr->Parameter)); + return (__instance == IntPtr.Zero) ? null : new CppSharp.Parser.AST.TemplateParameter(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Parameter = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.TemplateParameter.Internal() : *(CppSharp.Parser.AST.TemplateParameter.Internal*) (value.__Instance); + } + } + + public uint Depth + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Depth; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Depth = value; + } + } + + public uint Index + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Index; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Index = value; + } + } + + public bool IsParameterPack + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsParameterPack; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsParameterPack = value; + } + } + } + + public unsafe partial class TemplateParameterSubstitutionType : CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public bool IsDependent; + + [FieldOffset(8)] + public CppSharp.Parser.AST.QualifiedType.Internal Replacement; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + internal TemplateParameterSubstitutionType(TemplateParameterSubstitutionType.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal TemplateParameterSubstitutionType(TemplateParameterSubstitutionType.Internal native) + : this(&native) + { + } + + public TemplateParameterSubstitutionType(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public TemplateParameterSubstitutionType() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(24); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.AST.QualifiedType Replacement + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __instance = Marshal.AllocHGlobal(16); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__ptr->Replacement), new UIntPtr(16)); + return (__instance == IntPtr.Zero) ? null : new CppSharp.Parser.AST.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Replacement = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + } + + public unsafe partial class InjectedClassNameType : CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public bool IsDependent; + + [FieldOffset(8)] + public global::System.IntPtr TemplateSpecialization; + + [FieldOffset(16)] + public global::System.IntPtr Class; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + internal InjectedClassNameType(InjectedClassNameType.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal InjectedClassNameType(InjectedClassNameType.Internal native) + : this(&native) + { + } + + public InjectedClassNameType(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public InjectedClassNameType() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(24); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.AST.TemplateSpecializationType TemplateSpecialization + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return (__ptr->TemplateSpecialization == IntPtr.Zero) ? null : new CppSharp.Parser.AST.TemplateSpecializationType(__ptr->TemplateSpecialization); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->TemplateSpecialization = value == (CppSharp.Parser.AST.TemplateSpecializationType) null ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public CppSharp.Parser.AST.Class Class + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return (__ptr->Class == IntPtr.Zero) ? null : new CppSharp.Parser.AST.Class(__ptr->Class); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Class = value == (CppSharp.Parser.AST.Class) null ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class DependentNameType : CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public bool IsDependent; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + internal DependentNameType(DependentNameType.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal DependentNameType(DependentNameType.Internal native) + : this(&native) + { + } + + public DependentNameType(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public DependentNameType() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(8); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + } + + public unsafe partial class PackExpansionType : CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public bool IsDependent; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + internal PackExpansionType(PackExpansionType.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal PackExpansionType(PackExpansionType.Internal native) + : this(&native) + { + } + + public PackExpansionType(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public PackExpansionType() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(8); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + } + + public unsafe partial class BuiltinType : CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public bool IsDependent; + + [FieldOffset(8)] + public CppSharp.Parser.AST.PrimitiveType Type; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + internal BuiltinType(BuiltinType.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal BuiltinType(BuiltinType.Internal native) + : this(&native) + { + } + + public BuiltinType(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public BuiltinType() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(12); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.AST.PrimitiveType Type + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Type; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Type = value; + } + } + } + + public unsafe partial class VTableComponent : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.VTableComponentKind Kind; + + [FieldOffset(4)] + public uint Offset; + + [FieldOffset(8)] + public global::System.IntPtr Declaration; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + internal VTableComponent(VTableComponent.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal VTableComponent(VTableComponent.Internal native) + : this(&native) + { + } + + public VTableComponent(global::System.IntPtr native, bool isInternalImpl = false) + { + __Instance = native; + } + + public VTableComponent() + { + __Instance = Marshal.AllocHGlobal(16); + Internal.ctor_0(__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.VTableComponentKind Kind + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Kind; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Kind = value; + } + } + + public uint Offset + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Offset; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Offset = value; + } + } + + public CppSharp.Parser.AST.Declaration Declaration + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return (__ptr->Declaration == IntPtr.Zero) ? null : new CppSharp.Parser.AST.Declaration(__ptr->Declaration); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Declaration = value == (CppSharp.Parser.AST.Declaration) null ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class VTableLayout : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13getComponentsEj")] + internal static extern CppSharp.Parser.AST.VTableComponent.Internal getComponents_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13addComponentsERNS1_15VTableComponentE")] + internal static extern void addComponents_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout15clearComponentsEv")] + internal static extern void clearComponents_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout18getComponentsCountEv")] + internal static extern uint getComponentsCount_0(global::System.IntPtr instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + internal VTableLayout(VTableLayout.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal VTableLayout(VTableLayout.Internal native) + : this(&native) + { + } + + public VTableLayout(global::System.IntPtr native, bool isInternalImpl = false) + { + __Instance = native; + } + + public VTableLayout() + { + __Instance = Marshal.AllocHGlobal(24); + Internal.ctor_0(__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Internal.dtor_0(__Instance); + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.VTableComponent getComponents(uint i) + { + var __ret = Internal.getComponents_0(__Instance, i); + var __instance = Marshal.AllocHGlobal(16); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__ret), new UIntPtr(16)); + return (__instance == IntPtr.Zero) ? null : new CppSharp.Parser.AST.VTableComponent(__instance); + } + + public void addComponents(CppSharp.Parser.AST.VTableComponent s) + { + var arg0 = s == (CppSharp.Parser.AST.VTableComponent) null ? global::System.IntPtr.Zero : s.__Instance; + Internal.addComponents_0(__Instance, arg0); + } + + public void clearComponents() + { + Internal.clearComponents_0(__Instance); + } + + public uint ComponentsCount + { + get + { + var __ret = Internal.getComponentsCount_0(__Instance); + return __ret; + } + } + } + + public unsafe partial class VFTableInfo : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct Internal + { + [FieldOffset(0)] + public ulong VBTableIndex; + + [FieldOffset(8)] + public uint VFPtrOffset; + + [FieldOffset(12)] + public uint VFPtrFullOffset; + + [FieldOffset(16)] + public CppSharp.Parser.AST.VTableLayout.Internal Layout; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + internal VFTableInfo(VFTableInfo.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal VFTableInfo(VFTableInfo.Internal native) + : this(&native) + { + } + + public VFTableInfo(global::System.IntPtr native, bool isInternalImpl = false) + { + __Instance = native; + } + + public VFTableInfo() + { + __Instance = Marshal.AllocHGlobal(40); + Internal.ctor_0(__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Internal.dtor_0(__Instance); + Marshal.FreeHGlobal(__Instance); + } + + public ulong VBTableIndex + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->VBTableIndex; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->VBTableIndex = value; + } + } + + public uint VFPtrOffset + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->VFPtrOffset; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->VFPtrOffset = value; + } + } + + public uint VFPtrFullOffset + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->VFPtrFullOffset; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->VFPtrFullOffset = value; + } + } + + public CppSharp.Parser.AST.VTableLayout Layout + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __instance = Marshal.AllocHGlobal(24); + CppSharp.Parser.AST.VTableLayout.Internal.cctor_1(__instance, new global::System.IntPtr(&__ptr->Layout)); + return (__instance == IntPtr.Zero) ? null : new CppSharp.Parser.AST.VTableLayout(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Layout = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.VTableLayout.Internal() : *(CppSharp.Parser.AST.VTableLayout.Internal*) (value.__Instance); + } + } + } + + public unsafe partial class ClassLayout : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.CppAbi ABI; + + [FieldOffset(32)] + public CppSharp.Parser.AST.VTableLayout.Internal Layout; + + [FieldOffset(56)] + public bool HasOwnVFPtr; + + [FieldOffset(64)] + public long VBPtrOffset; + + [FieldOffset(72)] + public int Alignment; + + [FieldOffset(76)] + public int Size; + + [FieldOffset(80)] + public int DataSize; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11getVFTablesEj")] + internal static extern void getVFTables_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11addVFTablesERNS1_11VFTableInfoE")] + internal static extern void addVFTables_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13clearVFTablesEv")] + internal static extern void clearVFTables_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout16getVFTablesCountEv")] + internal static extern uint getVFTablesCount_0(global::System.IntPtr instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + internal ClassLayout(ClassLayout.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal ClassLayout(ClassLayout.Internal native) + : this(&native) + { + } + + public ClassLayout(global::System.IntPtr native, bool isInternalImpl = false) + { + __Instance = native; + } + + public ClassLayout() + { + __Instance = Marshal.AllocHGlobal(88); + Internal.ctor_0(__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Internal.dtor_0(__Instance); + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.VFTableInfo getVFTables(uint i) + { + var __ret = new CppSharp.Parser.AST.VFTableInfo.Internal(); + Internal.getVFTables_0(new IntPtr(&__ret), __Instance, i); + var __instance = Marshal.AllocHGlobal(40); + CppSharp.Parser.AST.VFTableInfo.Internal.cctor_1(__instance, new global::System.IntPtr(&__ret)); + return (__instance == IntPtr.Zero) ? null : new CppSharp.Parser.AST.VFTableInfo(__instance); + } + + public void addVFTables(CppSharp.Parser.AST.VFTableInfo s) + { + var arg0 = s == (CppSharp.Parser.AST.VFTableInfo) null ? global::System.IntPtr.Zero : s.__Instance; + Internal.addVFTables_0(__Instance, arg0); + } + + public void clearVFTables() + { + Internal.clearVFTables_0(__Instance); + } + + public uint VFTablesCount + { + get + { + var __ret = Internal.getVFTablesCount_0(__Instance); + return __ret; + } + } + + public CppSharp.Parser.AST.CppAbi ABI + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->ABI; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->ABI = value; + } + } + + public CppSharp.Parser.AST.VTableLayout Layout + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __instance = Marshal.AllocHGlobal(24); + CppSharp.Parser.AST.VTableLayout.Internal.cctor_1(__instance, new global::System.IntPtr(&__ptr->Layout)); + return (__instance == IntPtr.Zero) ? null : new CppSharp.Parser.AST.VTableLayout(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Layout = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.VTableLayout.Internal() : *(CppSharp.Parser.AST.VTableLayout.Internal*) (value.__Instance); + } + } + + public bool HasOwnVFPtr + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->HasOwnVFPtr; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->HasOwnVFPtr = value; + } + } + + public long VBPtrOffset + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->VBPtrOffset; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->VBPtrOffset = value; + } + } + + public int Alignment + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Alignment; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Alignment = value; + } + } + + public int Size + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Size; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Size = value; + } + } + + public int DataSize + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->DataSize; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->DataSize = value; + } + } + } + + public unsafe partial class Declaration : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(32)] + public global::System.IntPtr Comment; + + [FieldOffset(48)] + public bool IsIncomplete; + + [FieldOffset(49)] + public bool IsDependent; + + [FieldOffset(56)] + public global::System.IntPtr CompleteDeclaration; + + [FieldOffset(64)] + public uint DefinitionOrder; + + [FieldOffset(96)] + public void* OriginalPtr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE")] + internal static extern void ctor_0(global::System.IntPtr instance, CppSharp.Parser.AST.DeclarationKind kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23getPreprocessedEntitiesEj")] + internal static extern global::System.IntPtr getPreprocessedEntities_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23addPreprocessedEntitiesERPNS1_18PreprocessedEntityE")] + internal static extern void addPreprocessedEntities_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration25clearPreprocessedEntitiesEv")] + internal static extern void clearPreprocessedEntities_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration7getNameEv")] + internal static extern global::System.IntPtr getName_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration7setNameEPKc")] + internal static extern void setName_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration12getDebugTextEv")] + internal static extern global::System.IntPtr getDebugText_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration12setDebugTextEPKc")] + internal static extern void setDebugText_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv")] + internal static extern uint getPreprocessedEntitiesCount_0(global::System.IntPtr instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + internal Declaration(Declaration.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal Declaration(Declaration.Internal native) + : this(&native) + { + } + + public Declaration(global::System.IntPtr native, bool isInternalImpl = false) + { + __Instance = native; + } + + public Declaration(CppSharp.Parser.AST.DeclarationKind kind) + { + __Instance = Marshal.AllocHGlobal(112); + var arg0 = kind; + Internal.ctor_0(__Instance, arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Internal.dtor_0(__Instance); + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.PreprocessedEntity getPreprocessedEntities(uint i) + { + var __ret = Internal.getPreprocessedEntities_0(__Instance, i); + if (__ret == global::System.IntPtr.Zero) return null; + return (__ret == IntPtr.Zero) ? null : new CppSharp.Parser.AST.PreprocessedEntity(__ret); + } + + public void addPreprocessedEntities(CppSharp.Parser.AST.PreprocessedEntity s) + { + var arg0 = s == (CppSharp.Parser.AST.PreprocessedEntity) null ? global::System.IntPtr.Zero : s.__Instance; + Internal.addPreprocessedEntities_0(__Instance, arg0); + } + + public void clearPreprocessedEntities() + { + Internal.clearPreprocessedEntities_0(__Instance); + } + + public string Name + { + get + { + var __ret = Internal.getName_0(__Instance); + if (__ret == global::System.IntPtr.Zero) return null; + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setName_0(__Instance, arg0); + Marshal.FreeHGlobal(arg0); + } + } + + public string DebugText + { + get + { + var __ret = Internal.getDebugText_0(__Instance); + if (__ret == global::System.IntPtr.Zero) return null; + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setDebugText_0(__Instance, arg0); + Marshal.FreeHGlobal(arg0); + } + } + + public uint PreprocessedEntitiesCount + { + get + { + var __ret = Internal.getPreprocessedEntitiesCount_0(__Instance); + return __ret; + } + } + + public CppSharp.Parser.AST.DeclarationKind Kind + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Kind; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Kind = value; + } + } + + public CppSharp.Parser.AST.AccessSpecifier Access + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Access; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Access = value; + } + } + + public CppSharp.Parser.AST.DeclarationContext _Namespace + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return (__ptr->_Namespace == IntPtr.Zero) ? null : new CppSharp.Parser.AST.DeclarationContext(__ptr->_Namespace); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->_Namespace = value == (CppSharp.Parser.AST.DeclarationContext) null ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public CppSharp.Parser.SourceLocation Location + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return new CppSharp.Parser.SourceLocation(__ptr->Location); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Location = value.ToInternal(); + } + } + + public CppSharp.Parser.AST.RawComment Comment + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return (__ptr->Comment == IntPtr.Zero) ? null : new CppSharp.Parser.AST.RawComment(__ptr->Comment); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Comment = value == (CppSharp.Parser.AST.RawComment) null ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsIncomplete + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsIncomplete; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsIncomplete = value; + } + } + + public bool IsDependent + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsDependent; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsDependent = value; + } + } + + public CppSharp.Parser.AST.Declaration CompleteDeclaration + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return (__ptr->CompleteDeclaration == IntPtr.Zero) ? null : new CppSharp.Parser.AST.Declaration(__ptr->CompleteDeclaration); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->CompleteDeclaration = value == (CppSharp.Parser.AST.Declaration) null ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint DefinitionOrder + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->DefinitionOrder; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->DefinitionOrder = value; + } + } + + public void* OriginalPtr + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->OriginalPtr; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->OriginalPtr = value; + } + } + } + + public unsafe partial class DeclarationContext : CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 336)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(32)] + public global::System.IntPtr Comment; + + [FieldOffset(48)] + public bool IsIncomplete; + + [FieldOffset(49)] + public bool IsDependent; + + [FieldOffset(56)] + public global::System.IntPtr CompleteDeclaration; + + [FieldOffset(64)] + public uint DefinitionOrder; + + [FieldOffset(96)] + public void* OriginalPtr; + + [FieldOffset(328)] + public bool IsAnonymous; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ENS1_15DeclarationKindE")] + internal static extern void ctor_0(global::System.IntPtr instance, CppSharp.Parser.AST.DeclarationKind kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getNamespacesEj")] + internal static extern global::System.IntPtr getNamespaces_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13addNamespacesERPNS1_9NamespaceE")] + internal static extern void addNamespaces_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15clearNamespacesEv")] + internal static extern void clearNamespaces_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8getEnumsEj")] + internal static extern global::System.IntPtr getEnums_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8addEnumsERPNS1_11EnumerationE")] + internal static extern void addEnums_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10clearEnumsEv")] + internal static extern void clearEnums_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getFunctionsEj")] + internal static extern global::System.IntPtr getFunctions_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addFunctionsERPNS1_8FunctionE")] + internal static extern void addFunctions_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearFunctionsEv")] + internal static extern void clearFunctions_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getClassesEj")] + internal static extern global::System.IntPtr getClasses_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addClassesERPNS1_5ClassE")] + internal static extern void addClasses_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearClassesEv")] + internal static extern void clearClasses_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getTemplatesEj")] + internal static extern global::System.IntPtr getTemplates_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addTemplatesERPNS1_8TemplateE")] + internal static extern void addTemplates_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearTemplatesEv")] + internal static extern void clearTemplates_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11getTypedefsEj")] + internal static extern global::System.IntPtr getTypedefs_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11addTypedefsERPNS1_11TypedefDeclE")] + internal static extern void addTypedefs_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13clearTypedefsEv")] + internal static extern void clearTypedefs_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getVariablesEj")] + internal static extern global::System.IntPtr getVariables_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addVariablesERPNS1_8VariableE")] + internal static extern void addVariables_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearVariablesEv")] + internal static extern void clearVariables_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext18getNamespacesCountEv")] + internal static extern uint getNamespacesCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getEnumsCountEv")] + internal static extern uint getEnumsCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getFunctionsCountEv")] + internal static extern uint getFunctionsCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getClassesCountEv")] + internal static extern uint getClassesCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getTemplatesCountEv")] + internal static extern uint getTemplatesCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16getTypedefsCountEv")] + internal static extern uint getTypedefsCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getVariablesCountEv")] + internal static extern uint getVariablesCount_0(global::System.IntPtr instance); + } + + internal DeclarationContext(DeclarationContext.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal DeclarationContext(DeclarationContext.Internal native) + : this(&native) + { + } + + public DeclarationContext(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public DeclarationContext(CppSharp.Parser.AST.DeclarationKind kind) + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(336); + var arg0 = kind; + Internal.ctor_0(__Instance, arg0); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.AST.Namespace getNamespaces(uint i) + { + var __ret = Internal.getNamespaces_0(__Instance, i); + if (__ret == global::System.IntPtr.Zero) return null; + return (__ret == IntPtr.Zero) ? null : new CppSharp.Parser.AST.Namespace(__ret); + } + + public void addNamespaces(CppSharp.Parser.AST.Namespace s) + { + var arg0 = s == (CppSharp.Parser.AST.Namespace) null ? global::System.IntPtr.Zero : s.__Instance; + Internal.addNamespaces_0(__Instance, arg0); + } + + public void clearNamespaces() + { + Internal.clearNamespaces_0(__Instance); + } + + public CppSharp.Parser.AST.Enumeration getEnums(uint i) + { + var __ret = Internal.getEnums_0(__Instance, i); + if (__ret == global::System.IntPtr.Zero) return null; + return (__ret == IntPtr.Zero) ? null : new CppSharp.Parser.AST.Enumeration(__ret); + } + + public void addEnums(CppSharp.Parser.AST.Enumeration s) + { + var arg0 = s == (CppSharp.Parser.AST.Enumeration) null ? global::System.IntPtr.Zero : s.__Instance; + Internal.addEnums_0(__Instance, arg0); + } + + public void clearEnums() + { + Internal.clearEnums_0(__Instance); + } + + public CppSharp.Parser.AST.Function getFunctions(uint i) + { + var __ret = Internal.getFunctions_0(__Instance, i); + if (__ret == global::System.IntPtr.Zero) return null; + return (__ret == IntPtr.Zero) ? null : new CppSharp.Parser.AST.Function(__ret); + } + + public void addFunctions(CppSharp.Parser.AST.Function s) + { + var arg0 = s == (CppSharp.Parser.AST.Function) null ? global::System.IntPtr.Zero : s.__Instance; + Internal.addFunctions_0(__Instance, arg0); + } + + public void clearFunctions() + { + Internal.clearFunctions_0(__Instance); + } + + public CppSharp.Parser.AST.Class getClasses(uint i) + { + var __ret = Internal.getClasses_0(__Instance, i); + if (__ret == global::System.IntPtr.Zero) return null; + return (__ret == IntPtr.Zero) ? null : new CppSharp.Parser.AST.Class(__ret); + } + + public void addClasses(CppSharp.Parser.AST.Class s) + { + var arg0 = s == (CppSharp.Parser.AST.Class) null ? global::System.IntPtr.Zero : s.__Instance; + Internal.addClasses_0(__Instance, arg0); + } + + public void clearClasses() + { + Internal.clearClasses_0(__Instance); + } + + public CppSharp.Parser.AST.Template getTemplates(uint i) + { + var __ret = Internal.getTemplates_0(__Instance, i); + if (__ret == global::System.IntPtr.Zero) return null; + return (__ret == IntPtr.Zero) ? null : new CppSharp.Parser.AST.Template(__ret); + } + + public void addTemplates(CppSharp.Parser.AST.Template s) + { + var arg0 = s == (CppSharp.Parser.AST.Template) null ? global::System.IntPtr.Zero : s.__Instance; + Internal.addTemplates_0(__Instance, arg0); + } + + public void clearTemplates() + { + Internal.clearTemplates_0(__Instance); + } + + public CppSharp.Parser.AST.TypedefDecl getTypedefs(uint i) + { + var __ret = Internal.getTypedefs_0(__Instance, i); + if (__ret == global::System.IntPtr.Zero) return null; + return (__ret == IntPtr.Zero) ? null : new CppSharp.Parser.AST.TypedefDecl(__ret); + } + + public void addTypedefs(CppSharp.Parser.AST.TypedefDecl s) + { + var arg0 = s == (CppSharp.Parser.AST.TypedefDecl) null ? global::System.IntPtr.Zero : s.__Instance; + Internal.addTypedefs_0(__Instance, arg0); + } + + public void clearTypedefs() + { + Internal.clearTypedefs_0(__Instance); + } + + public CppSharp.Parser.AST.Variable getVariables(uint i) + { + var __ret = Internal.getVariables_0(__Instance, i); + if (__ret == global::System.IntPtr.Zero) return null; + return (__ret == IntPtr.Zero) ? null : new CppSharp.Parser.AST.Variable(__ret); + } + + public void addVariables(CppSharp.Parser.AST.Variable s) + { + var arg0 = s == (CppSharp.Parser.AST.Variable) null ? global::System.IntPtr.Zero : s.__Instance; + Internal.addVariables_0(__Instance, arg0); + } + + public void clearVariables() + { + Internal.clearVariables_0(__Instance); + } + + public uint NamespacesCount + { + get + { + var __ret = Internal.getNamespacesCount_0(__Instance); + return __ret; + } + } + + public uint EnumsCount + { + get + { + var __ret = Internal.getEnumsCount_0(__Instance); + return __ret; + } + } + + public uint FunctionsCount + { + get + { + var __ret = Internal.getFunctionsCount_0(__Instance); + return __ret; + } + } + + public uint ClassesCount + { + get + { + var __ret = Internal.getClassesCount_0(__Instance); + return __ret; + } + } + + public uint TemplatesCount + { + get + { + var __ret = Internal.getTemplatesCount_0(__Instance); + return __ret; + } + } + + public uint TypedefsCount + { + get + { + var __ret = Internal.getTypedefsCount_0(__Instance); + return __ret; + } + } + + public uint VariablesCount + { + get + { + var __ret = Internal.getVariablesCount_0(__Instance); + return __ret; + } + } + + public bool IsAnonymous + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsAnonymous; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsAnonymous = value; + } + } + } + + public unsafe partial class TypedefDecl : CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 128)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(32)] + public global::System.IntPtr Comment; + + [FieldOffset(48)] + public bool IsIncomplete; + + [FieldOffset(49)] + public bool IsDependent; + + [FieldOffset(56)] + public global::System.IntPtr CompleteDeclaration; + + [FieldOffset(64)] + public uint DefinitionOrder; + + [FieldOffset(96)] + public void* OriginalPtr; + + [FieldOffset(112)] + public CppSharp.Parser.AST.QualifiedType.Internal QualifiedType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } + + internal TypedefDecl(TypedefDecl.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal TypedefDecl(TypedefDecl.Internal native) + : this(&native) + { + } + + public TypedefDecl(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public TypedefDecl() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(128); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __instance = Marshal.AllocHGlobal(16); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__ptr->QualifiedType), new UIntPtr(16)); + return (__instance == IntPtr.Zero) ? null : new CppSharp.Parser.AST.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->QualifiedType = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + } + + public unsafe partial class Statement : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.StatementClass Class; + + [FieldOffset(8)] + public global::System.IntPtr Decl; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKSsNS1_14StatementClassEPNS1_11DeclarationE")] + internal static extern void ctor_0(global::System.IntPtr instance, global::System.IntPtr str, CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9StatementD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9Statement9getStringEv")] + internal static extern global::System.IntPtr getString_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9Statement9setStringEPKc")] + internal static extern void setString_0(global::System.IntPtr instance, global::System.IntPtr s); + } + + public global::System.IntPtr __Instance { get; protected set; } + + internal Statement(Statement.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal Statement(Statement.Internal native) + : this(&native) + { + } + + public Statement(global::System.IntPtr native, bool isInternalImpl = false) + { + __Instance = native; + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Internal.dtor_0(__Instance); + Marshal.FreeHGlobal(__Instance); + } + + public string String + { + get + { + var __ret = Internal.getString_0(__Instance); + if (__ret == global::System.IntPtr.Zero) return null; + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setString_0(__Instance, arg0); + Marshal.FreeHGlobal(arg0); + } + } + + public CppSharp.Parser.AST.StatementClass Class + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Class; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Class = value; + } + } + + public CppSharp.Parser.AST.Declaration Decl + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return (__ptr->Decl == IntPtr.Zero) ? null : new CppSharp.Parser.AST.Declaration(__ptr->Decl); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Decl = value == (CppSharp.Parser.AST.Declaration) null ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class Expression : CppSharp.Parser.AST.Statement, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.StatementClass Class; + + [FieldOffset(8)] + public global::System.IntPtr Decl; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionC2ERKSsNS1_14StatementClassEPNS1_11DeclarationE")] + internal static extern void ctor_0(global::System.IntPtr instance, global::System.IntPtr str, CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } + + internal Expression(Expression.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal Expression(Expression.Internal native) + : this(&native) + { + } + + public Expression(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + } + + public unsafe partial class Parameter : CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 144)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(32)] + public global::System.IntPtr Comment; + + [FieldOffset(48)] + public bool IsIncomplete; + + [FieldOffset(49)] + public bool IsDependent; + + [FieldOffset(56)] + public global::System.IntPtr CompleteDeclaration; + + [FieldOffset(64)] + public uint DefinitionOrder; + + [FieldOffset(96)] + public void* OriginalPtr; + + [FieldOffset(112)] + public CppSharp.Parser.AST.QualifiedType.Internal QualifiedType; + + [FieldOffset(128)] + public bool IsIndirect; + + [FieldOffset(129)] + public bool HasDefaultValue; + + [FieldOffset(132)] + public uint Index; + + [FieldOffset(136)] + public global::System.IntPtr DefaultArgument; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } + + internal Parameter(Parameter.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal Parameter(Parameter.Internal native) + : this(&native) + { + } + + public Parameter(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public Parameter() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(144); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __instance = Marshal.AllocHGlobal(16); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__ptr->QualifiedType), new UIntPtr(16)); + return (__instance == IntPtr.Zero) ? null : new CppSharp.Parser.AST.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->QualifiedType = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + + public bool IsIndirect + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsIndirect; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsIndirect = value; + } + } + + public bool HasDefaultValue + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->HasDefaultValue; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->HasDefaultValue = value; + } + } + + public uint Index + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Index; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Index = value; + } + } + + public CppSharp.Parser.AST.Expression DefaultArgument + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return (__ptr->DefaultArgument == IntPtr.Zero) ? null : new CppSharp.Parser.AST.Expression(__ptr->DefaultArgument); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->DefaultArgument = value == (CppSharp.Parser.AST.Expression) null ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class Function : CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 200)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(32)] + public global::System.IntPtr Comment; + + [FieldOffset(48)] + public bool IsIncomplete; + + [FieldOffset(49)] + public bool IsDependent; + + [FieldOffset(56)] + public global::System.IntPtr CompleteDeclaration; + + [FieldOffset(64)] + public uint DefinitionOrder; + + [FieldOffset(96)] + public void* OriginalPtr; + + [FieldOffset(112)] + public CppSharp.Parser.AST.QualifiedType.Internal ReturnType; + + [FieldOffset(128)] + public bool IsReturnIndirect; + + [FieldOffset(129)] + public bool IsVariadic; + + [FieldOffset(130)] + public bool IsInline; + + [FieldOffset(131)] + public bool IsPure; + + [FieldOffset(132)] + public bool IsDeleted; + + [FieldOffset(136)] + public CppSharp.Parser.AST.CXXOperatorKind OperatorKind; + + [FieldOffset(160)] + public CppSharp.Parser.AST.CallingConvention CallingConvention; + + [FieldOffset(192)] + public global::System.IntPtr SpecializationInfo; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function13getParametersEj")] + internal static extern global::System.IntPtr getParameters_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function13addParametersERPNS1_9ParameterE")] + internal static extern void addParameters_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function15clearParametersEv")] + internal static extern void clearParameters_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function10getMangledEv")] + internal static extern global::System.IntPtr getMangled_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function10setMangledEPKc")] + internal static extern void setMangled_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function12getSignatureEv")] + internal static extern global::System.IntPtr getSignature_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function12setSignatureEPKc")] + internal static extern void setSignature_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv")] + internal static extern uint getParametersCount_0(global::System.IntPtr instance); + } + + internal Function(Function.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal Function(Function.Internal native) + : this(&native) + { + } + + public Function(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public Function() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(200); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.AST.Parameter getParameters(uint i) + { + var __ret = Internal.getParameters_0(__Instance, i); + if (__ret == global::System.IntPtr.Zero) return null; + return (__ret == IntPtr.Zero) ? null : new CppSharp.Parser.AST.Parameter(__ret); + } + + public void addParameters(CppSharp.Parser.AST.Parameter s) + { + var arg0 = s == (CppSharp.Parser.AST.Parameter) null ? global::System.IntPtr.Zero : s.__Instance; + Internal.addParameters_0(__Instance, arg0); + } + + public void clearParameters() + { + Internal.clearParameters_0(__Instance); + } + + public string Mangled + { + get + { + var __ret = Internal.getMangled_0(__Instance); + if (__ret == global::System.IntPtr.Zero) return null; + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setMangled_0(__Instance, arg0); + Marshal.FreeHGlobal(arg0); + } + } + + public string Signature + { + get + { + var __ret = Internal.getSignature_0(__Instance); + if (__ret == global::System.IntPtr.Zero) return null; + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setSignature_0(__Instance, arg0); + Marshal.FreeHGlobal(arg0); + } + } + + public uint ParametersCount + { + get + { + var __ret = Internal.getParametersCount_0(__Instance); + return __ret; + } + } + + public CppSharp.Parser.AST.QualifiedType ReturnType + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __instance = Marshal.AllocHGlobal(16); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__ptr->ReturnType), new UIntPtr(16)); + return (__instance == IntPtr.Zero) ? null : new CppSharp.Parser.AST.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->ReturnType = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + + public bool IsReturnIndirect + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsReturnIndirect; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsReturnIndirect = value; + } + } + + public bool IsVariadic + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsVariadic; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsVariadic = value; + } + } + + public bool IsInline + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsInline; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsInline = value; + } + } + + public bool IsPure + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsPure; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsPure = value; + } + } + + public bool IsDeleted + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsDeleted; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsDeleted = value; + } + } + + public CppSharp.Parser.AST.CXXOperatorKind OperatorKind + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->OperatorKind; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->OperatorKind = value; + } + } + + public CppSharp.Parser.AST.CallingConvention CallingConvention + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->CallingConvention; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->CallingConvention = value; + } + } + + public CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return (__ptr->SpecializationInfo == IntPtr.Zero) ? null : new CppSharp.Parser.AST.FunctionTemplateSpecialization(__ptr->SpecializationInfo); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->SpecializationInfo = value == (CppSharp.Parser.AST.FunctionTemplateSpecialization) null ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class Method : CppSharp.Parser.AST.Function, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 240)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(32)] + public global::System.IntPtr Comment; + + [FieldOffset(48)] + public bool IsIncomplete; + + [FieldOffset(49)] + public bool IsDependent; + + [FieldOffset(56)] + public global::System.IntPtr CompleteDeclaration; + + [FieldOffset(64)] + public uint DefinitionOrder; + + [FieldOffset(96)] + public void* OriginalPtr; + + [FieldOffset(112)] + public CppSharp.Parser.AST.QualifiedType.Internal ReturnType; + + [FieldOffset(128)] + public bool IsReturnIndirect; + + [FieldOffset(129)] + public bool IsVariadic; + + [FieldOffset(130)] + public bool IsInline; + + [FieldOffset(131)] + public bool IsPure; + + [FieldOffset(132)] + public bool IsDeleted; + + [FieldOffset(136)] + public CppSharp.Parser.AST.CXXOperatorKind OperatorKind; + + [FieldOffset(160)] + public CppSharp.Parser.AST.CallingConvention CallingConvention; + + [FieldOffset(192)] + public global::System.IntPtr SpecializationInfo; + + [FieldOffset(200)] + public global::System.IntPtr AccessDecl; + + [FieldOffset(208)] + public bool IsVirtual; + + [FieldOffset(209)] + public bool IsStatic; + + [FieldOffset(210)] + public bool IsConst; + + [FieldOffset(211)] + public bool IsImplicit; + + [FieldOffset(212)] + public bool IsExplicit; + + [FieldOffset(213)] + public bool IsOverride; + + [FieldOffset(216)] + public CppSharp.Parser.AST.CXXMethodKind MethodKind; + + [FieldOffset(220)] + public bool IsDefaultConstructor; + + [FieldOffset(221)] + public bool IsCopyConstructor; + + [FieldOffset(222)] + public bool IsMoveConstructor; + + [FieldOffset(224)] + public CppSharp.Parser.AST.QualifiedType.Internal ConversionType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } + + internal Method(Method.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal Method(Method.Internal native) + : this(&native) + { + } + + public Method(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public Method() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(240); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.AST.AccessSpecifierDecl AccessDecl + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return (__ptr->AccessDecl == IntPtr.Zero) ? null : new CppSharp.Parser.AST.AccessSpecifierDecl(__ptr->AccessDecl); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->AccessDecl = value == (CppSharp.Parser.AST.AccessSpecifierDecl) null ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsVirtual + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsVirtual; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsVirtual = value; + } + } + + public bool IsStatic + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsStatic; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsStatic = value; + } + } + + public bool IsConst + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsConst; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsConst = value; + } + } + + public bool IsImplicit + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsImplicit; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsImplicit = value; + } + } + + public bool IsExplicit + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsExplicit; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsExplicit = value; + } + } + + public bool IsOverride + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsOverride; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsOverride = value; + } + } + + public CppSharp.Parser.AST.CXXMethodKind MethodKind + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->MethodKind; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->MethodKind = value; + } + } + + public bool IsDefaultConstructor + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsDefaultConstructor; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsDefaultConstructor = value; + } + } + + public bool IsCopyConstructor + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsCopyConstructor; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsCopyConstructor = value; + } + } + + public bool IsMoveConstructor + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsMoveConstructor; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsMoveConstructor = value; + } + } + + public CppSharp.Parser.AST.QualifiedType ConversionType + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __instance = Marshal.AllocHGlobal(16); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__ptr->ConversionType), new UIntPtr(16)); + return (__instance == IntPtr.Zero) ? null : new CppSharp.Parser.AST.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->ConversionType = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + } + + public unsafe partial class Enumeration : CppSharp.Parser.AST.DeclarationContext, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 376)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(32)] + public global::System.IntPtr Comment; + + [FieldOffset(48)] + public bool IsIncomplete; + + [FieldOffset(49)] + public bool IsDependent; + + [FieldOffset(56)] + public global::System.IntPtr CompleteDeclaration; + + [FieldOffset(64)] + public uint DefinitionOrder; + + [FieldOffset(96)] + public void* OriginalPtr; + + [FieldOffset(328)] + public bool IsAnonymous; + + [FieldOffset(332)] + public CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers; + + [FieldOffset(336)] + public global::System.IntPtr Type; + + [FieldOffset(344)] + public global::System.IntPtr BuiltinType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8getItemsEj")] + internal static extern void getItems_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8addItemsERNS2_4ItemE")] + internal static extern void addItems_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv")] + internal static extern void clearItems_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration13getItemsCountEv")] + internal static extern uint getItemsCount_0(global::System.IntPtr instance); + } + + [Flags] + public enum EnumModifiers + { + Anonymous = 1, + Scoped = 2, + Flags = 4 + } + + public unsafe partial class Item : CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 128)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(32)] + public global::System.IntPtr Comment; + + [FieldOffset(48)] + public bool IsIncomplete; + + [FieldOffset(49)] + public bool IsDependent; + + [FieldOffset(56)] + public global::System.IntPtr CompleteDeclaration; + + [FieldOffset(64)] + public uint DefinitionOrder; + + [FieldOffset(96)] + public void* OriginalPtr; + + [FieldOffset(120)] + public ulong Value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2ERKS3_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4Item13getExpressionEv")] + internal static extern global::System.IntPtr getExpression_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4Item13setExpressionEPKc")] + internal static extern void setExpression_0(global::System.IntPtr instance, global::System.IntPtr s); + } + + internal Item(Item.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal Item(Item.Internal native) + : this(&native) + { + } + + public Item(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public Item() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(128); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public string Expression + { + get + { + var __ret = Internal.getExpression_0(__Instance); + if (__ret == global::System.IntPtr.Zero) return null; + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setExpression_0(__Instance, arg0); + Marshal.FreeHGlobal(arg0); + } + } + + public ulong Value + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Value; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Value = value; + } + } + } + + internal Enumeration(Enumeration.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal Enumeration(Enumeration.Internal native) + : this(&native) + { + } + + public Enumeration(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public Enumeration() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(376); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.AST.Enumeration.Item getItems(uint i) + { + var __ret = new CppSharp.Parser.AST.Enumeration.Item.Internal(); + Internal.getItems_0(new IntPtr(&__ret), __Instance, i); + var __instance = Marshal.AllocHGlobal(128); + CppSharp.Parser.AST.Enumeration.Item.Internal.cctor_1(__instance, new global::System.IntPtr(&__ret)); + return (__instance == IntPtr.Zero) ? null : new CppSharp.Parser.AST.Enumeration.Item(__instance); + } + + public void addItems(CppSharp.Parser.AST.Enumeration.Item s) + { + var arg0 = s == (CppSharp.Parser.AST.Enumeration.Item) null ? global::System.IntPtr.Zero : s.__Instance; + Internal.addItems_0(__Instance, arg0); + } + + public void clearItems() + { + Internal.clearItems_0(__Instance); + } + + public uint ItemsCount + { + get + { + var __ret = Internal.getItemsCount_0(__Instance); + return __ret; + } + } + + public CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Modifiers; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Modifiers = value; + } + } + + public CppSharp.Parser.AST.Type Type + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return (__ptr->Type == IntPtr.Zero) ? null : new CppSharp.Parser.AST.Type(__ptr->Type); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Type = value == (CppSharp.Parser.AST.Type) null ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public CppSharp.Parser.AST.BuiltinType BuiltinType + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return (__ptr->BuiltinType == IntPtr.Zero) ? null : new CppSharp.Parser.AST.BuiltinType(__ptr->BuiltinType); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->BuiltinType = value == (CppSharp.Parser.AST.BuiltinType) null ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class Variable : CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 136)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(32)] + public global::System.IntPtr Comment; + + [FieldOffset(48)] + public bool IsIncomplete; + + [FieldOffset(49)] + public bool IsDependent; + + [FieldOffset(56)] + public global::System.IntPtr CompleteDeclaration; + + [FieldOffset(64)] + public uint DefinitionOrder; + + [FieldOffset(96)] + public void* OriginalPtr; + + [FieldOffset(120)] + public CppSharp.Parser.AST.QualifiedType.Internal QualifiedType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Variable10getMangledEv")] + internal static extern global::System.IntPtr getMangled_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Variable10setMangledEPKc")] + internal static extern void setMangled_0(global::System.IntPtr instance, global::System.IntPtr s); + } + + internal Variable(Variable.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal Variable(Variable.Internal native) + : this(&native) + { + } + + public Variable(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public Variable() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(136); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public string Mangled + { + get + { + var __ret = Internal.getMangled_0(__Instance); + if (__ret == global::System.IntPtr.Zero) return null; + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setMangled_0(__Instance, arg0); + Marshal.FreeHGlobal(arg0); + } + } + + public CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __instance = Marshal.AllocHGlobal(16); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__ptr->QualifiedType), new UIntPtr(16)); + return (__instance == IntPtr.Zero) ? null : new CppSharp.Parser.AST.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->QualifiedType = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + } + + public unsafe partial class BaseClassSpecifier : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(4)] + public bool IsVirtual; + + [FieldOffset(8)] + public global::System.IntPtr Type; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + internal BaseClassSpecifier(BaseClassSpecifier.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal BaseClassSpecifier(BaseClassSpecifier.Internal native) + : this(&native) + { + } + + public BaseClassSpecifier(global::System.IntPtr native, bool isInternalImpl = false) + { + __Instance = native; + } + + public BaseClassSpecifier() + { + __Instance = Marshal.AllocHGlobal(16); + Internal.ctor_0(__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.AccessSpecifier Access + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Access; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Access = value; + } + } + + public bool IsVirtual + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsVirtual; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsVirtual = value; + } + } + + public CppSharp.Parser.AST.Type Type + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return (__ptr->Type == IntPtr.Zero) ? null : new CppSharp.Parser.AST.Type(__ptr->Type); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Type = value == (CppSharp.Parser.AST.Type) null ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class Field : CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 144)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(32)] + public global::System.IntPtr Comment; + + [FieldOffset(48)] + public bool IsIncomplete; + + [FieldOffset(49)] + public bool IsDependent; + + [FieldOffset(56)] + public global::System.IntPtr CompleteDeclaration; + + [FieldOffset(64)] + public uint DefinitionOrder; + + [FieldOffset(96)] + public void* OriginalPtr; + + [FieldOffset(112)] + public CppSharp.Parser.AST.QualifiedType.Internal QualifiedType; + + [FieldOffset(128)] + public uint Offset; + + [FieldOffset(136)] + public global::System.IntPtr Class; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } + + internal Field(Field.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal Field(Field.Internal native) + : this(&native) + { + } + + public Field(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public Field() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(144); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __instance = Marshal.AllocHGlobal(16); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__ptr->QualifiedType), new UIntPtr(16)); + return (__instance == IntPtr.Zero) ? null : new CppSharp.Parser.AST.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->QualifiedType = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + + public uint Offset + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Offset; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Offset = value; + } + } + + public CppSharp.Parser.AST.Class Class + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return (__ptr->Class == IntPtr.Zero) ? null : new CppSharp.Parser.AST.Class(__ptr->Class); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Class = value == (CppSharp.Parser.AST.Class) null ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class AccessSpecifierDecl : CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(32)] + public global::System.IntPtr Comment; + + [FieldOffset(48)] + public bool IsIncomplete; + + [FieldOffset(49)] + public bool IsDependent; + + [FieldOffset(56)] + public global::System.IntPtr CompleteDeclaration; + + [FieldOffset(64)] + public uint DefinitionOrder; + + [FieldOffset(96)] + public void* OriginalPtr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } + + internal AccessSpecifierDecl(AccessSpecifierDecl.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal AccessSpecifierDecl(AccessSpecifierDecl.Internal native) + : this(&native) + { + } + + public AccessSpecifierDecl(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public AccessSpecifierDecl() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(112); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + } + + public unsafe partial class Class : CppSharp.Parser.AST.DeclarationContext, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 456)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(32)] + public global::System.IntPtr Comment; + + [FieldOffset(48)] + public bool IsIncomplete; + + [FieldOffset(49)] + public bool IsDependent; + + [FieldOffset(56)] + public global::System.IntPtr CompleteDeclaration; + + [FieldOffset(64)] + public uint DefinitionOrder; + + [FieldOffset(96)] + public void* OriginalPtr; + + [FieldOffset(328)] + public bool IsAnonymous; + + [FieldOffset(432)] + public bool IsPOD; + + [FieldOffset(433)] + public bool IsAbstract; + + [FieldOffset(434)] + public bool IsUnion; + + [FieldOffset(435)] + public bool IsDynamic; + + [FieldOffset(436)] + public bool IsPolymorphic; + + [FieldOffset(437)] + public bool HasNonTrivialDefaultConstructor; + + [FieldOffset(438)] + public bool HasNonTrivialCopyConstructor; + + [FieldOffset(439)] + public bool HasNonTrivialDestructor; + + [FieldOffset(440)] + public bool IsExternCContext; + + [FieldOffset(448)] + public global::System.IntPtr Layout; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class8getBasesEj")] + internal static extern global::System.IntPtr getBases_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class8addBasesERPNS1_18BaseClassSpecifierE")] + internal static extern void addBases_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10clearBasesEv")] + internal static extern void clearBases_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class9getFieldsEj")] + internal static extern global::System.IntPtr getFields_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class9addFieldsERPNS1_5FieldE")] + internal static extern void addFields_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class11clearFieldsEv")] + internal static extern void clearFields_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10getMethodsEj")] + internal static extern global::System.IntPtr getMethods_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10addMethodsERPNS1_6MethodE")] + internal static extern void addMethods_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class12clearMethodsEv")] + internal static extern void clearMethods_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getSpecifiersEj")] + internal static extern global::System.IntPtr getSpecifiers_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13addSpecifiersERPNS1_19AccessSpecifierDeclE")] + internal static extern void addSpecifiers_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class15clearSpecifiersEv")] + internal static extern void clearSpecifiers_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getBasesCountEv")] + internal static extern uint getBasesCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class14getFieldsCountEv")] + internal static extern uint getFieldsCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class15getMethodsCountEv")] + internal static extern uint getMethodsCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class18getSpecifiersCountEv")] + internal static extern uint getSpecifiersCount_0(global::System.IntPtr instance); + } + + internal Class(Class.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal Class(Class.Internal native) + : this(&native) + { + } + + public Class(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public Class() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(456); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.AST.BaseClassSpecifier getBases(uint i) + { + var __ret = Internal.getBases_0(__Instance, i); + if (__ret == global::System.IntPtr.Zero) return null; + return (__ret == IntPtr.Zero) ? null : new CppSharp.Parser.AST.BaseClassSpecifier(__ret); + } + + public void addBases(CppSharp.Parser.AST.BaseClassSpecifier s) + { + var arg0 = s == (CppSharp.Parser.AST.BaseClassSpecifier) null ? global::System.IntPtr.Zero : s.__Instance; + Internal.addBases_0(__Instance, arg0); + } + + public void clearBases() + { + Internal.clearBases_0(__Instance); + } + + public CppSharp.Parser.AST.Field getFields(uint i) + { + var __ret = Internal.getFields_0(__Instance, i); + if (__ret == global::System.IntPtr.Zero) return null; + return (__ret == IntPtr.Zero) ? null : new CppSharp.Parser.AST.Field(__ret); + } + + public void addFields(CppSharp.Parser.AST.Field s) + { + var arg0 = s == (CppSharp.Parser.AST.Field) null ? global::System.IntPtr.Zero : s.__Instance; + Internal.addFields_0(__Instance, arg0); + } + + public void clearFields() + { + Internal.clearFields_0(__Instance); + } + + public CppSharp.Parser.AST.Method getMethods(uint i) + { + var __ret = Internal.getMethods_0(__Instance, i); + if (__ret == global::System.IntPtr.Zero) return null; + return (__ret == IntPtr.Zero) ? null : new CppSharp.Parser.AST.Method(__ret); + } + + public void addMethods(CppSharp.Parser.AST.Method s) + { + var arg0 = s == (CppSharp.Parser.AST.Method) null ? global::System.IntPtr.Zero : s.__Instance; + Internal.addMethods_0(__Instance, arg0); + } + + public void clearMethods() + { + Internal.clearMethods_0(__Instance); + } + + public CppSharp.Parser.AST.AccessSpecifierDecl getSpecifiers(uint i) + { + var __ret = Internal.getSpecifiers_0(__Instance, i); + if (__ret == global::System.IntPtr.Zero) return null; + return (__ret == IntPtr.Zero) ? null : new CppSharp.Parser.AST.AccessSpecifierDecl(__ret); + } + + public void addSpecifiers(CppSharp.Parser.AST.AccessSpecifierDecl s) + { + var arg0 = s == (CppSharp.Parser.AST.AccessSpecifierDecl) null ? global::System.IntPtr.Zero : s.__Instance; + Internal.addSpecifiers_0(__Instance, arg0); + } + + public void clearSpecifiers() + { + Internal.clearSpecifiers_0(__Instance); + } + + public uint BasesCount + { + get + { + var __ret = Internal.getBasesCount_0(__Instance); + return __ret; + } + } + + public uint FieldsCount + { + get + { + var __ret = Internal.getFieldsCount_0(__Instance); + return __ret; + } + } + + public uint MethodsCount + { + get + { + var __ret = Internal.getMethodsCount_0(__Instance); + return __ret; + } + } + + public uint SpecifiersCount + { + get + { + var __ret = Internal.getSpecifiersCount_0(__Instance); + return __ret; + } + } + + public bool IsPOD + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsPOD; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsPOD = value; + } + } + + public bool IsAbstract + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsAbstract; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsAbstract = value; + } + } + + public bool IsUnion + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsUnion; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsUnion = value; + } + } + + public bool IsDynamic + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsDynamic; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsDynamic = value; + } + } + + public bool IsPolymorphic + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsPolymorphic; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsPolymorphic = value; + } + } + + public bool HasNonTrivialDefaultConstructor + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->HasNonTrivialDefaultConstructor; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->HasNonTrivialDefaultConstructor = value; + } + } + + public bool HasNonTrivialCopyConstructor + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->HasNonTrivialCopyConstructor; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->HasNonTrivialCopyConstructor = value; + } + } + + public bool HasNonTrivialDestructor + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->HasNonTrivialDestructor; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->HasNonTrivialDestructor = value; + } + } + + public bool IsExternCContext + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsExternCContext; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsExternCContext = value; + } + } + + public CppSharp.Parser.AST.ClassLayout Layout + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return (__ptr->Layout == IntPtr.Zero) ? null : new CppSharp.Parser.AST.ClassLayout(__ptr->Layout); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Layout = value == (CppSharp.Parser.AST.ClassLayout) null ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class Template : CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 144)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(32)] + public global::System.IntPtr Comment; + + [FieldOffset(48)] + public bool IsIncomplete; + + [FieldOffset(49)] + public bool IsDependent; + + [FieldOffset(56)] + public global::System.IntPtr CompleteDeclaration; + + [FieldOffset(64)] + public uint DefinitionOrder; + + [FieldOffset(96)] + public void* OriginalPtr; + + [FieldOffset(112)] + public global::System.IntPtr TemplatedDecl; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE")] + internal static extern void ctor_0(global::System.IntPtr instance, CppSharp.Parser.AST.DeclarationKind kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2Ev")] + internal static extern void ctor_1(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Template13getParametersEj")] + internal static extern void getParameters_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Template13addParametersERNS1_17TemplateParameterE")] + internal static extern void addParameters_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Template15clearParametersEv")] + internal static extern void clearParameters_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Template18getParametersCountEv")] + internal static extern uint getParametersCount_0(global::System.IntPtr instance); + } + + internal Template(Template.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal Template(Template.Internal native) + : this(&native) + { + } + + public Template(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public Template(CppSharp.Parser.AST.DeclarationKind kind) + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(144); + var arg0 = kind; + Internal.ctor_0(__Instance, arg0); + } + + public Template() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(144); + Internal.ctor_1(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.AST.TemplateParameter getParameters(uint i) + { + var __ret = new CppSharp.Parser.AST.TemplateParameter.Internal(); + Internal.getParameters_0(new IntPtr(&__ret), __Instance, i); + var __instance = Marshal.AllocHGlobal(16); + CppSharp.Parser.AST.TemplateParameter.Internal.cctor_1(__instance, new global::System.IntPtr(&__ret)); + return (__instance == IntPtr.Zero) ? null : new CppSharp.Parser.AST.TemplateParameter(__instance); + } + + public void addParameters(CppSharp.Parser.AST.TemplateParameter s) + { + var arg0 = s == (CppSharp.Parser.AST.TemplateParameter) null ? global::System.IntPtr.Zero : s.__Instance; + Internal.addParameters_0(__Instance, arg0); + } + + public void clearParameters() + { + Internal.clearParameters_0(__Instance); + } + + public uint ParametersCount + { + get + { + var __ret = Internal.getParametersCount_0(__Instance); + return __ret; + } + } + + public CppSharp.Parser.AST.Declaration TemplatedDecl + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return (__ptr->TemplatedDecl == IntPtr.Zero) ? null : new CppSharp.Parser.AST.Declaration(__ptr->TemplatedDecl); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->TemplatedDecl = value == (CppSharp.Parser.AST.Declaration) null ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ClassTemplate : CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 168)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(32)] + public global::System.IntPtr Comment; + + [FieldOffset(48)] + public bool IsIncomplete; + + [FieldOffset(49)] + public bool IsDependent; + + [FieldOffset(56)] + public global::System.IntPtr CompleteDeclaration; + + [FieldOffset(64)] + public uint DefinitionOrder; + + [FieldOffset(96)] + public void* OriginalPtr; + + [FieldOffset(112)] + public global::System.IntPtr TemplatedDecl; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr getSpecializations_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18addSpecializationsERPNS1_27ClassTemplateSpecializationE")] + internal static extern void addSpecializations_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate20clearSpecializationsEv")] + internal static extern void clearSpecializations_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate23getSpecializationsCountEv")] + internal static extern uint getSpecializationsCount_0(global::System.IntPtr instance); + } + + internal ClassTemplate(ClassTemplate.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal ClassTemplate(ClassTemplate.Internal native) + : this(&native) + { + } + + public ClassTemplate(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public ClassTemplate() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(168); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.AST.ClassTemplateSpecialization getSpecializations(uint i) + { + var __ret = Internal.getSpecializations_0(__Instance, i); + if (__ret == global::System.IntPtr.Zero) return null; + return (__ret == IntPtr.Zero) ? null : new CppSharp.Parser.AST.ClassTemplateSpecialization(__ret); + } + + public void addSpecializations(CppSharp.Parser.AST.ClassTemplateSpecialization s) + { + var arg0 = s == (CppSharp.Parser.AST.ClassTemplateSpecialization) null ? global::System.IntPtr.Zero : s.__Instance; + Internal.addSpecializations_0(__Instance, arg0); + } + + public void clearSpecializations() + { + Internal.clearSpecializations_0(__Instance); + } + + public uint SpecializationsCount + { + get + { + var __ret = Internal.getSpecializationsCount_0(__Instance); + return __ret; + } + } + } + + public unsafe partial class ClassTemplateSpecialization : CppSharp.Parser.AST.Class, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 496)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(32)] + public global::System.IntPtr Comment; + + [FieldOffset(48)] + public bool IsIncomplete; + + [FieldOffset(49)] + public bool IsDependent; + + [FieldOffset(56)] + public global::System.IntPtr CompleteDeclaration; + + [FieldOffset(64)] + public uint DefinitionOrder; + + [FieldOffset(96)] + public void* OriginalPtr; + + [FieldOffset(328)] + public bool IsAnonymous; + + [FieldOffset(432)] + public bool IsPOD; + + [FieldOffset(433)] + public bool IsAbstract; + + [FieldOffset(434)] + public bool IsUnion; + + [FieldOffset(435)] + public bool IsDynamic; + + [FieldOffset(436)] + public bool IsPolymorphic; + + [FieldOffset(437)] + public bool HasNonTrivialDefaultConstructor; + + [FieldOffset(438)] + public bool HasNonTrivialCopyConstructor; + + [FieldOffset(439)] + public bool HasNonTrivialDestructor; + + [FieldOffset(440)] + public bool IsExternCContext; + + [FieldOffset(448)] + public global::System.IntPtr Layout; + + [FieldOffset(456)] + public global::System.IntPtr TemplatedDecl; + + [FieldOffset(488)] + public CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12getArgumentsEj")] + internal static extern void getArguments_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void addArguments_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization14clearArgumentsEv")] + internal static extern void clearArguments_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization17getArgumentsCountEv")] + internal static extern uint getArgumentsCount_0(global::System.IntPtr instance); + } + + internal ClassTemplateSpecialization(ClassTemplateSpecialization.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal ClassTemplateSpecialization(ClassTemplateSpecialization.Internal native) + : this(&native) + { + } + + public ClassTemplateSpecialization(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public ClassTemplateSpecialization() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(496); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.AST.TemplateArgument getArguments(uint i) + { + var __ret = new CppSharp.Parser.AST.TemplateArgument.Internal(); + Internal.getArguments_0(new IntPtr(&__ret), __Instance, i); + var __instance = Marshal.AllocHGlobal(40); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__ret), new UIntPtr(40)); + return (__instance == IntPtr.Zero) ? null : new CppSharp.Parser.AST.TemplateArgument(__instance); + } + + public void addArguments(CppSharp.Parser.AST.TemplateArgument s) + { + var arg0 = s == (CppSharp.Parser.AST.TemplateArgument) null ? global::System.IntPtr.Zero : s.__Instance; + Internal.addArguments_0(__Instance, arg0); + } + + public void clearArguments() + { + Internal.clearArguments_0(__Instance); + } + + public uint ArgumentsCount + { + get + { + var __ret = Internal.getArgumentsCount_0(__Instance); + return __ret; + } + } + + public CppSharp.Parser.AST.ClassTemplate TemplatedDecl + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return (__ptr->TemplatedDecl == IntPtr.Zero) ? null : new CppSharp.Parser.AST.ClassTemplate(__ptr->TemplatedDecl); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->TemplatedDecl = value == (CppSharp.Parser.AST.ClassTemplate) null ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->SpecializationKind; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->SpecializationKind = value; + } + } + } + + public unsafe partial class ClassTemplatePartialSpecialization : CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 496)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(32)] + public global::System.IntPtr Comment; + + [FieldOffset(48)] + public bool IsIncomplete; + + [FieldOffset(49)] + public bool IsDependent; + + [FieldOffset(56)] + public global::System.IntPtr CompleteDeclaration; + + [FieldOffset(64)] + public uint DefinitionOrder; + + [FieldOffset(96)] + public void* OriginalPtr; + + [FieldOffset(328)] + public bool IsAnonymous; + + [FieldOffset(432)] + public bool IsPOD; + + [FieldOffset(433)] + public bool IsAbstract; + + [FieldOffset(434)] + public bool IsUnion; + + [FieldOffset(435)] + public bool IsDynamic; + + [FieldOffset(436)] + public bool IsPolymorphic; + + [FieldOffset(437)] + public bool HasNonTrivialDefaultConstructor; + + [FieldOffset(438)] + public bool HasNonTrivialCopyConstructor; + + [FieldOffset(439)] + public bool HasNonTrivialDestructor; + + [FieldOffset(440)] + public bool IsExternCContext; + + [FieldOffset(448)] + public global::System.IntPtr Layout; + + [FieldOffset(456)] + public global::System.IntPtr TemplatedDecl; + + [FieldOffset(488)] + public CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } + + internal ClassTemplatePartialSpecialization(ClassTemplatePartialSpecialization.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal ClassTemplatePartialSpecialization(ClassTemplatePartialSpecialization.Internal native) + : this(&native) + { + } + + public ClassTemplatePartialSpecialization(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public ClassTemplatePartialSpecialization() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(496); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + } + + public unsafe partial class FunctionTemplate : CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 168)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(32)] + public global::System.IntPtr Comment; + + [FieldOffset(48)] + public bool IsIncomplete; + + [FieldOffset(49)] + public bool IsDependent; + + [FieldOffset(56)] + public global::System.IntPtr CompleteDeclaration; + + [FieldOffset(64)] + public uint DefinitionOrder; + + [FieldOffset(96)] + public void* OriginalPtr; + + [FieldOffset(112)] + public global::System.IntPtr TemplatedDecl; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr getSpecializations_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18addSpecializationsERPNS1_30FunctionTemplateSpecializationE")] + internal static extern void addSpecializations_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate20clearSpecializationsEv")] + internal static extern void clearSpecializations_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv")] + internal static extern uint getSpecializationsCount_0(global::System.IntPtr instance); + } + + internal FunctionTemplate(FunctionTemplate.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal FunctionTemplate(FunctionTemplate.Internal native) + : this(&native) + { + } + + public FunctionTemplate(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public FunctionTemplate() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(168); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.AST.FunctionTemplateSpecialization getSpecializations(uint i) + { + var __ret = Internal.getSpecializations_0(__Instance, i); + if (__ret == global::System.IntPtr.Zero) return null; + return (__ret == IntPtr.Zero) ? null : new CppSharp.Parser.AST.FunctionTemplateSpecialization(__ret); + } + + public void addSpecializations(CppSharp.Parser.AST.FunctionTemplateSpecialization s) + { + var arg0 = s == (CppSharp.Parser.AST.FunctionTemplateSpecialization) null ? global::System.IntPtr.Zero : s.__Instance; + Internal.addSpecializations_0(__Instance, arg0); + } + + public void clearSpecializations() + { + Internal.clearSpecializations_0(__Instance); + } + + public uint SpecializationsCount + { + get + { + var __ret = Internal.getSpecializationsCount_0(__Instance); + return __ret; + } + } + } + + public unsafe partial class FunctionTemplateSpecialization : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public partial struct Internal + { + [FieldOffset(0)] + public global::System.IntPtr Template; + + [FieldOffset(32)] + public global::System.IntPtr SpecializedFunction; + + [FieldOffset(40)] + public CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12getArgumentsEj")] + internal static extern void getArguments_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void addArguments_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization14clearArgumentsEv")] + internal static extern void clearArguments_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization17getArgumentsCountEv")] + internal static extern uint getArgumentsCount_0(global::System.IntPtr instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + internal FunctionTemplateSpecialization(FunctionTemplateSpecialization.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal FunctionTemplateSpecialization(FunctionTemplateSpecialization.Internal native) + : this(&native) + { + } + + public FunctionTemplateSpecialization(global::System.IntPtr native, bool isInternalImpl = false) + { + __Instance = native; + } + + public FunctionTemplateSpecialization() + { + __Instance = Marshal.AllocHGlobal(48); + Internal.ctor_0(__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Internal.dtor_0(__Instance); + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.TemplateArgument getArguments(uint i) + { + var __ret = new CppSharp.Parser.AST.TemplateArgument.Internal(); + Internal.getArguments_0(new IntPtr(&__ret), __Instance, i); + var __instance = Marshal.AllocHGlobal(40); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__ret), new UIntPtr(40)); + return (__instance == IntPtr.Zero) ? null : new CppSharp.Parser.AST.TemplateArgument(__instance); + } + + public void addArguments(CppSharp.Parser.AST.TemplateArgument s) + { + var arg0 = s == (CppSharp.Parser.AST.TemplateArgument) null ? global::System.IntPtr.Zero : s.__Instance; + Internal.addArguments_0(__Instance, arg0); + } + + public void clearArguments() + { + Internal.clearArguments_0(__Instance); + } + + public uint ArgumentsCount + { + get + { + var __ret = Internal.getArgumentsCount_0(__Instance); + return __ret; + } + } + + public CppSharp.Parser.AST.FunctionTemplate Template + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return (__ptr->Template == IntPtr.Zero) ? null : new CppSharp.Parser.AST.FunctionTemplate(__ptr->Template); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Template = value == (CppSharp.Parser.AST.FunctionTemplate) null ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public CppSharp.Parser.AST.Function SpecializedFunction + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return (__ptr->SpecializedFunction == IntPtr.Zero) ? null : new CppSharp.Parser.AST.Function(__ptr->SpecializedFunction); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->SpecializedFunction = value == (CppSharp.Parser.AST.Function) null ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->SpecializationKind; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->SpecializationKind = value; + } + } + } + + public unsafe partial class Namespace : CppSharp.Parser.AST.DeclarationContext, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 336)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(32)] + public global::System.IntPtr Comment; + + [FieldOffset(48)] + public bool IsIncomplete; + + [FieldOffset(49)] + public bool IsDependent; + + [FieldOffset(56)] + public global::System.IntPtr CompleteDeclaration; + + [FieldOffset(64)] + public uint DefinitionOrder; + + [FieldOffset(96)] + public void* OriginalPtr; + + [FieldOffset(328)] + public bool IsAnonymous; + + [FieldOffset(329)] + public bool IsInline; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } + + internal Namespace(Namespace.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal Namespace(Namespace.Internal native) + : this(&native) + { + } + + public Namespace(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public Namespace() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(336); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public bool IsInline + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsInline; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsInline = value; + } + } + } + + public unsafe partial class PreprocessedEntity : CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(32)] + public global::System.IntPtr Comment; + + [FieldOffset(48)] + public bool IsIncomplete; + + [FieldOffset(49)] + public bool IsDependent; + + [FieldOffset(56)] + public global::System.IntPtr CompleteDeclaration; + + [FieldOffset(64)] + public uint DefinitionOrder; + + [FieldOffset(96)] + public void* OriginalPtr; + + [FieldOffset(112)] + public CppSharp.Parser.AST.MacroLocation MacroLocation; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } + + internal PreprocessedEntity(PreprocessedEntity.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal PreprocessedEntity(PreprocessedEntity.Internal native) + : this(&native) + { + } + + public PreprocessedEntity(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public PreprocessedEntity() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(120); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.AST.MacroLocation MacroLocation + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->MacroLocation; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->MacroLocation = value; + } + } + } + + public unsafe partial class MacroDefinition : CppSharp.Parser.AST.PreprocessedEntity, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 128)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(32)] + public global::System.IntPtr Comment; + + [FieldOffset(48)] + public bool IsIncomplete; + + [FieldOffset(49)] + public bool IsDependent; + + [FieldOffset(56)] + public global::System.IntPtr CompleteDeclaration; + + [FieldOffset(64)] + public uint DefinitionOrder; + + [FieldOffset(96)] + public void* OriginalPtr; + + [FieldOffset(112)] + public CppSharp.Parser.AST.MacroLocation MacroLocation; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinition13getExpressionEv")] + internal static extern global::System.IntPtr getExpression_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinition13setExpressionEPKc")] + internal static extern void setExpression_0(global::System.IntPtr instance, global::System.IntPtr s); + } + + internal MacroDefinition(MacroDefinition.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal MacroDefinition(MacroDefinition.Internal native) + : this(&native) + { + } + + public MacroDefinition(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public MacroDefinition() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(128); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public string Expression + { + get + { + var __ret = Internal.getExpression_0(__Instance); + if (__ret == global::System.IntPtr.Zero) return null; + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setExpression_0(__Instance, arg0); + Marshal.FreeHGlobal(arg0); + } + } + } + + public unsafe partial class MacroExpansion : CppSharp.Parser.AST.PreprocessedEntity, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 136)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(32)] + public global::System.IntPtr Comment; + + [FieldOffset(48)] + public bool IsIncomplete; + + [FieldOffset(49)] + public bool IsDependent; + + [FieldOffset(56)] + public global::System.IntPtr CompleteDeclaration; + + [FieldOffset(64)] + public uint DefinitionOrder; + + [FieldOffset(96)] + public void* OriginalPtr; + + [FieldOffset(112)] + public CppSharp.Parser.AST.MacroLocation MacroLocation; + + [FieldOffset(128)] + public global::System.IntPtr Definition; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansion7getTextEv")] + internal static extern global::System.IntPtr getText_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansion7setTextEPKc")] + internal static extern void setText_0(global::System.IntPtr instance, global::System.IntPtr s); + } + + internal MacroExpansion(MacroExpansion.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal MacroExpansion(MacroExpansion.Internal native) + : this(&native) + { + } + + public MacroExpansion(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public MacroExpansion() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(136); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public string Text + { + get + { + var __ret = Internal.getText_0(__Instance); + if (__ret == global::System.IntPtr.Zero) return null; + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setText_0(__Instance, arg0); + Marshal.FreeHGlobal(arg0); + } + } + + public CppSharp.Parser.AST.MacroDefinition Definition + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return (__ptr->Definition == IntPtr.Zero) ? null : new CppSharp.Parser.AST.MacroDefinition(__ptr->Definition); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Definition = value == (CppSharp.Parser.AST.MacroDefinition) null ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class TranslationUnit : CppSharp.Parser.AST.Namespace, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 376)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(32)] + public global::System.IntPtr Comment; + + [FieldOffset(48)] + public bool IsIncomplete; + + [FieldOffset(49)] + public bool IsDependent; + + [FieldOffset(56)] + public global::System.IntPtr CompleteDeclaration; + + [FieldOffset(64)] + public uint DefinitionOrder; + + [FieldOffset(96)] + public void* OriginalPtr; + + [FieldOffset(328)] + public bool IsAnonymous; + + [FieldOffset(329)] + public bool IsInline; + + [FieldOffset(344)] + public bool IsSystemHeader; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9getMacrosEj")] + internal static extern global::System.IntPtr getMacros_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9addMacrosERPNS1_15MacroDefinitionE")] + internal static extern void addMacros_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit11clearMacrosEv")] + internal static extern void clearMacros_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit11getFileNameEv")] + internal static extern global::System.IntPtr getFileName_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit11setFileNameEPKc")] + internal static extern void setFileName_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit14getMacrosCountEv")] + internal static extern uint getMacrosCount_0(global::System.IntPtr instance); + } + + internal TranslationUnit(TranslationUnit.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal TranslationUnit(TranslationUnit.Internal native) + : this(&native) + { + } + + public TranslationUnit(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public TranslationUnit() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(376); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.AST.MacroDefinition getMacros(uint i) + { + var __ret = Internal.getMacros_0(__Instance, i); + if (__ret == global::System.IntPtr.Zero) return null; + return (__ret == IntPtr.Zero) ? null : new CppSharp.Parser.AST.MacroDefinition(__ret); + } + + public void addMacros(CppSharp.Parser.AST.MacroDefinition s) + { + var arg0 = s == (CppSharp.Parser.AST.MacroDefinition) null ? global::System.IntPtr.Zero : s.__Instance; + Internal.addMacros_0(__Instance, arg0); + } + + public void clearMacros() + { + Internal.clearMacros_0(__Instance); + } + + public string FileName + { + get + { + var __ret = Internal.getFileName_0(__Instance); + if (__ret == global::System.IntPtr.Zero) return null; + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setFileName_0(__Instance, arg0); + Marshal.FreeHGlobal(arg0); + } + } + + public uint MacrosCount + { + get + { + var __ret = Internal.getMacrosCount_0(__Instance); + return __ret; + } + } + + public bool IsSystemHeader + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsSystemHeader; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsSystemHeader = value; + } + } + } + + public unsafe partial class NativeLibrary : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public partial struct Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2ERKS2_")] + internal static extern void cctor_0(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2Ev")] + internal static extern void ctor_2(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10getSymbolsEj")] + internal static extern global::System.IntPtr getSymbols_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10addSymbolsEPKc")] + internal static extern void addSymbols_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary12clearSymbolsEv")] + internal static extern void clearSymbols_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary11getFileNameEv")] + internal static extern global::System.IntPtr getFileName_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary11setFileNameEPKc")] + internal static extern void setFileName_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getSymbolsCountEv")] + internal static extern uint getSymbolsCount_0(global::System.IntPtr instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + internal NativeLibrary(NativeLibrary.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal NativeLibrary(NativeLibrary.Internal native) + : this(&native) + { + } + + public NativeLibrary(global::System.IntPtr native, bool isInternalImpl = false) + { + __Instance = native; + } + + public NativeLibrary() + { + __Instance = Marshal.AllocHGlobal(32); + Internal.ctor_2(__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Internal.dtor_0(__Instance); + Marshal.FreeHGlobal(__Instance); + } + + public string getSymbols(uint i) + { + var __ret = Internal.getSymbols_0(__Instance, i); + if (__ret == global::System.IntPtr.Zero) return null; + return Marshal.PtrToStringAnsi(__ret); + } + + public void addSymbols(string s) + { + var arg0 = Marshal.StringToHGlobalAnsi(s); + Internal.addSymbols_0(__Instance, arg0); + Marshal.FreeHGlobal(arg0); + } + + public void clearSymbols() + { + Internal.clearSymbols_0(__Instance); + } + + public string FileName + { + get + { + var __ret = Internal.getFileName_0(__Instance); + if (__ret == global::System.IntPtr.Zero) return null; + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setFileName_0(__Instance, arg0); + Marshal.FreeHGlobal(arg0); + } + } + + public uint SymbolsCount + { + get + { + var __ret = Internal.getSymbolsCount_0(__Instance); + return __ret; + } + } + } + + public unsafe partial class ASTContext : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19getTranslationUnitsEj")] + internal static extern global::System.IntPtr getTranslationUnits_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19addTranslationUnitsERPNS1_15TranslationUnitE")] + internal static extern void addTranslationUnits_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext21clearTranslationUnitsEv")] + internal static extern void clearTranslationUnits_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext24getTranslationUnitsCountEv")] + internal static extern uint getTranslationUnitsCount_0(global::System.IntPtr instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + internal ASTContext(ASTContext.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal ASTContext(ASTContext.Internal native) + : this(&native) + { + } + + public ASTContext(global::System.IntPtr native, bool isInternalImpl = false) + { + __Instance = native; + } + + public ASTContext() + { + __Instance = Marshal.AllocHGlobal(24); + Internal.ctor_0(__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Internal.dtor_0(__Instance); + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.TranslationUnit getTranslationUnits(uint i) + { + var __ret = Internal.getTranslationUnits_0(__Instance, i); + if (__ret == global::System.IntPtr.Zero) return null; + return (__ret == IntPtr.Zero) ? null : new CppSharp.Parser.AST.TranslationUnit(__ret); + } + + public void addTranslationUnits(CppSharp.Parser.AST.TranslationUnit s) + { + var arg0 = s == (CppSharp.Parser.AST.TranslationUnit) null ? global::System.IntPtr.Zero : s.__Instance; + Internal.addTranslationUnits_0(__Instance, arg0); + } + + public void clearTranslationUnits() + { + Internal.clearTranslationUnits_0(__Instance); + } + + public uint TranslationUnitsCount + { + get + { + var __ret = Internal.getTranslationUnitsCount_0(__Instance); + return __ret; + } + } + } + + public unsafe partial class Comment : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 4)] + public partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.CommentKind Kind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ENS1_11CommentKindE")] + internal static extern void ctor_0(global::System.IntPtr instance, CppSharp.Parser.AST.CommentKind kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + internal Comment(Comment.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal Comment(Comment.Internal native) + : this(&native) + { + } + + public Comment(global::System.IntPtr native, bool isInternalImpl = false) + { + __Instance = native; + } + + public Comment(CppSharp.Parser.AST.CommentKind kind) + { + __Instance = Marshal.AllocHGlobal(4); + var arg0 = kind; + Internal.ctor_0(__Instance, arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.CommentKind Kind + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Kind; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Kind = value; + } + } + } + + public unsafe partial class FullComment : CppSharp.Parser.AST.Comment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 4)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.CommentKind Kind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + internal FullComment(FullComment.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal FullComment(FullComment.Internal native) + : this(&native) + { + } + + public FullComment(global::System.IntPtr native, bool isInternalImpl = false) + : base(native) + { + } + + public FullComment() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(4); + Internal.ctor_0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + } + + public unsafe partial class RawComment : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.RawCommentKind Kind; + + [FieldOffset(24)] + public global::System.IntPtr FullCommentBlock; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment7getTextEv")] + internal static extern global::System.IntPtr getText_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment7setTextEPKc")] + internal static extern void setText_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment12getBriefTextEv")] + internal static extern global::System.IntPtr getBriefText_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment12setBriefTextEPKc")] + internal static extern void setBriefText_0(global::System.IntPtr instance, global::System.IntPtr s); + } + + public global::System.IntPtr __Instance { get; protected set; } + + internal RawComment(RawComment.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal RawComment(RawComment.Internal native) + : this(&native) + { + } + + public RawComment(global::System.IntPtr native, bool isInternalImpl = false) + { + __Instance = native; + } + + public RawComment() + { + __Instance = Marshal.AllocHGlobal(32); + Internal.ctor_0(__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Internal.dtor_0(__Instance); + Marshal.FreeHGlobal(__Instance); + } + + public string Text + { + get + { + var __ret = Internal.getText_0(__Instance); + if (__ret == global::System.IntPtr.Zero) return null; + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setText_0(__Instance, arg0); + Marshal.FreeHGlobal(arg0); + } + } + + public string BriefText + { + get + { + var __ret = Internal.getBriefText_0(__Instance); + if (__ret == global::System.IntPtr.Zero) return null; + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setBriefText_0(__Instance, arg0); + Marshal.FreeHGlobal(arg0); + } + } + + public CppSharp.Parser.AST.RawCommentKind Kind + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Kind; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Kind = value; + } + } + + public CppSharp.Parser.AST.FullComment FullCommentBlock + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return (__ptr->FullCommentBlock == IntPtr.Zero) ? null : new CppSharp.Parser.AST.FullComment(__ptr->FullCommentBlock); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->FullCommentBlock = value == (CppSharp.Parser.AST.FullComment) null ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + } + } +} diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppParser.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppParser.cs new file mode 100644 index 00000000..e07dc7cf --- /dev/null +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppParser.cs @@ -0,0 +1,924 @@ +//---------------------------------------------------------------------------- +// This is autogenerated code by CppSharp. +// Do not edit this file or all your changes will be lost after re-generation. +//---------------------------------------------------------------------------- +using System; +using System.Runtime.InteropServices; +using System.Security; + +namespace CppSharp +{ + namespace Parser + { + public enum ParserDiagnosticLevel + { + Ignored = 0, + Note = 1, + Warning = 2, + Error = 3, + Fatal = 4 + } + + public enum ParserResultKind + { + Success = 0, + Error = 1, + FileNotFound = 2 + } + + public enum SourceLocationKind + { + Invalid = 0, + Builtin = 1, + CommandLine = 2, + System = 3, + User = 4 + } + + public unsafe partial class ParserOptions : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 160)] + public partial struct Internal + { + [FieldOffset(128)] + public global::System.IntPtr ASTContext; + + [FieldOffset(136)] + public int ToolSetToUse; + + [FieldOffset(152)] + public CppSharp.Parser.AST.CppAbi Abi; + + [FieldOffset(156)] + public bool NoStandardIncludes; + + [FieldOffset(157)] + public bool NoBuiltinIncludes; + + [FieldOffset(158)] + public bool MicrosoftMode; + + [FieldOffset(159)] + public bool Verbose; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptionsC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptionsC2ERKS1_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptionsD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions12getArgumentsEj")] + internal static extern global::System.IntPtr getArguments_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions12addArgumentsEPKc")] + internal static extern void addArguments_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions14clearArgumentsEv")] + internal static extern void clearArguments_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions14getIncludeDirsEj")] + internal static extern global::System.IntPtr getIncludeDirs_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions14addIncludeDirsEPKc")] + internal static extern void addIncludeDirs_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions16clearIncludeDirsEv")] + internal static extern void clearIncludeDirs_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions20getSystemIncludeDirsEj")] + internal static extern global::System.IntPtr getSystemIncludeDirs_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions20addSystemIncludeDirsEPKc")] + internal static extern void addSystemIncludeDirs_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions22clearSystemIncludeDirsEv")] + internal static extern void clearSystemIncludeDirs_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions10getDefinesEj")] + internal static extern global::System.IntPtr getDefines_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions10addDefinesEPKc")] + internal static extern void addDefines_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions12clearDefinesEv")] + internal static extern void clearDefines_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions14getLibraryDirsEj")] + internal static extern global::System.IntPtr getLibraryDirs_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions14addLibraryDirsEPKc")] + internal static extern void addLibraryDirs_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions16clearLibraryDirsEv")] + internal static extern void clearLibraryDirs_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions17getArgumentsCountEv")] + internal static extern uint getArgumentsCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions11getFileNameEv")] + internal static extern global::System.IntPtr getFileName_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions11setFileNameEPKc")] + internal static extern void setFileName_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions19getIncludeDirsCountEv")] + internal static extern uint getIncludeDirsCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions25getSystemIncludeDirsCountEv")] + internal static extern uint getSystemIncludeDirsCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions15getDefinesCountEv")] + internal static extern uint getDefinesCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions19getLibraryDirsCountEv")] + internal static extern uint getLibraryDirsCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions15getTargetTripleEv")] + internal static extern global::System.IntPtr getTargetTriple_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions15setTargetTripleEPKc")] + internal static extern void setTargetTriple_0(global::System.IntPtr instance, global::System.IntPtr s); + } + + public global::System.IntPtr __Instance { get; protected set; } + + internal ParserOptions(ParserOptions.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal ParserOptions(ParserOptions.Internal native) + : this(&native) + { + } + + public ParserOptions(global::System.IntPtr native, bool isInternalImpl = false) + { + __Instance = native; + } + + public ParserOptions() + { + __Instance = Marshal.AllocHGlobal(160); + Internal.ctor_0(__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Internal.dtor_0(__Instance); + Marshal.FreeHGlobal(__Instance); + } + + public string getArguments(uint i) + { + var __ret = Internal.getArguments_0(__Instance, i); + if (__ret == global::System.IntPtr.Zero) return null; + return Marshal.PtrToStringAnsi(__ret); + } + + public void addArguments(string s) + { + var arg0 = Marshal.StringToHGlobalAnsi(s); + Internal.addArguments_0(__Instance, arg0); + Marshal.FreeHGlobal(arg0); + } + + public void clearArguments() + { + Internal.clearArguments_0(__Instance); + } + + public string getIncludeDirs(uint i) + { + var __ret = Internal.getIncludeDirs_0(__Instance, i); + if (__ret == global::System.IntPtr.Zero) return null; + return Marshal.PtrToStringAnsi(__ret); + } + + public void addIncludeDirs(string s) + { + var arg0 = Marshal.StringToHGlobalAnsi(s); + Internal.addIncludeDirs_0(__Instance, arg0); + Marshal.FreeHGlobal(arg0); + } + + public void clearIncludeDirs() + { + Internal.clearIncludeDirs_0(__Instance); + } + + public string getSystemIncludeDirs(uint i) + { + var __ret = Internal.getSystemIncludeDirs_0(__Instance, i); + if (__ret == global::System.IntPtr.Zero) return null; + return Marshal.PtrToStringAnsi(__ret); + } + + public void addSystemIncludeDirs(string s) + { + var arg0 = Marshal.StringToHGlobalAnsi(s); + Internal.addSystemIncludeDirs_0(__Instance, arg0); + Marshal.FreeHGlobal(arg0); + } + + public void clearSystemIncludeDirs() + { + Internal.clearSystemIncludeDirs_0(__Instance); + } + + public string getDefines(uint i) + { + var __ret = Internal.getDefines_0(__Instance, i); + if (__ret == global::System.IntPtr.Zero) return null; + return Marshal.PtrToStringAnsi(__ret); + } + + public void addDefines(string s) + { + var arg0 = Marshal.StringToHGlobalAnsi(s); + Internal.addDefines_0(__Instance, arg0); + Marshal.FreeHGlobal(arg0); + } + + public void clearDefines() + { + Internal.clearDefines_0(__Instance); + } + + public string getLibraryDirs(uint i) + { + var __ret = Internal.getLibraryDirs_0(__Instance, i); + if (__ret == global::System.IntPtr.Zero) return null; + return Marshal.PtrToStringAnsi(__ret); + } + + public void addLibraryDirs(string s) + { + var arg0 = Marshal.StringToHGlobalAnsi(s); + Internal.addLibraryDirs_0(__Instance, arg0); + Marshal.FreeHGlobal(arg0); + } + + public void clearLibraryDirs() + { + Internal.clearLibraryDirs_0(__Instance); + } + + public uint ArgumentsCount + { + get + { + var __ret = Internal.getArgumentsCount_0(__Instance); + return __ret; + } + } + + public string FileName + { + get + { + var __ret = Internal.getFileName_0(__Instance); + if (__ret == global::System.IntPtr.Zero) return null; + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setFileName_0(__Instance, arg0); + Marshal.FreeHGlobal(arg0); + } + } + + public uint IncludeDirsCount + { + get + { + var __ret = Internal.getIncludeDirsCount_0(__Instance); + return __ret; + } + } + + public uint SystemIncludeDirsCount + { + get + { + var __ret = Internal.getSystemIncludeDirsCount_0(__Instance); + return __ret; + } + } + + public uint DefinesCount + { + get + { + var __ret = Internal.getDefinesCount_0(__Instance); + return __ret; + } + } + + public uint LibraryDirsCount + { + get + { + var __ret = Internal.getLibraryDirsCount_0(__Instance); + return __ret; + } + } + + public string TargetTriple + { + get + { + var __ret = Internal.getTargetTriple_0(__Instance); + if (__ret == global::System.IntPtr.Zero) return null; + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setTargetTriple_0(__Instance, arg0); + Marshal.FreeHGlobal(arg0); + } + } + + public CppSharp.Parser.AST.ASTContext ASTContext + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return (__ptr->ASTContext == IntPtr.Zero) ? null : new CppSharp.Parser.AST.ASTContext(__ptr->ASTContext); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->ASTContext = value == (CppSharp.Parser.AST.ASTContext) null ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public int ToolSetToUse + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->ToolSetToUse; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->ToolSetToUse = value; + } + } + + public CppSharp.Parser.AST.CppAbi Abi + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Abi; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Abi = value; + } + } + + public bool NoStandardIncludes + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->NoStandardIncludes; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->NoStandardIncludes = value; + } + } + + public bool NoBuiltinIncludes + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->NoBuiltinIncludes; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->NoBuiltinIncludes = value; + } + } + + public bool MicrosoftMode + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->MicrosoftMode; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->MicrosoftMode = value; + } + } + + public bool Verbose + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Verbose; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Verbose = value; + } + } + } + + public unsafe partial class ParserDiagnostic : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public partial struct Internal + { + [FieldOffset(16)] + public CppSharp.Parser.ParserDiagnosticLevel Level; + + [FieldOffset(20)] + public int LineNumber; + + [FieldOffset(24)] + public int ColumnNumber; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser16ParserDiagnosticC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser16ParserDiagnosticC2ERKS1_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser16ParserDiagnosticD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser16ParserDiagnostic11getFileNameEv")] + internal static extern global::System.IntPtr getFileName_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser16ParserDiagnostic11setFileNameEPKc")] + internal static extern void setFileName_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser16ParserDiagnostic10getMessageEv")] + internal static extern global::System.IntPtr getMessage_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser16ParserDiagnostic10setMessageEPKc")] + internal static extern void setMessage_0(global::System.IntPtr instance, global::System.IntPtr s); + } + + public global::System.IntPtr __Instance { get; protected set; } + + internal ParserDiagnostic(ParserDiagnostic.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal ParserDiagnostic(ParserDiagnostic.Internal native) + : this(&native) + { + } + + public ParserDiagnostic(global::System.IntPtr native, bool isInternalImpl = false) + { + __Instance = native; + } + + public ParserDiagnostic() + { + __Instance = Marshal.AllocHGlobal(32); + Internal.ctor_0(__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Internal.dtor_0(__Instance); + Marshal.FreeHGlobal(__Instance); + } + + public string FileName + { + get + { + var __ret = Internal.getFileName_0(__Instance); + if (__ret == global::System.IntPtr.Zero) return null; + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setFileName_0(__Instance, arg0); + Marshal.FreeHGlobal(arg0); + } + } + + public string Message + { + get + { + var __ret = Internal.getMessage_0(__Instance); + if (__ret == global::System.IntPtr.Zero) return null; + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setMessage_0(__Instance, arg0); + Marshal.FreeHGlobal(arg0); + } + } + + public CppSharp.Parser.ParserDiagnosticLevel Level + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Level; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Level = value; + } + } + + public int LineNumber + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->LineNumber; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->LineNumber = value; + } + } + + public int ColumnNumber + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->ColumnNumber; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->ColumnNumber = value; + } + } + } + + public unsafe partial class ParserResult : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.ParserResultKind Kind; + + [FieldOffset(32)] + public global::System.IntPtr ASTContext; + + [FieldOffset(40)] + public global::System.IntPtr Library; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser12ParserResultC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser12ParserResultC2ERKS1_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser12ParserResultD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser12ParserResult14getDiagnosticsEj")] + internal static extern void getDiagnostics_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser12ParserResult14addDiagnosticsERNS0_16ParserDiagnosticE")] + internal static extern void addDiagnostics_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser12ParserResult16clearDiagnosticsEv")] + internal static extern void clearDiagnostics_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser12ParserResult19getDiagnosticsCountEv")] + internal static extern uint getDiagnosticsCount_0(global::System.IntPtr instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + internal ParserResult(ParserResult.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal ParserResult(ParserResult.Internal native) + : this(&native) + { + } + + public ParserResult(global::System.IntPtr native, bool isInternalImpl = false) + { + __Instance = native; + } + + public ParserResult() + { + __Instance = Marshal.AllocHGlobal(56); + Internal.ctor_0(__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Internal.dtor_0(__Instance); + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.ParserDiagnostic getDiagnostics(uint i) + { + var __ret = new CppSharp.Parser.ParserDiagnostic.Internal(); + Internal.getDiagnostics_0(new IntPtr(&__ret), __Instance, i); + var __instance = Marshal.AllocHGlobal(32); + CppSharp.Parser.ParserDiagnostic.Internal.cctor_1(__instance, new global::System.IntPtr(&__ret)); + return (__instance == IntPtr.Zero) ? null : new CppSharp.Parser.ParserDiagnostic(__instance); + } + + public void addDiagnostics(CppSharp.Parser.ParserDiagnostic s) + { + var arg0 = s == (CppSharp.Parser.ParserDiagnostic) null ? global::System.IntPtr.Zero : s.__Instance; + Internal.addDiagnostics_0(__Instance, arg0); + } + + public void clearDiagnostics() + { + Internal.clearDiagnostics_0(__Instance); + } + + public uint DiagnosticsCount + { + get + { + var __ret = Internal.getDiagnosticsCount_0(__Instance); + return __ret; + } + } + + public CppSharp.Parser.ParserResultKind Kind + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Kind; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Kind = value; + } + } + + public CppSharp.Parser.AST.ASTContext ASTContext + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return (__ptr->ASTContext == IntPtr.Zero) ? null : new CppSharp.Parser.AST.ASTContext(__ptr->ASTContext); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->ASTContext = value == (CppSharp.Parser.AST.ASTContext) null ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public CppSharp.Parser.AST.NativeLibrary Library + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return (__ptr->Library == IntPtr.Zero) ? null : new CppSharp.Parser.AST.NativeLibrary(__ptr->Library); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Library = value == (CppSharp.Parser.AST.NativeLibrary) null ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ClangParser : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 1)] + public partial struct Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser11ClangParserC2ERKS1_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser11ClangParser11ParseHeaderEPNS0_13ParserOptionsE")] + internal static extern global::System.IntPtr ParseHeader_0(global::System.IntPtr Opts); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser11ClangParser12ParseLibraryEPNS0_13ParserOptionsE")] + internal static extern global::System.IntPtr ParseLibrary_0(global::System.IntPtr Opts); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser11ClangParser13GetTargetInfoEPNS0_13ParserOptionsE")] + internal static extern global::System.IntPtr GetTargetInfo_0(global::System.IntPtr Opts); + } + + public global::System.IntPtr __Instance { get; protected set; } + + internal ClangParser(ClangParser.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal ClangParser(ClangParser.Internal native) + : this(&native) + { + } + + public ClangParser(global::System.IntPtr native, bool isInternalImpl = false) + { + __Instance = native; + } + + public ClangParser() + { + __Instance = Marshal.AllocHGlobal(1); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Marshal.FreeHGlobal(__Instance); + } + + public static CppSharp.Parser.ParserResult ParseHeader(CppSharp.Parser.ParserOptions Opts) + { + var arg0 = Opts == (CppSharp.Parser.ParserOptions) null ? global::System.IntPtr.Zero : Opts.__Instance; + var __ret = Internal.ParseHeader_0(arg0); + if (__ret == global::System.IntPtr.Zero) return null; + return (__ret == IntPtr.Zero) ? null : new CppSharp.Parser.ParserResult(__ret); + } + + public static CppSharp.Parser.ParserResult ParseLibrary(CppSharp.Parser.ParserOptions Opts) + { + var arg0 = Opts == (CppSharp.Parser.ParserOptions) null ? global::System.IntPtr.Zero : Opts.__Instance; + var __ret = Internal.ParseLibrary_0(arg0); + if (__ret == global::System.IntPtr.Zero) return null; + return (__ret == IntPtr.Zero) ? null : new CppSharp.Parser.ParserResult(__ret); + } + + public static CppSharp.Parser.ParserTargetInfo GetTargetInfo(CppSharp.Parser.ParserOptions Opts) + { + var arg0 = Opts == (CppSharp.Parser.ParserOptions) null ? global::System.IntPtr.Zero : Opts.__Instance; + var __ret = Internal.GetTargetInfo_0(arg0); + if (__ret == global::System.IntPtr.Zero) return null; + return (__ret == IntPtr.Zero) ? null : new CppSharp.Parser.ParserTargetInfo(__ret); + } + } + } +} diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Sources.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Sources.cs new file mode 100644 index 00000000..b0451379 --- /dev/null +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Sources.cs @@ -0,0 +1,84 @@ +//---------------------------------------------------------------------------- +// This is autogenerated code by CppSharp. +// Do not edit this file or all your changes will be lost after re-generation. +//---------------------------------------------------------------------------- +using System; +using System.Runtime.InteropServices; +using System.Security; + +namespace CppSharp +{ + namespace Parser + { + public unsafe partial struct SourceLocation + { + [StructLayout(LayoutKind.Explicit, Size = 4)] + public partial struct Internal + { + [FieldOffset(0)] + public uint ID; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser14SourceLocationC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser14SourceLocationC2Ej")] + internal static extern void ctor_1(global::System.IntPtr instance, uint ID); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser14SourceLocationC2ERKS1_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + internal SourceLocation(SourceLocation.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal SourceLocation(SourceLocation.Internal native) + : this(&native) + { + } + + public SourceLocation(global::System.IntPtr native, bool isInternalImpl = false) : this() + { + var __ptr = (Internal*)native.ToPointer(); + ID = __ptr->ID; + } + + internal Internal ToInternal() + { + var __native = new CppSharp.Parser.SourceLocation.Internal(); + var __ptr = &__native; + __native.ID = ID; + return __native; + } + + internal void FromInternal(Internal* native) + { + var __ptr = native; + ID = __ptr->ID; + } + + public SourceLocation(uint ID) + : this() + { + var __fixedInstance = ToInternal(); + Internal.ctor_1(new global::System.IntPtr(&__fixedInstance), ID); + FromInternal(&__fixedInstance); + } + + public uint ID + { + get; + + set + ; + } + } + } +} diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Target.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Target.cs new file mode 100644 index 00000000..4e17444f --- /dev/null +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Target.cs @@ -0,0 +1,796 @@ +//---------------------------------------------------------------------------- +// This is autogenerated code by CppSharp. +// Do not edit this file or all your changes will be lost after re-generation. +//---------------------------------------------------------------------------- +using System; +using System.Runtime.InteropServices; +using System.Security; + +namespace CppSharp +{ + namespace Parser + { + public enum ParserIntType + { + NoInt = 0, + SignedChar = 1, + UnsignedChar = 2, + SignedShort = 3, + UnsignedShort = 4, + SignedInt = 5, + UnsignedInt = 6, + SignedLong = 7, + UnsignedLong = 8, + SignedLongLong = 9, + UnsignedLongLong = 10 + } + + public unsafe partial class ParserTargetInfo : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 160)] + public partial struct Internal + { + [FieldOffset(8)] + public CppSharp.Parser.ParserIntType Char16Type; + + [FieldOffset(12)] + public CppSharp.Parser.ParserIntType Char32Type; + + [FieldOffset(16)] + public CppSharp.Parser.ParserIntType Int64Type; + + [FieldOffset(20)] + public CppSharp.Parser.ParserIntType IntMaxType; + + [FieldOffset(24)] + public CppSharp.Parser.ParserIntType IntPtrType; + + [FieldOffset(28)] + public CppSharp.Parser.ParserIntType SizeType; + + [FieldOffset(32)] + public CppSharp.Parser.ParserIntType UIntMaxType; + + [FieldOffset(36)] + public CppSharp.Parser.ParserIntType WCharType; + + [FieldOffset(40)] + public CppSharp.Parser.ParserIntType WIntType; + + [FieldOffset(44)] + public uint BoolAlign; + + [FieldOffset(48)] + public uint BoolWidth; + + [FieldOffset(52)] + public uint CharAlign; + + [FieldOffset(56)] + public uint CharWidth; + + [FieldOffset(60)] + public uint Char16Align; + + [FieldOffset(64)] + public uint Char16Width; + + [FieldOffset(68)] + public uint Char32Align; + + [FieldOffset(72)] + public uint Char32Width; + + [FieldOffset(76)] + public uint HalfAlign; + + [FieldOffset(80)] + public uint HalfWidth; + + [FieldOffset(84)] + public uint FloatAlign; + + [FieldOffset(88)] + public uint FloatWidth; + + [FieldOffset(92)] + public uint DoubleAlign; + + [FieldOffset(96)] + public uint DoubleWidth; + + [FieldOffset(100)] + public uint ShortAlign; + + [FieldOffset(104)] + public uint ShortWidth; + + [FieldOffset(108)] + public uint IntAlign; + + [FieldOffset(112)] + public uint IntWidth; + + [FieldOffset(116)] + public uint IntMaxTWidth; + + [FieldOffset(120)] + public uint LongAlign; + + [FieldOffset(124)] + public uint LongWidth; + + [FieldOffset(128)] + public uint LongDoubleAlign; + + [FieldOffset(132)] + public uint LongDoubleWidth; + + [FieldOffset(136)] + public uint LongLongAlign; + + [FieldOffset(140)] + public uint LongLongWidth; + + [FieldOffset(144)] + public uint PointerAlign; + + [FieldOffset(148)] + public uint PointerWidth; + + [FieldOffset(152)] + public uint WCharAlign; + + [FieldOffset(156)] + public uint WCharWidth; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser16ParserTargetInfoC2ERKS1_")] + internal static extern void cctor_0(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser16ParserTargetInfoC2Ev")] + internal static extern void ctor_2(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser16ParserTargetInfoD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser16ParserTargetInfo6getABIEv")] + internal static extern global::System.IntPtr getABI_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser16ParserTargetInfo6setABIEPKc")] + internal static extern void setABI_0(global::System.IntPtr instance, global::System.IntPtr s); + } + + public global::System.IntPtr __Instance { get; protected set; } + + internal ParserTargetInfo(ParserTargetInfo.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal ParserTargetInfo(ParserTargetInfo.Internal native) + : this(&native) + { + } + + public ParserTargetInfo(global::System.IntPtr native, bool isInternalImpl = false) + { + __Instance = native; + } + + public ParserTargetInfo() + { + __Instance = Marshal.AllocHGlobal(160); + Internal.ctor_2(__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Internal.dtor_0(__Instance); + Marshal.FreeHGlobal(__Instance); + } + + public string ABI + { + get + { + var __ret = Internal.getABI_0(__Instance); + if (__ret == global::System.IntPtr.Zero) return null; + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setABI_0(__Instance, arg0); + Marshal.FreeHGlobal(arg0); + } + } + + public CppSharp.Parser.ParserIntType Char16Type + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Char16Type; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Char16Type = value; + } + } + + public CppSharp.Parser.ParserIntType Char32Type + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Char32Type; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Char32Type = value; + } + } + + public CppSharp.Parser.ParserIntType Int64Type + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Int64Type; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Int64Type = value; + } + } + + public CppSharp.Parser.ParserIntType IntMaxType + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IntMaxType; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IntMaxType = value; + } + } + + public CppSharp.Parser.ParserIntType IntPtrType + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IntPtrType; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IntPtrType = value; + } + } + + public CppSharp.Parser.ParserIntType SizeType + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->SizeType; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->SizeType = value; + } + } + + public CppSharp.Parser.ParserIntType UIntMaxType + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->UIntMaxType; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->UIntMaxType = value; + } + } + + public CppSharp.Parser.ParserIntType WCharType + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->WCharType; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->WCharType = value; + } + } + + public CppSharp.Parser.ParserIntType WIntType + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->WIntType; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->WIntType = value; + } + } + + public uint BoolAlign + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->BoolAlign; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->BoolAlign = value; + } + } + + public uint BoolWidth + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->BoolWidth; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->BoolWidth = value; + } + } + + public uint CharAlign + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->CharAlign; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->CharAlign = value; + } + } + + public uint CharWidth + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->CharWidth; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->CharWidth = value; + } + } + + public uint Char16Align + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Char16Align; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Char16Align = value; + } + } + + public uint Char16Width + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Char16Width; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Char16Width = value; + } + } + + public uint Char32Align + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Char32Align; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Char32Align = value; + } + } + + public uint Char32Width + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Char32Width; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Char32Width = value; + } + } + + public uint HalfAlign + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->HalfAlign; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->HalfAlign = value; + } + } + + public uint HalfWidth + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->HalfWidth; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->HalfWidth = value; + } + } + + public uint FloatAlign + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->FloatAlign; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->FloatAlign = value; + } + } + + public uint FloatWidth + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->FloatWidth; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->FloatWidth = value; + } + } + + public uint DoubleAlign + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->DoubleAlign; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->DoubleAlign = value; + } + } + + public uint DoubleWidth + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->DoubleWidth; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->DoubleWidth = value; + } + } + + public uint ShortAlign + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->ShortAlign; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->ShortAlign = value; + } + } + + public uint ShortWidth + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->ShortWidth; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->ShortWidth = value; + } + } + + public uint IntAlign + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IntAlign; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IntAlign = value; + } + } + + public uint IntWidth + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IntWidth; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IntWidth = value; + } + } + + public uint IntMaxTWidth + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IntMaxTWidth; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IntMaxTWidth = value; + } + } + + public uint LongAlign + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->LongAlign; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->LongAlign = value; + } + } + + public uint LongWidth + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->LongWidth; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->LongWidth = value; + } + } + + public uint LongDoubleAlign + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->LongDoubleAlign; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->LongDoubleAlign = value; + } + } + + public uint LongDoubleWidth + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->LongDoubleWidth; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->LongDoubleWidth = value; + } + } + + public uint LongLongAlign + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->LongLongAlign; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->LongLongAlign = value; + } + } + + public uint LongLongWidth + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->LongLongWidth; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->LongLongWidth = value; + } + } + + public uint PointerAlign + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->PointerAlign; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->PointerAlign = value; + } + } + + public uint PointerWidth + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->PointerWidth; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->PointerWidth = value; + } + } + + public uint WCharAlign + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->WCharAlign; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->WCharAlign = value; + } + } + + public uint WCharWidth + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->WCharWidth; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->WCharWidth = value; + } + } + } + } +} From a67595ea3f71b5047c99abbe4000a5d6e3ef7c83 Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Wed, 7 May 2014 09:01:05 +0300 Subject: [PATCH 4/5] build: use linux bindings Use CppParser C# bindings for linux when compiling on Linux. Note: this always uses 64 bit version for now. Signed-off-by: Tomi Valkeinen --- src/CppParser/Bindings/premake4.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/CppParser/Bindings/premake4.lua b/src/CppParser/Bindings/premake4.lua index 85da406e..cc3e4b16 100644 --- a/src/CppParser/Bindings/premake4.lua +++ b/src/CppParser/Bindings/premake4.lua @@ -30,6 +30,8 @@ project "CppSharp.Parser.CSharp" files { "CSharp/i686-pc-win32-msvc/**.cs" } elseif os.is_osx() then files { "CSharp/i686-apple-darwin12.4.0/**.cs" } + elseif os.is_linux() then + files { "CSharp/x86_64-linux-gnu/**.cs" } else print "Unknown architecture" end From 0d6c07a7a9631b737dd32365610186e60063fe6d Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Thu, 8 May 2014 11:12:16 +0300 Subject: [PATCH 5/5] docs: update build instructions in GettingStarted.md Update build instructions in GettingStarted.md. Signed-off-by: Tomi Valkeinen --- docs/GettingStarted.md | 115 ++++++++++++++++++++++------------------- 1 file changed, 63 insertions(+), 52 deletions(-) diff --git a/docs/GettingStarted.md b/docs/GettingStarted.md index 3b16c8fb..ff843bad 100644 --- a/docs/GettingStarted.md +++ b/docs/GettingStarted.md @@ -13,17 +13,24 @@ SVN repository urls found here: [http://clang.llvm.org/get_started.html](http:// Git repository urls found here: [http://llvm.org/docs/GettingStarted.html#git-mirror](http://llvm.org/docs/GettingStarted.html#git-mirror) -## Compiling on Windows/Visual Studio +## Common setup 1. Clone CppSharp to `` 2. Clone LLVM to `\deps\llvm` 3. Clone Clang to `\deps\llvm\tools\clang` -4. Run CMake in `\deps\llvm\build` and compile solution in *RelWithDebInfo* mode -5. Run `GenerateProjects.bat` in \build -6. Build generated solution in *Release*. +4. Create directory `\deps\llvm\build` -Building in *Release* is recommended because else the Clang parser will be -excruciatingly slow. +## Compiling on Windows/Visual Studio + +### Compiling LLVM on Windows/Visual Studio + +```shell +cd \deps\llvm\build + +cmake -G "Visual Studio 12" -DCLANG_BUILD_EXAMPLES=false -DCLANG_INCLUDE_DOCS=false -DCLANG_INCLUDE_TESTS=false -DCLANG_INCLUDE_DOCS=false -DCLANG_BUILD_EXAMPLES=false -DLLVM_TARGETS_TO_BUILD="X86" -DLLVM_INCLUDE_EXAMPLES=false -DLLVM_INCLUDE_DOCS=false -DLLVM_INCLUDE_TESTS=false .. + +msbuild LLVM.sln /p:Configuration=RelWithDebInfo;Platform=Win32 /m +``` Last revisions known to work: @@ -31,6 +38,19 @@ LLVM `r212459` / Git mirror revision `a15d70370edd030198cb42960b62e660b9288f25`. Clang `r212458` / Git mirror revision `c785591d768074e1666bc306086588b1242d156c`. +### Compiling CppSharp on Windows/Visual Studio + +```shell +cd \build + +generateprojects.bat + +msbuild vs2013\CppSharp.sln /p:Configuration=Release;Platform=x86 +``` + +Building in *Release* is recommended because else the Clang parser will be +excruciatingly slow. + It has been reported that running the solution upgrade process under VS 2013 breaks the build due to an incompatibility of .NET versions between projects (4.5 and 4.0). If you experience this problem you can change the targetted .NET version of the projects to be the same or just do not @@ -38,91 +58,82 @@ run the upgrade process after generation. ## Compiling on Mac OS X (experimental) -1. Clone CppSharp to `` -2. Clone LLVM to `\deps\llvm` -3. Clone Clang to `\deps\llvm\tools\clang` -4. Run CMake in `\deps\llvm\build` and compile solution in *RelWithDebInfo* mode +### Compiling LLVM on Mac OS X + +1. Compile LLVM solution in *RelWithDebInfo* mode The following CMake variables should be enabled: - LLVM_ENABLE_CXX11 (enables C++11 support) - LLVM_ENABLE_LIBCXX (enables libc++ standard library support) - LLVM_BUILD_32_BITS for 32-bit builds (defaults to 64-bit) -5. Run `premake5 gmake` in \build -6. Build generated makefiles: + +### Compiling CppSharp on Mac OS X + +1. Run `premake5-osx gmake` in \build +2. Build generated makefiles: - 32-bit builds: `config=release_x32 make` - 64-bit builds: `config=release_x64 make` ## Compiling on Linux (experimental) -### Build dependencies: +The Linux support is not complete, and these directions are included for developing CppSharp developers. + +Only 64bit build works at the moment. The build has been verified on Ubuntu 14.04. + +### Compiling LLVM on Linux If you do not have native build tools you can install them first with: ```shell -sudo apt-get install build-essential gcc-multilib g++-multilib -sudo apt-get install ninja-build cmake +sudo apt-get install cmake ninja-build build-essential ``` -Additionaly we depent on a somewhat recent version of Mono (.NET 4.5). If you're using an Ubuntu-based distribution you can install an up-to-date version from: https://launchpad.net/~directhex/+archive/monoxide ```shell -sudo add-apt-repository ppa:directhex/monoxide -sudo apt-get update -sudo apt-get install mono-devel -``` +cd deps/llvm/build -### Getting Premake: +cmake -G Ninja -DCLANG_BUILD_EXAMPLES=false -DCLANG_INCLUDE_DOCS=false -DCLANG_INCLUDE_TESTS=false -DCLANG_INCLUDE_DOCS=false -DCLANG_BUILD_EXAMPLES=false -DLLVM_TARGETS_TO_BUILD="X86" -DLLVM_INCLUDE_EXAMPLES=false -DLLVM_INCLUDE_DOCS=false -DLLVM_INCLUDE_TESTS=false .. -Download a recent Premake version from: http://sourceforge.net/projects/premake/files/Premake/nightlies/premake-dev-linux.zip/download +ninja +``` -Extract the binary inside `premake5` to `/build`. +### Compiling CppSharp on Linux -### Cloning CppSharp: +We depend on a somewhat recent version of Mono (.NET 4.5). Ubuntu 14.04 contains recent enough Mono by default. ```shell -git clone https://github.com/mono/CppSharp.git +sudo apt-get install mono-devel ``` -### Cloning and building LLVM/Clang: +If you're using a pre-14.04 Ubuntu-based distribution you can install an up-to-date version from: https://launchpad.net/~directhex/+archive/monoxide. ```shell -pushd && cd CppSharp/deps - -git clone https://github.com/llvm-mirror/llvm.git -git clone https://github.com/llvm-mirror/clang.git llvm/tools - -cd llvm && mkdir build && cd build - -cmake -G Ninja -DCLANG_BUILD_EXAMPLES=false -DCLANG_ENABLE_ARCMT=false \ - -DCLANG_ENABLE_REWRITER=false -DCLANG_ENABLE_STATIC_ANALYZER=false \ - -DCLANG_INCLUDE_DOCS=false -DCLANG_INCLUDE_TESTS=false \ - -DLLVM_BUILD_32_BITS=false -DCLANG_BUILD_DOCS=false \ - -DCLANG_BUILD_EXAMPLES=false -DLLVM_TARGETS_TO_BUILD="X86" .. - -ninja -popd +sudo add-apt-repository ppa:directhex/monoxide +sudo apt-get update +sudo apt-get install mono-devel ``` -### Building CppSharp: +Generate the makefiles, and build CppSharp: ```shell -cd CppSharp/build -./premake5 gmake -cd gmake -make +cd /build +./premake5-linux gmake +make -C gmake config=release_x64 ``` -This will compile the default target for the architecture, for instance, the `debug_x32` target for 32-bits X86. - -You can change the target by invoking `make` as: +If you need more verbosity from the builds invoke `make` as: ```shell -config=release_x32 make +verbose=true make -C gmake config=release_x64 ``` -Additionaly if you need more verbosity from the builds invoke `make` as: +Note that at the moment the build fails, as the CppSharp tests fail. However, the library itself has been built fine. + +Additionally, you may want to run a very simple test to see that it works. The test needs to find CppSharp library, so cppsharp-test needs to be clone in to the same directory where you cloned CppSharp. Also, the CppSharp directory needs to be named "cppsharp". ```shell -verbose=true make +git clone git://github.com/tomba/cppsharp-test.git +cd cppsharp-test +make runtest ``` ## Generating bindings