0Harmony.xml 126 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344
  1. <?xml version="1.0"?>
  2. <doc>
  3. <assembly>
  4. <name>0Harmony</name>
  5. </assembly>
  6. <members>
  7. <member name="T:HarmonyLib.DelegateTypeFactory">
  8. <summary>A factory to create delegate types</summary>
  9. </member>
  10. <member name="M:HarmonyLib.DelegateTypeFactory.#ctor">
  11. <summary>Default constructor</summary>
  12. </member>
  13. <member name="M:HarmonyLib.DelegateTypeFactory.CreateDelegateType(System.Reflection.MethodInfo)">
  14. <summary>Creates a delegate type for a method</summary>
  15. <param name="method">The method</param>
  16. <returns>The new delegate type</returns>
  17. </member>
  18. <member name="T:HarmonyLib.GetterHandler`2">
  19. <summary>A getter delegate type</summary>
  20. <typeparam name="T">Type that getter gets field/property value from</typeparam>
  21. <typeparam name="S">Type of the value that getter gets</typeparam>
  22. <param name="source">The instance get getter uses</param>
  23. <returns>An delegate</returns>
  24. </member>
  25. <member name="T:HarmonyLib.SetterHandler`2">
  26. <summary>A setter delegate type</summary>
  27. <typeparam name="T">Type that setter sets field/property value for</typeparam>
  28. <typeparam name="S">Type of the value that setter sets</typeparam>
  29. <param name="source">The instance the setter uses</param>
  30. <param name="value">The value the setter uses</param>
  31. <returns>An delegate</returns>
  32. </member>
  33. <member name="T:HarmonyLib.InstantiationHandler`1">
  34. <summary>A constructor delegate type</summary>
  35. <typeparam name="T">Type that constructor creates</typeparam>
  36. <returns>An delegate</returns>
  37. </member>
  38. <member name="T:HarmonyLib.FastAccess">
  39. <summary>A helper class for fast access to getters and setters</summary>
  40. </member>
  41. <member name="M:HarmonyLib.FastAccess.CreateInstantiationHandler``1">
  42. <summary>Creates an instantiation delegate</summary>
  43. <typeparam name="T">Type that constructor creates</typeparam>
  44. <returns>The new instantiation delegate</returns>
  45. </member>
  46. <member name="M:HarmonyLib.FastAccess.CreateGetterHandler``2(System.Reflection.PropertyInfo)">
  47. <summary>Creates an getter delegate for a property</summary>
  48. <typeparam name="T">Type that getter reads property from</typeparam>
  49. <typeparam name="S">Type of the property that gets accessed</typeparam>
  50. <param name="propertyInfo">The property</param>
  51. <returns>The new getter delegate</returns>
  52. </member>
  53. <member name="M:HarmonyLib.FastAccess.CreateGetterHandler``2(System.Reflection.FieldInfo)">
  54. <summary>Creates an getter delegate for a field</summary>
  55. <typeparam name="T">Type that getter reads field from</typeparam>
  56. <typeparam name="S">Type of the field that gets accessed</typeparam>
  57. <param name="fieldInfo">The field</param>
  58. <returns>The new getter delegate</returns>
  59. </member>
  60. <member name="M:HarmonyLib.FastAccess.CreateFieldGetter``2(System.String[])">
  61. <summary>Creates an getter delegate for a field (with a list of possible field names)</summary>
  62. <typeparam name="T">Type that getter reads field/property from</typeparam>
  63. <typeparam name="S">Type of the field/property that gets accessed</typeparam>
  64. <param name="names">A list of possible field names</param>
  65. <returns>The new getter delegate</returns>
  66. </member>
  67. <member name="M:HarmonyLib.FastAccess.CreateSetterHandler``2(System.Reflection.PropertyInfo)">
  68. <summary>Creates an setter delegate</summary>
  69. <typeparam name="T">Type that setter assigns property value to</typeparam>
  70. <typeparam name="S">Type of the property that gets assigned</typeparam>
  71. <param name="propertyInfo">The property</param>
  72. <returns>The new setter delegate</returns>
  73. </member>
  74. <member name="M:HarmonyLib.FastAccess.CreateSetterHandler``2(System.Reflection.FieldInfo)">
  75. <summary>Creates an setter delegate for a field</summary>
  76. <typeparam name="T">Type that setter assigns field value to</typeparam>
  77. <typeparam name="S">Type of the field that gets assigned</typeparam>
  78. <param name="fieldInfo">The field</param>
  79. <returns>The new getter delegate</returns>
  80. </member>
  81. <member name="T:HarmonyLib.FastInvokeHandler">
  82. <summary>A delegate to invoke a method</summary>
  83. <param name="target">The instance</param>
  84. <param name="parameters">The method parameters</param>
  85. <returns>The method result</returns>
  86. </member>
  87. <member name="T:HarmonyLib.MethodInvoker">
  88. <summary>A helper class to invoke method with delegates</summary>
  89. </member>
  90. <member name="M:HarmonyLib.MethodInvoker.GetHandler(System.Reflection.Emit.DynamicMethod,System.Reflection.Module)">
  91. <summary>Creates a fast invocation handler from a method and a module</summary>
  92. <param name="methodInfo">The method to invoke</param>
  93. <param name="module">The module context</param>
  94. <returns>The fast invocation handler</returns>
  95. </member>
  96. <member name="M:HarmonyLib.MethodInvoker.GetHandler(System.Reflection.MethodInfo)">
  97. <summary>Creates a fast invocation handler from a method and a module</summary>
  98. <param name="methodInfo">The method to invoke</param>
  99. <returns>The fast invocation handler</returns>
  100. </member>
  101. <member name="T:HarmonyLib.DynamicTools">
  102. <summary>Creating dynamic methods</summary>
  103. </member>
  104. <member name="T:HarmonyLib.Protection">
  105. <summary>A bit-field of flags for protections</summary>
  106. </member>
  107. <member name="F:HarmonyLib.Protection.PAGE_NOACCESS">
  108. <summary>No access</summary>
  109. </member>
  110. <member name="F:HarmonyLib.Protection.PAGE_READONLY">
  111. <summary>Read only</summary>
  112. </member>
  113. <member name="F:HarmonyLib.Protection.PAGE_READWRITE">
  114. <summary>Read write</summary>
  115. </member>
  116. <member name="F:HarmonyLib.Protection.PAGE_WRITECOPY">
  117. <summary>Write copy</summary>
  118. </member>
  119. <member name="F:HarmonyLib.Protection.PAGE_EXECUTE">
  120. <summary>No access</summary>
  121. </member>
  122. <member name="F:HarmonyLib.Protection.PAGE_EXECUTE_READ">
  123. <summary>Execute read</summary>
  124. </member>
  125. <member name="F:HarmonyLib.Protection.PAGE_EXECUTE_READWRITE">
  126. <summary>Execute read write</summary>
  127. </member>
  128. <member name="F:HarmonyLib.Protection.PAGE_EXECUTE_WRITECOPY">
  129. <summary>Execute write copy</summary>
  130. </member>
  131. <member name="F:HarmonyLib.Protection.PAGE_GUARD">
  132. <summary>guard</summary>
  133. </member>
  134. <member name="F:HarmonyLib.Protection.PAGE_NOCACHE">
  135. <summary>No cache</summary>
  136. </member>
  137. <member name="F:HarmonyLib.Protection.PAGE_WRITECOMBINE">
  138. <summary>Write combine</summary>
  139. </member>
  140. <member name="T:HarmonyLib.Memory">
  141. <summary>A low level memory helper</summary>
  142. </member>
  143. <member name="P:HarmonyLib.Memory.IsWindows">
  144. <summary>Is current environment Windows?</summary>
  145. <value>True if it is Windows</value>
  146. </member>
  147. <member name="M:HarmonyLib.Memory.VirtualProtect(System.IntPtr,System.UIntPtr,HarmonyLib.Protection,HarmonyLib.Protection@)">
  148. <summary>Virtual protect</summary>
  149. <param name="lpAddress">The address</param>
  150. <param name="dwSize">The size</param>
  151. <param name="flNewProtect">The fl new protect</param>
  152. <param name="lpflOldProtect">[out] The lpfl old protect</param>
  153. <returns>Status</returns>
  154. </member>
  155. <member name="M:HarmonyLib.Memory.UnprotectMemoryPage(System.Int64)">
  156. <summary>Unprotect a memory page</summary>
  157. <param name="memory">The memory address</param>
  158. </member>
  159. <member name="M:HarmonyLib.Memory.MarkForNoInlining(System.Reflection.MethodBase)">
  160. <summary>Mark method for no inlining</summary>
  161. <param name="method">The method to change</param>
  162. </member>
  163. <member name="M:HarmonyLib.Memory.DetourMethod(System.Reflection.MethodBase,System.Reflection.MethodBase)">
  164. <summary>Detours a method</summary>
  165. <param name="original">The original method</param>
  166. <param name="replacement">The replacement method</param>
  167. <returns>An error string</returns>
  168. </member>
  169. <member name="M:HarmonyLib.Memory.WriteJump(System.Int64,System.Int64)">
  170. <summary>Writes a jump to memory</summary>
  171. <param name="memory">The memory address</param>
  172. <param name="destination">Jump destination</param>
  173. <returns>An error string</returns>
  174. </member>
  175. <member name="M:HarmonyLib.Memory.GetMethodStart(System.Reflection.MethodBase,System.Exception@)">
  176. <summary>Gets the start of a method in memory</summary>
  177. <param name="method">The method</param>
  178. <param name="exception">[out] Details of the exception</param>
  179. <returns>The method start address</returns>
  180. </member>
  181. <member name="M:HarmonyLib.Memory.CompareBytes(System.Int64,System.Byte[])">
  182. <summary>Compare bytes</summary>
  183. <param name="memory">The memory address</param>
  184. <param name="values">The bytes to compare to</param>
  185. <returns>True if memory address contains the bytes</returns>
  186. </member>
  187. <member name="M:HarmonyLib.Memory.ReadByte(System.Int64)">
  188. <summary>Reads a byte</summary>
  189. <param name="memory">The memory address</param>
  190. <returns>The byte</returns>
  191. </member>
  192. <member name="M:HarmonyLib.Memory.ReadInt(System.Int64)">
  193. <summary>Reads an int</summary>
  194. <param name="memory">The memory address</param>
  195. <returns>The int</returns>
  196. </member>
  197. <member name="M:HarmonyLib.Memory.ReadLong(System.Int64)">
  198. <summary>Reads a long</summary>
  199. <param name="memory">The memory address</param>
  200. <returns>The long</returns>
  201. </member>
  202. <member name="M:HarmonyLib.Memory.WriteByte(System.Int64,System.Byte)">
  203. <summary>Writes a byte</summary>
  204. <param name="memory">The memory address</param>
  205. <param name="value">The byte</param>
  206. <returns>Advanced memory address</returns>
  207. </member>
  208. <member name="M:HarmonyLib.Memory.WriteBytes(System.Int64,System.Byte[])">
  209. <summary>Writes some bytes</summary>
  210. <param name="memory">The memory address</param>
  211. <param name="values">The bytes to write</param>
  212. <returns>Advanced memory address</returns>
  213. </member>
  214. <member name="M:HarmonyLib.Memory.WriteInt(System.Int64,System.Int32)">
  215. <summary>Writes an int</summary>
  216. <param name="memory">The memory address</param>
  217. <param name="value">The int</param>
  218. <returns>Advanced memory address</returns>
  219. </member>
  220. <member name="M:HarmonyLib.Memory.WriteLong(System.Int64,System.Int64)">
  221. <summary>Writes a long</summary>
  222. <param name="memory">The memory address</param>
  223. <param name="value"> The long</param>
  224. <returns>Advanced memory address</returns>
  225. </member>
  226. <member name="F:HarmonyLib.MethodPatcher.INSTANCE_PARAM">
  227. special parameter names that can be used in prefix and postfix methods
  228. </member>
  229. <member name="T:HarmonyLib.PatchFunctions">
  230. <summary>Patch function helpers</summary>
  231. </member>
  232. <member name="M:HarmonyLib.PatchFunctions.AddPrefix(HarmonyLib.PatchInfo,System.String,HarmonyLib.HarmonyMethod)">
  233. <summary>Adds a prefix</summary>
  234. <param name="patchInfo">The patch info</param>
  235. <param name="owner">The owner (Harmony ID)</param>
  236. <param name="info">The annotation info</param>
  237. </member>
  238. <member name="M:HarmonyLib.PatchFunctions.RemovePrefix(HarmonyLib.PatchInfo,System.String)">
  239. <summary>Removes a prefix</summary>
  240. <param name="patchInfo">The patch info</param>
  241. <param name="owner">The owner (Harmony ID)</param>
  242. </member>
  243. <member name="M:HarmonyLib.PatchFunctions.AddPostfix(HarmonyLib.PatchInfo,System.String,HarmonyLib.HarmonyMethod)">
  244. <summary>Adds a postfix</summary>
  245. <param name="patchInfo">The patch info</param>
  246. <param name="owner">The owner (Harmony ID)</param>
  247. <param name="info">The annotation info</param>
  248. </member>
  249. <member name="M:HarmonyLib.PatchFunctions.RemovePostfix(HarmonyLib.PatchInfo,System.String)">
  250. <summary>Removes a postfix</summary>
  251. <param name="patchInfo">The patch info</param>
  252. <param name="owner">The owner (Harmony ID)</param>
  253. </member>
  254. <member name="M:HarmonyLib.PatchFunctions.AddTranspiler(HarmonyLib.PatchInfo,System.String,HarmonyLib.HarmonyMethod)">
  255. <summary>Adds a transpiler</summary>
  256. <param name="patchInfo">The patch info</param>
  257. <param name="owner">The owner (Harmony ID)</param>
  258. <param name="info">The annotation info</param>
  259. </member>
  260. <member name="M:HarmonyLib.PatchFunctions.RemoveTranspiler(HarmonyLib.PatchInfo,System.String)">
  261. <summary>Removes a transpiler</summary>
  262. <param name="patchInfo">The patch info</param>
  263. <param name="owner">The owner (Harmony ID)</param>
  264. </member>
  265. <member name="M:HarmonyLib.PatchFunctions.AddFinalizer(HarmonyLib.PatchInfo,System.String,HarmonyLib.HarmonyMethod)">
  266. <summary>Adds a finalizer</summary>
  267. <param name="patchInfo">The patch info</param>
  268. <param name="owner">The owner (Harmony ID)</param>
  269. <param name="info">The annotation info</param>
  270. </member>
  271. <member name="M:HarmonyLib.PatchFunctions.RemoveFinalizer(HarmonyLib.PatchInfo,System.String)">
  272. <summary>Removes a finalizer</summary>
  273. <param name="patchInfo">The patch info</param>
  274. <param name="owner">The owner (Harmony ID)</param>
  275. </member>
  276. <member name="M:HarmonyLib.PatchFunctions.RemovePatch(HarmonyLib.PatchInfo,System.Reflection.MethodInfo)">
  277. <summary>Removes a patch method</summary>
  278. <param name="patchInfo">The patch info</param>
  279. <param name="patch">The patch method</param>
  280. </member>
  281. <member name="M:HarmonyLib.PatchFunctions.GetInstructions(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase)">
  282. <summary>Gets all instructions from a method</summary>
  283. <param name="generator">The generator (for defining labels)</param>
  284. <param name="method">The original method</param>
  285. <returns>The instructions</returns>
  286. </member>
  287. <member name="M:HarmonyLib.PatchFunctions.GetSortedPatchMethods(System.Reflection.MethodBase,HarmonyLib.Patch[])">
  288. <summary>Gets sorted patch methods</summary>
  289. <param name="original">The original method</param>
  290. <param name="patches">Patches to sort</param>
  291. <returns>The sorted patch methods</returns>
  292. </member>
  293. <member name="M:HarmonyLib.PatchFunctions.UpdateWrapper(System.Reflection.MethodBase,HarmonyLib.PatchInfo,System.String)">
  294. <summary>Creates new dynamic method with the latest patches and detours the original method</summary>
  295. <param name="original">The original method</param>
  296. <param name="patchInfo">Information describing the patches</param>
  297. <param name="instanceID">Harmony ID</param>
  298. <returns>The newly created dynamic method</returns>
  299. </member>
  300. <member name="M:HarmonyLib.PatchSorter.#ctor(HarmonyLib.Patch[])">
  301. <summary>Creates a patch sorter</summary>
  302. <param name="patches">Array of patches that will be sorted</param>
  303. </member>
  304. <member name="M:HarmonyLib.PatchSorter.Sort(System.Reflection.MethodBase)">
  305. <summary>Sorts internal PatchSortingWrapper collection and caches the results.
  306. After first run the result is provided from the cache.</summary>
  307. <param name="original">The original method</param>
  308. <returns>The sorted patch methods</returns>
  309. </member>
  310. <member name="M:HarmonyLib.PatchSorter.ComparePatchLists(HarmonyLib.Patch[])">
  311. <summary>Checks if the sorter was created with the same patch list and as a result can be reused to
  312. get the sorted order of the patches.</summary>
  313. <param name="patches">List of patches to check against</param>
  314. <returns>true if equal</returns>
  315. </member>
  316. <member name="M:HarmonyLib.PatchSorter.CullDependency">
  317. <summary>Removes one unresolved dependency from the least important patch.</summary>
  318. </member>
  319. <member name="M:HarmonyLib.PatchSorter.ProcessWaitingList">
  320. <summary>Outputs all unblocked patches from the waiting list to results list</summary>
  321. </member>
  322. <member name="M:HarmonyLib.PatchSorter.AddNodeToResult(HarmonyLib.PatchSorter.PatchSortingWrapper)">
  323. <summary>Adds patch to both results list and handled patches set</summary>
  324. <param name="node">Patch to add</param>
  325. </member>
  326. <member name="T:HarmonyLib.PatchSorter.PatchSortingWrapper">
  327. <summary>Wrapper used over the Patch object to allow faster dependency access and
  328. dependency removal in case of cyclic dependencies</summary>
  329. </member>
  330. <member name="M:HarmonyLib.PatchSorter.PatchSortingWrapper.#ctor(HarmonyLib.Patch)">
  331. <summary>Create patch wrapper object used for sorting</summary>
  332. <param name="patch">Patch to wrap</param>
  333. </member>
  334. <member name="M:HarmonyLib.PatchSorter.PatchSortingWrapper.CompareTo(System.Object)">
  335. <summary>Determines how patches sort</summary>
  336. <param name="obj">The other patch</param>
  337. <returns>integer to define sort order (-1, 0, 1)</returns>
  338. </member>
  339. <member name="M:HarmonyLib.PatchSorter.PatchSortingWrapper.Equals(System.Object)">
  340. <summary>Determines whether patches are equal</summary>
  341. <param name="obj">The other patch</param>
  342. <returns>true if equal</returns>
  343. </member>
  344. <member name="M:HarmonyLib.PatchSorter.PatchSortingWrapper.GetHashCode">
  345. <summary>Hash function</summary>
  346. <returns>A hash code</returns>
  347. </member>
  348. <member name="M:HarmonyLib.PatchSorter.PatchSortingWrapper.AddBeforeDependency(System.Collections.Generic.IEnumerable{HarmonyLib.PatchSorter.PatchSortingWrapper})">
  349. <summary>Bidirectionally registers Patches as after dependencies</summary>
  350. <param name="dependencies">List of dependencies to register</param>
  351. </member>
  352. <member name="M:HarmonyLib.PatchSorter.PatchSortingWrapper.AddAfterDependency(System.Collections.Generic.IEnumerable{HarmonyLib.PatchSorter.PatchSortingWrapper})">
  353. <summary>Bidirectionally registers Patches as before dependencies</summary>
  354. <param name="dependencies">List of dependencies to register</param>
  355. </member>
  356. <member name="M:HarmonyLib.PatchSorter.PatchSortingWrapper.RemoveAfterDependency(HarmonyLib.PatchSorter.PatchSortingWrapper)">
  357. <summary>Bidirectionally removes Patch from after dependencies</summary>
  358. <param name="afterNode">Patch to remove</param>
  359. </member>
  360. <member name="M:HarmonyLib.PatchSorter.PatchSortingWrapper.RemoveBeforeDependency(HarmonyLib.PatchSorter.PatchSortingWrapper)">
  361. <summary>Bidirectionally removes Patch from before dependencies</summary>
  362. <param name="beforeNode">Patch to remove</param>
  363. </member>
  364. <member name="T:HarmonyLib.MethodType">
  365. <summary>Specifies the type of method</summary>
  366. </member>
  367. <member name="F:HarmonyLib.MethodType.Normal">
  368. <summary>This is a normal method</summary>
  369. </member>
  370. <member name="F:HarmonyLib.MethodType.Getter">
  371. <summary>This is a getter</summary>
  372. </member>
  373. <member name="F:HarmonyLib.MethodType.Setter">
  374. <summary>This is a setter</summary>
  375. </member>
  376. <member name="F:HarmonyLib.MethodType.Constructor">
  377. <summary>This is a constructor</summary>
  378. </member>
  379. <member name="F:HarmonyLib.MethodType.StaticConstructor">
  380. <summary>This is a static constructor</summary>
  381. </member>
  382. <member name="T:HarmonyLib.ArgumentType">
  383. <summary>Specifies the type of argument</summary>
  384. </member>
  385. <member name="F:HarmonyLib.ArgumentType.Normal">
  386. <summary>This is a normal argument</summary>
  387. </member>
  388. <member name="F:HarmonyLib.ArgumentType.Ref">
  389. <summary>This is a reference argument (ref)</summary>
  390. </member>
  391. <member name="F:HarmonyLib.ArgumentType.Out">
  392. <summary>This is an out argument (out)</summary>
  393. </member>
  394. <member name="F:HarmonyLib.ArgumentType.Pointer">
  395. <summary>This is a pointer argument (&amp;)</summary>
  396. </member>
  397. <member name="T:HarmonyLib.HarmonyPatchType">
  398. <summary>Specifies the type of patch</summary>
  399. </member>
  400. <member name="F:HarmonyLib.HarmonyPatchType.All">
  401. <summary>Any patch</summary>
  402. </member>
  403. <member name="F:HarmonyLib.HarmonyPatchType.Prefix">
  404. <summary>A prefix patch</summary>
  405. </member>
  406. <member name="F:HarmonyLib.HarmonyPatchType.Postfix">
  407. <summary>A postfix patch</summary>
  408. </member>
  409. <member name="F:HarmonyLib.HarmonyPatchType.Transpiler">
  410. <summary>A transpiler</summary>
  411. </member>
  412. <member name="F:HarmonyLib.HarmonyPatchType.Finalizer">
  413. <summary>A finalizer</summary>
  414. </member>
  415. <member name="T:HarmonyLib.HarmonyAttribute">
  416. <summary>The base class for all Harmony annotations (not meant to be used directly)</summary>
  417. </member>
  418. <member name="F:HarmonyLib.HarmonyAttribute.info">
  419. <summary>The common information for all attributes</summary>
  420. </member>
  421. <member name="T:HarmonyLib.HarmonyPatch">
  422. <summary>The main Harmony annotation class</summary>
  423. </member>
  424. <member name="M:HarmonyLib.HarmonyPatch.#ctor">
  425. <summary>An empty annotation can be used together with TargetMethod(s)</summary>
  426. </member>
  427. <member name="M:HarmonyLib.HarmonyPatch.#ctor(System.Type)">
  428. <summary>An annotation that specifies a class to patch</summary>
  429. <param name="declaringType">The declaring class</param>
  430. </member>
  431. <member name="M:HarmonyLib.HarmonyPatch.#ctor(System.Type,System.Type[])">
  432. <summary>An annotation that specifies a method, property or constructor to patch</summary>
  433. <param name="declaringType">The declaring class</param>
  434. <param name="argumentTypes">The argument types of the method or constructor to patch</param>
  435. </member>
  436. <member name="M:HarmonyLib.HarmonyPatch.#ctor(System.Type,System.String)">
  437. <summary>An annotation that specifies a method, property or constructor to patch</summary>
  438. <param name="declaringType">The declaring class</param>
  439. <param name="methodName">The name of the method, property or constructor to patch</param>
  440. </member>
  441. <member name="M:HarmonyLib.HarmonyPatch.#ctor(System.Type,System.String,System.Type[])">
  442. <summary>An annotation that specifies a method, property or constructor to patch</summary>
  443. <param name="declaringType">The declaring class</param>
  444. <param name="methodName">The name of the method, property or constructor to patch</param>
  445. <param name="argumentTypes">An array of argument types to target overloads</param>
  446. </member>
  447. <member name="M:HarmonyLib.HarmonyPatch.#ctor(System.Type,System.String,System.Type[],HarmonyLib.ArgumentType[])">
  448. <summary>An annotation that specifies a method, property or constructor to patch</summary>
  449. <param name="declaringType">The declaring class</param>
  450. <param name="methodName">The name of the method, property or constructor to patch</param>
  451. <param name="argumentTypes">An array of argument types to target overloads</param>
  452. <param name="argumentVariations">An array of extra argument subtypes (ref, out, pointer)</param>
  453. </member>
  454. <member name="M:HarmonyLib.HarmonyPatch.#ctor(System.Type,HarmonyLib.MethodType)">
  455. <summary>An annotation that specifies a method, property or constructor to patch</summary>
  456. <param name="declaringType">The declaring class</param>
  457. <param name="methodType">The type of entry: method, getter, setter or constructor</param>
  458. </member>
  459. <member name="M:HarmonyLib.HarmonyPatch.#ctor(System.Type,HarmonyLib.MethodType,System.Type[])">
  460. <summary>An annotation that specifies a method, property or constructor to patch</summary>
  461. <param name="declaringType">The declaring class</param>
  462. <param name="methodType">The type of entry: method, getter, setter or constructor</param>
  463. <param name="argumentTypes">An array of argument types to target overloads</param>
  464. </member>
  465. <member name="M:HarmonyLib.HarmonyPatch.#ctor(System.Type,HarmonyLib.MethodType,System.Type[],HarmonyLib.ArgumentType[])">
  466. <summary>An annotation that specifies a method, property or constructor to patch</summary>
  467. <param name="declaringType">The declaring class</param>
  468. <param name="methodType">The type of entry: method, getter, setter or constructor</param>
  469. <param name="argumentTypes">An array of argument types to target overloads</param>
  470. <param name="argumentVariations">An array of extra argument subtypes (ref, out, pointer)</param>
  471. </member>
  472. <member name="M:HarmonyLib.HarmonyPatch.#ctor(System.Type,System.String,HarmonyLib.MethodType)">
  473. <summary>An annotation that specifies a method, property or constructor to patch</summary>
  474. <param name="declaringType">The declaring class</param>
  475. <param name="methodName">The name of the method, property or constructor to patch</param>
  476. <param name="methodType">The type of entry: method, getter, setter or constructor</param>
  477. </member>
  478. <member name="M:HarmonyLib.HarmonyPatch.#ctor(System.String)">
  479. <summary>An annotation that specifies a method, property or constructor to patch</summary>
  480. <param name="methodName">The name of the method, property or constructor to patch</param>
  481. </member>
  482. <member name="M:HarmonyLib.HarmonyPatch.#ctor(System.String,System.Type[])">
  483. <summary>An annotation that specifies a method, property or constructor to patch</summary>
  484. <param name="methodName">The name of the method, property or constructor to patch</param>
  485. <param name="argumentTypes">An array of argument types to target overloads</param>
  486. </member>
  487. <member name="M:HarmonyLib.HarmonyPatch.#ctor(System.String,System.Type[],HarmonyLib.ArgumentType[])">
  488. <summary>An annotation that specifies a method, property or constructor to patch</summary>
  489. <param name="methodName">The name of the method, property or constructor to patch</param>
  490. <param name="argumentTypes">An array of argument types to target overloads</param>
  491. <param name="argumentVariations">An array of extra argument subtypes (ref, out, pointer)</param>
  492. </member>
  493. <member name="M:HarmonyLib.HarmonyPatch.#ctor(System.String,HarmonyLib.MethodType)">
  494. <summary>An annotation that specifies a method, property or constructor to patch</summary>
  495. <param name="methodName">The name of the method, property or constructor to patch</param>
  496. <param name="methodType">The type of entry: method, getter, setter or constructor</param>
  497. </member>
  498. <member name="M:HarmonyLib.HarmonyPatch.#ctor(HarmonyLib.MethodType)">
  499. <summary>An annotation that specifies a method, property or constructor to patch</summary>
  500. <param name="methodType">The type of entry: method, getter, setter or constructor</param>
  501. </member>
  502. <member name="M:HarmonyLib.HarmonyPatch.#ctor(HarmonyLib.MethodType,System.Type[])">
  503. <summary>An annotation that specifies a method, property or constructor to patch</summary>
  504. <param name="methodType">The type of entry: method, getter, setter or constructor</param>
  505. <param name="argumentTypes">An array of argument types to target overloads</param>
  506. </member>
  507. <member name="M:HarmonyLib.HarmonyPatch.#ctor(HarmonyLib.MethodType,System.Type[],HarmonyLib.ArgumentType[])">
  508. <summary>An annotation that specifies a method, property or constructor to patch</summary>
  509. <param name="methodType">The type of entry: method, getter, setter or constructor</param>
  510. <param name="argumentTypes">An array of argument types to target overloads</param>
  511. <param name="argumentVariations">An array of extra argument subtypes (ref, out, pointer)</param>
  512. </member>
  513. <member name="M:HarmonyLib.HarmonyPatch.#ctor(System.Type[])">
  514. <summary>An annotation that specifies a method, property or constructor to patch</summary>
  515. <param name="argumentTypes">An array of argument types to target overloads</param>
  516. </member>
  517. <member name="M:HarmonyLib.HarmonyPatch.#ctor(System.Type[],HarmonyLib.ArgumentType[])">
  518. <summary>An annotation that specifies a method, property or constructor to patch</summary>
  519. <param name="argumentTypes">An array of argument types to target overloads</param>
  520. <param name="argumentVariations">An array of extra argument subtypes (ref, out, pointer)</param>
  521. </member>
  522. <member name="T:HarmonyLib.HarmonyPatchAll">
  523. <summary>A Harmony annotation to define that all methods in a class are to be patched</summary>
  524. </member>
  525. <member name="T:HarmonyLib.HarmonyPriority">
  526. <summary>A Harmony annotation</summary>
  527. </member>
  528. <member name="M:HarmonyLib.HarmonyPriority.#ctor(System.Int32)">
  529. <summary>A Harmony annotation to define patch priority</summary>
  530. <param name="priority">The priority</param>
  531. </member>
  532. <member name="T:HarmonyLib.HarmonyBefore">
  533. <summary>A Harmony annotation</summary>
  534. </member>
  535. <member name="M:HarmonyLib.HarmonyBefore.#ctor(System.String[])">
  536. <summary>A Harmony annotation to define that a patch comes before another patch</summary>
  537. <param name="before">The harmony ID of the other patch</param>
  538. </member>
  539. <member name="T:HarmonyLib.HarmonyAfter">
  540. <summary>A Harmony annotation</summary>
  541. </member>
  542. <member name="M:HarmonyLib.HarmonyAfter.#ctor(System.String[])">
  543. <summary>A Harmony annotation to define that a patch comes after another patch</summary>
  544. <param name="after">The harmony ID of the other patch</param>
  545. </member>
  546. <member name="T:HarmonyLib.HarmonyPrepare">
  547. <summary>Specifies the Prepare function in a patch class</summary>
  548. </member>
  549. <member name="T:HarmonyLib.HarmonyCleanup">
  550. <summary>Specifies the Cleanup function in a patch class</summary>
  551. </member>
  552. <member name="T:HarmonyLib.HarmonyTargetMethod">
  553. <summary>Specifies the TargetMethod function in a patch class</summary>
  554. </member>
  555. <member name="T:HarmonyLib.HarmonyTargetMethods">
  556. <summary>Specifies the TargetMethods function in a patch class</summary>
  557. </member>
  558. <member name="T:HarmonyLib.HarmonyPrefix">
  559. <summary>Specifies the Prefix function in a patch class</summary>
  560. </member>
  561. <member name="T:HarmonyLib.HarmonyPostfix">
  562. <summary>Specifies the Postfix function in a patch class</summary>
  563. </member>
  564. <member name="T:HarmonyLib.HarmonyTranspiler">
  565. <summary>Specifies the Transpiler function in a patch class</summary>
  566. </member>
  567. <member name="T:HarmonyLib.HarmonyFinalizer">
  568. <summary>Specifies the Finalizer function in a patch class</summary>
  569. </member>
  570. <member name="T:HarmonyLib.HarmonyArgument">
  571. <summary>A Harmony annotation</summary>
  572. </member>
  573. <member name="P:HarmonyLib.HarmonyArgument.OriginalName">
  574. <summary>The name of the original argument</summary>
  575. </member>
  576. <member name="P:HarmonyLib.HarmonyArgument.Index">
  577. <summary>The index of the original argument</summary>
  578. </member>
  579. <member name="P:HarmonyLib.HarmonyArgument.NewName">
  580. <summary>The new name of the original argument</summary>
  581. </member>
  582. <member name="M:HarmonyLib.HarmonyArgument.#ctor(System.String)">
  583. <summary>An annotation to declare injected arguments by name</summary>
  584. </member>
  585. <member name="M:HarmonyLib.HarmonyArgument.#ctor(System.Int32)">
  586. <summary>An annotation to declare injected arguments by index</summary>
  587. <param name="index">Zero-based index</param>
  588. </member>
  589. <member name="M:HarmonyLib.HarmonyArgument.#ctor(System.String,System.String)">
  590. <summary>An annotation to declare injected arguments by renaming them</summary>
  591. <param name="originalName">Name of the original argument</param>
  592. <param name="newName">New name</param>
  593. </member>
  594. <member name="M:HarmonyLib.HarmonyArgument.#ctor(System.Int32,System.String)">
  595. <summary>An annotation to declare injected arguments by index and renaming them</summary>
  596. <param name="index">Zero-based index</param>
  597. <param name="name">New name</param>
  598. </member>
  599. <member name="F:HarmonyLib.UpgradeToLatestVersion.version">
  600. <summary>The version.</summary>
  601. </member>
  602. <member name="T:HarmonyLib.CodeInstruction">
  603. <summary>An abstract wrapper around OpCode and their operands. Used by transpilers</summary>
  604. </member>
  605. <member name="F:HarmonyLib.CodeInstruction.opcode">
  606. <summary>The opcode</summary>
  607. </member>
  608. <member name="F:HarmonyLib.CodeInstruction.operand">
  609. <summary>The operand</summary>
  610. </member>
  611. <member name="F:HarmonyLib.CodeInstruction.labels">
  612. <summary>All labels defined on this instruction</summary>
  613. </member>
  614. <member name="F:HarmonyLib.CodeInstruction.blocks">
  615. <summary>All exception block boundaries defined on this instruction</summary>
  616. </member>
  617. <member name="M:HarmonyLib.CodeInstruction.#ctor(System.Reflection.Emit.OpCode,System.Object)">
  618. <summary>Creates a new CodeInstruction with a given opcode and optional operand</summary>
  619. <param name="opcode">The code</param>
  620. <param name="operand">The operand</param>
  621. </member>
  622. <member name="M:HarmonyLib.CodeInstruction.#ctor(HarmonyLib.CodeInstruction)">
  623. <summary>Create a full copy (including labels and exception blocks) of a CodeInstruction</summary>
  624. <param name="instruction">The instruction to copy</param>
  625. </member>
  626. <member name="M:HarmonyLib.CodeInstruction.Clone">
  627. <summary>Clones a CodeInstruction and resets its labels and exception blocks</summary>
  628. <returns>A lightweight copy of this code instruction</returns>
  629. </member>
  630. <member name="M:HarmonyLib.CodeInstruction.Clone(System.Reflection.Emit.OpCode)">
  631. <summary>Clones a CodeInstruction, resets labels and exception blocks and sets its opcode</summary>
  632. <param name="opcode">The opcode</param>
  633. <returns>A copy of this CodeInstruction with a new opcode</returns>
  634. </member>
  635. <member name="M:HarmonyLib.CodeInstruction.Clone(System.Object)">
  636. <summary>Clones a CodeInstruction, resets labels and exception blocks and sets its operand</summary>
  637. <param name="operand">The opcode</param>
  638. <returns>A copy of this CodeInstruction with a new operand</returns>
  639. </member>
  640. <member name="M:HarmonyLib.CodeInstruction.ToString">
  641. <summary>Returns a string representation of the code instruction</summary>
  642. <returns>A string representation of the code instruction</returns>
  643. </member>
  644. <member name="T:HarmonyLib.ExceptionBlockType">
  645. <summary>Exception block types</summary>
  646. </member>
  647. <member name="F:HarmonyLib.ExceptionBlockType.BeginExceptionBlock">
  648. <summary>The beginning of an exception block</summary>
  649. </member>
  650. <member name="F:HarmonyLib.ExceptionBlockType.BeginCatchBlock">
  651. <summary>The beginning of a catch block</summary>
  652. </member>
  653. <member name="F:HarmonyLib.ExceptionBlockType.BeginExceptFilterBlock">
  654. <summary>The beginning of an except filter block</summary>
  655. </member>
  656. <member name="F:HarmonyLib.ExceptionBlockType.BeginFaultBlock">
  657. <summary>The beginning of a fault block</summary>
  658. </member>
  659. <member name="F:HarmonyLib.ExceptionBlockType.BeginFinallyBlock">
  660. <summary>The beginning of a finally block</summary>
  661. </member>
  662. <member name="F:HarmonyLib.ExceptionBlockType.EndExceptionBlock">
  663. <summary>The end of an exception block</summary>
  664. </member>
  665. <member name="T:HarmonyLib.ExceptionBlock">
  666. <summary>An exception block</summary>
  667. </member>
  668. <member name="F:HarmonyLib.ExceptionBlock.blockType">
  669. <summary>Block type</summary>
  670. </member>
  671. <member name="F:HarmonyLib.ExceptionBlock.catchType">
  672. <summary>Catch type</summary>
  673. </member>
  674. <member name="M:HarmonyLib.ExceptionBlock.#ctor(HarmonyLib.ExceptionBlockType,System.Type)">
  675. <summary>Creates an exception block</summary>
  676. <param name="blockType">Block type</param>
  677. <param name="catchType">Catch type</param>
  678. </member>
  679. <member name="T:HarmonyLib.Harmony">
  680. <summary>The Harmony instance is the main entry to Harmony. After creating one with an unique identifier, it is used to patch and query the current application domain</summary>
  681. </member>
  682. <member name="P:HarmonyLib.Harmony.Id">
  683. <summary>The unique identifier</summary>
  684. </member>
  685. <member name="F:HarmonyLib.Harmony.DEBUG">
  686. <summary>Set to true before instantiating Harmony to debug Harmony</summary>
  687. </member>
  688. <member name="F:HarmonyLib.Harmony.SELF_PATCHING">
  689. <summary>Set to false before instantiating Harmony to prevent Harmony from patching other older instances of itself</summary>
  690. </member>
  691. <member name="M:HarmonyLib.Harmony.#ctor(System.String)">
  692. <summary>Creates a new Harmony instance</summary>
  693. <param name="id">A unique identifier</param>
  694. <returns>A Harmony instance</returns>
  695. </member>
  696. <member name="M:HarmonyLib.Harmony.PatchAll">
  697. <summary>Searches current assembly for Harmony annotations and uses them to create patches</summary>
  698. </member>
  699. <member name="M:HarmonyLib.Harmony.ProcessorForAnnotatedClass(System.Type)">
  700. <summary>Create a patch processor from an annotated class</summary>
  701. <param name="type">The class</param>
  702. </member>
  703. <member name="M:HarmonyLib.Harmony.PatchAll(System.Reflection.Assembly)">
  704. <summary>Searches an assembly for Harmony annotations and uses them to create patches</summary>
  705. <param name="assembly">The assembly</param>
  706. </member>
  707. <member name="M:HarmonyLib.Harmony.Patch(System.Reflection.MethodBase,HarmonyLib.HarmonyMethod,HarmonyLib.HarmonyMethod,HarmonyLib.HarmonyMethod,HarmonyLib.HarmonyMethod)">
  708. <summary>Creates patches by manually specifying the methods</summary>
  709. <param name="original">The original method</param>
  710. <param name="prefix">An optional prefix method wrapped in a HarmonyMethod object</param>
  711. <param name="postfix">An optional postfix method wrapped in a HarmonyMethod object</param>
  712. <param name="transpiler">An optional transpiler method wrapped in a HarmonyMethod object</param>
  713. <param name="finalizer">An optional finalizer method wrapped in a HarmonyMethod object</param>
  714. <returns>The dynamic method that was created to patch the original method</returns>
  715. </member>
  716. <member name="M:HarmonyLib.Harmony.UnpatchAll(System.String)">
  717. <summary>Unpatches methods</summary>
  718. <param name="harmonyID">The optional Harmony ID to restrict unpatching to a specific instance</param>
  719. </member>
  720. <member name="M:HarmonyLib.Harmony.Unpatch(System.Reflection.MethodBase,HarmonyLib.HarmonyPatchType,System.String)">
  721. <summary>Unpatches a method</summary>
  722. <param name="original">The original method</param>
  723. <param name="type">The patch type</param>
  724. <param name="harmonyID">The optional Harmony ID to restrict unpatching to a specific instance</param>
  725. </member>
  726. <member name="M:HarmonyLib.Harmony.Unpatch(System.Reflection.MethodBase,System.Reflection.MethodInfo)">
  727. <summary>Unpatches a method</summary>
  728. <param name="original">The original method</param>
  729. <param name="patch">The patch method to remove</param>
  730. </member>
  731. <member name="M:HarmonyLib.Harmony.HasAnyPatches(System.String)">
  732. <summary>Test for patches from a specific Harmony ID</summary>
  733. <param name="harmonyID">The Harmony ID</param>
  734. <returns>True if patches for this ID exist</returns>
  735. </member>
  736. <member name="M:HarmonyLib.Harmony.GetPatchInfo(System.Reflection.MethodBase)">
  737. <summary>Gets patch information for a given original method</summary>
  738. <param name="method">The original method</param>
  739. <returns>The patch information</returns>
  740. </member>
  741. <member name="M:HarmonyLib.Harmony.GetPatchedMethods">
  742. <summary>Gets the methods this instance has patched</summary>
  743. <returns>An enumeration of original methods</returns>
  744. </member>
  745. <member name="M:HarmonyLib.Harmony.GetAllPatchedMethods">
  746. <summary>Gets all patched methods in the appdomain</summary>
  747. <returns>An enumeration of original methods</returns>
  748. </member>
  749. <member name="M:HarmonyLib.Harmony.VersionInfo(System.Version@)">
  750. <summary>Gets Harmony version for all active Harmony instances</summary>
  751. <param name="currentVersion">[out] The current Harmony version</param>
  752. <returns>A dictionary containing assembly versions keyed by Harmony IDs</returns>
  753. </member>
  754. <member name="T:HarmonyLib.HarmonyMethod">
  755. <summary>A wrapper around a method to use it as a patch (for example a Prefix)</summary>
  756. </member>
  757. <member name="F:HarmonyLib.HarmonyMethod.method">
  758. <summary>The original method</summary>
  759. </member>
  760. <member name="F:HarmonyLib.HarmonyMethod.declaringType">
  761. <summary>Declaring class</summary>
  762. </member>
  763. <member name="F:HarmonyLib.HarmonyMethod.methodName">
  764. <summary>Method name</summary>
  765. </member>
  766. <member name="F:HarmonyLib.HarmonyMethod.methodType">
  767. <summary>Method type</summary>
  768. </member>
  769. <member name="F:HarmonyLib.HarmonyMethod.argumentTypes">
  770. <summary>Argument types</summary>
  771. </member>
  772. <member name="F:HarmonyLib.HarmonyMethod.priority">
  773. <summary>Priority</summary>
  774. </member>
  775. <member name="F:HarmonyLib.HarmonyMethod.before">
  776. <summary>Before parameter</summary>
  777. </member>
  778. <member name="F:HarmonyLib.HarmonyMethod.after">
  779. <summary>After parameter</summary>
  780. </member>
  781. <member name="M:HarmonyLib.HarmonyMethod.#ctor">
  782. <summary>Default constructor</summary>
  783. </member>
  784. <member name="M:HarmonyLib.HarmonyMethod.#ctor(System.Reflection.MethodInfo)">
  785. <summary>Creates an annotation from a method</summary>
  786. <param name="method">The original method</param>
  787. </member>
  788. <member name="M:HarmonyLib.HarmonyMethod.#ctor(System.Type,System.String,System.Type[])">
  789. <summary>Creates an annotation from a method.</summary>
  790. <param name="type">The type</param>
  791. <param name="name">The method name</param>
  792. <param name="parameters">The optional argument types for overloaded methods</param>
  793. </member>
  794. <member name="M:HarmonyLib.HarmonyMethod.HarmonyFields">
  795. <summary>Gets the names of all internal patch info fields</summary>
  796. <returns>A list of field names</returns>
  797. </member>
  798. <member name="M:HarmonyLib.HarmonyMethod.Merge(System.Collections.Generic.List{HarmonyLib.HarmonyMethod})">
  799. <summary>Merges annotations</summary>
  800. <param name="attributes">The annotations</param>
  801. <returns>A merged annotation</returns>
  802. </member>
  803. <member name="M:HarmonyLib.HarmonyMethod.ToString">
  804. <summary>Returns a string that represents the annotation</summary>
  805. <returns>A string representation</returns>
  806. </member>
  807. <member name="T:HarmonyLib.HarmonyMethodExtensions">
  808. <summary>Annotation extensions</summary>
  809. </member>
  810. <member name="M:HarmonyLib.HarmonyMethodExtensions.CopyTo(HarmonyLib.HarmonyMethod,HarmonyLib.HarmonyMethod)">
  811. <summary>Copies annotation information</summary>
  812. <param name="from">from</param>
  813. <param name="to">to</param>
  814. </member>
  815. <member name="M:HarmonyLib.HarmonyMethodExtensions.Clone(HarmonyLib.HarmonyMethod)">
  816. <summary>Clones an annotation</summary>
  817. <param name="original">The annotation to clone</param>
  818. <returns>A copy of the annotation</returns>
  819. </member>
  820. <member name="M:HarmonyLib.HarmonyMethodExtensions.Merge(HarmonyLib.HarmonyMethod,HarmonyLib.HarmonyMethod)">
  821. <summary>Merges annotations</summary>
  822. <param name="master">The master</param>
  823. <param name="detail">The detail</param>
  824. <returns>A new, merged copy</returns>
  825. </member>
  826. <member name="M:HarmonyLib.HarmonyMethodExtensions.GetFromType(System.Type)">
  827. <summary>Gets all annotations on a class</summary>
  828. <param name="type">The class</param>
  829. <returns>All annotations</returns>
  830. </member>
  831. <member name="M:HarmonyLib.HarmonyMethodExtensions.GetFromMethod(System.Reflection.MethodBase)">
  832. <summary>Gets all annotations on a method</summary>
  833. <param name="method">The method</param>
  834. <returns>All annotations</returns>
  835. </member>
  836. <member name="T:HarmonyLib.PatchInfoSerialization">
  837. <summary>Patch serialization</summary>
  838. </member>
  839. <member name="M:HarmonyLib.PatchInfoSerialization.Binder.BindToType(System.String,System.String)">
  840. <summary>Control the binding of a serialized object to a type</summary>
  841. <param name="assemblyName">Specifies the assembly name of the serialized object</param>
  842. <param name="typeName">Specifies the type name of the serialized object</param>
  843. <returns>The type of the object the formatter creates a new instance of</returns>
  844. </member>
  845. <member name="M:HarmonyLib.PatchInfoSerialization.Serialize(HarmonyLib.PatchInfo)">
  846. <summary>Serializes a patch info</summary>
  847. <param name="patchInfo">The patch info</param>
  848. <returns>A byte array</returns>
  849. </member>
  850. <member name="M:HarmonyLib.PatchInfoSerialization.Deserialize(System.Byte[])">
  851. <summary>Deserialize a patch info</summary>
  852. <param name="bytes">The byte array</param>
  853. <returns>A patch info</returns>
  854. </member>
  855. <member name="M:HarmonyLib.PatchInfoSerialization.PriorityComparer(System.Object,System.Int32,System.Int32)">
  856. <summary>Compare function to sort patch priorities</summary>
  857. <param name="obj">The patch</param>
  858. <param name="index">Zero-based index</param>
  859. <param name="priority">The priority</param>
  860. <returns>A standard sort integer (-1, 0, 1)</returns>
  861. </member>
  862. <member name="T:HarmonyLib.PatchInfo">
  863. <summary>Serializable patch information</summary>
  864. </member>
  865. <member name="F:HarmonyLib.PatchInfo.prefixes">
  866. <summary>The prefixes</summary>
  867. </member>
  868. <member name="F:HarmonyLib.PatchInfo.postfixes">
  869. <summary>The postfixes</summary>
  870. </member>
  871. <member name="F:HarmonyLib.PatchInfo.transpilers">
  872. <summary>The transpilers</summary>
  873. </member>
  874. <member name="F:HarmonyLib.PatchInfo.finalizers">
  875. <summary>The finalizers</summary>
  876. </member>
  877. <member name="M:HarmonyLib.PatchInfo.#ctor">
  878. <summary>Default constructor</summary>
  879. </member>
  880. <member name="M:HarmonyLib.PatchInfo.AddPrefix(System.Reflection.MethodInfo,System.String,System.Int32,System.String[],System.String[])">
  881. <summary>Adds a prefix</summary>
  882. <param name="patch">The patch</param>
  883. <param name="owner">The owner (Harmony ID)</param>
  884. <param name="priority">The priority</param>
  885. <param name="before">The before parameter</param>
  886. <param name="after">The after parameter</param>
  887. </member>
  888. <member name="M:HarmonyLib.PatchInfo.RemovePrefix(System.String)">
  889. <summary>Removes a prefix</summary>
  890. <param name="owner">The owner or (*) for any</param>
  891. </member>
  892. <member name="M:HarmonyLib.PatchInfo.AddPostfix(System.Reflection.MethodInfo,System.String,System.Int32,System.String[],System.String[])">
  893. <summary>Adds a postfix</summary>
  894. <param name="patch">The patch</param>
  895. <param name="owner">The owner (Harmony ID)</param>
  896. <param name="priority">The priority</param>
  897. <param name="before">The before parameter</param>
  898. <param name="after">The after parameter</param>
  899. </member>
  900. <member name="M:HarmonyLib.PatchInfo.RemovePostfix(System.String)">
  901. <summary>Removes a postfix</summary>
  902. <param name="owner">The owner or (*) for any</param>
  903. </member>
  904. <member name="M:HarmonyLib.PatchInfo.AddTranspiler(System.Reflection.MethodInfo,System.String,System.Int32,System.String[],System.String[])">
  905. <summary>Adds a transpiler</summary>
  906. <param name="patch">The patch</param>
  907. <param name="owner">The owner (Harmony ID)</param>
  908. <param name="priority">The priority</param>
  909. <param name="before">The before parameter</param>
  910. <param name="after">The after parameter</param>
  911. </member>
  912. <member name="M:HarmonyLib.PatchInfo.RemoveTranspiler(System.String)">
  913. <summary>Removes a transpiler</summary>
  914. <param name="owner">The owner or (*) for any</param>
  915. </member>
  916. <member name="M:HarmonyLib.PatchInfo.AddFinalizer(System.Reflection.MethodInfo,System.String,System.Int32,System.String[],System.String[])">
  917. <summary>Adds a finalizer</summary>
  918. <param name="patch">The patch</param>
  919. <param name="owner">The owner (Harmony ID)</param>
  920. <param name="priority">The priority</param>
  921. <param name="before">The before parameter</param>
  922. <param name="after">The after parameter</param>
  923. </member>
  924. <member name="M:HarmonyLib.PatchInfo.RemoveFinalizer(System.String)">
  925. <summary>Removes a finalizer</summary>
  926. <param name="owner">The owner or (*) for any</param>
  927. </member>
  928. <member name="M:HarmonyLib.PatchInfo.RemovePatch(System.Reflection.MethodInfo)">
  929. <summary>Removes a patch</summary>
  930. <param name="patch">The patch method</param>
  931. </member>
  932. <member name="T:HarmonyLib.Patch">
  933. <summary>A serializable patch</summary>
  934. </member>
  935. <member name="F:HarmonyLib.Patch.index">
  936. <summary>Zero-based index</summary>
  937. </member>
  938. <member name="F:HarmonyLib.Patch.owner">
  939. <summary>The owner (Harmony ID)</summary>
  940. </member>
  941. <member name="F:HarmonyLib.Patch.priority">
  942. <summary>The priority</summary>
  943. </member>
  944. <member name="F:HarmonyLib.Patch.before">
  945. <summary>The before</summary>
  946. </member>
  947. <member name="F:HarmonyLib.Patch.after">
  948. <summary>The after</summary>
  949. </member>
  950. <member name="F:HarmonyLib.Patch.patch">
  951. <summary>The patch method</summary>
  952. </member>
  953. <member name="M:HarmonyLib.Patch.#ctor(System.Reflection.MethodInfo,System.Int32,System.String,System.Int32,System.String[],System.String[])">
  954. <summary>Creates a patch</summary>
  955. <param name="patch">The patch</param>
  956. <param name="index">Zero-based index</param>
  957. <param name="owner">The owner (Harmony ID)</param>
  958. <param name="priority">The priority</param>
  959. <param name="before">The before parameter</param>
  960. <param name="after">The after parameter</param>
  961. </member>
  962. <member name="M:HarmonyLib.Patch.GetMethod(System.Reflection.MethodBase)">
  963. <summary>Gets the patch method</summary>
  964. <param name="original">The original method</param>
  965. <returns>The patch method</returns>
  966. </member>
  967. <member name="M:HarmonyLib.Patch.Equals(System.Object)">
  968. <summary>Determines whether patches are equal</summary>
  969. <param name="obj">The other patch</param>
  970. <returns>true if equal</returns>
  971. </member>
  972. <member name="M:HarmonyLib.Patch.CompareTo(System.Object)">
  973. <summary>Determines how patches sort</summary>
  974. <param name="obj">The other patch</param>
  975. <returns>integer to define sort order (-1, 0, 1)</returns>
  976. </member>
  977. <member name="M:HarmonyLib.Patch.GetHashCode">
  978. <summary>Hash function</summary>
  979. <returns>A hash code</returns>
  980. </member>
  981. <member name="T:HarmonyLib.Patches">
  982. <summary>A group of patches</summary>
  983. </member>
  984. <member name="F:HarmonyLib.Patches.Prefixes">
  985. <summary>The prefixes</summary>
  986. </member>
  987. <member name="F:HarmonyLib.Patches.Postfixes">
  988. <summary>The postfixes</summary>
  989. </member>
  990. <member name="F:HarmonyLib.Patches.Transpilers">
  991. <summary>The transpilers</summary>
  992. </member>
  993. <member name="F:HarmonyLib.Patches.Finalizers">
  994. <summary>The finalizers</summary>
  995. </member>
  996. <member name="P:HarmonyLib.Patches.Owners">
  997. <summary>Gets all owners (Harmony IDs) or all known patches</summary>
  998. <value>The patch owners</value>
  999. </member>
  1000. <member name="M:HarmonyLib.Patches.#ctor(HarmonyLib.Patch[],HarmonyLib.Patch[],HarmonyLib.Patch[],HarmonyLib.Patch[])">
  1001. <summary>Creates a group of patches</summary>
  1002. <param name="prefixes">The prefixes</param>
  1003. <param name="postfixes">The postfixes</param>
  1004. <param name="transpilers">The transpilers</param>
  1005. <param name="finalizers">The transpilers</param>
  1006. </member>
  1007. <member name="T:HarmonyLib.PatchProcessor">
  1008. <summary>A patch processor</summary>
  1009. </member>
  1010. <member name="M:HarmonyLib.PatchProcessor.#ctor(HarmonyLib.Harmony,System.Type,HarmonyLib.HarmonyMethod)">
  1011. <summary>Creates a patch processor</summary>
  1012. <param name="instance">The Harmony instance</param>
  1013. <param name="type">The patch class</param>
  1014. <param name="attributes">The Harmony attributes</param>
  1015. </member>
  1016. <member name="M:HarmonyLib.PatchProcessor.#ctor(HarmonyLib.Harmony,System.Collections.Generic.List{System.Reflection.MethodBase},HarmonyLib.HarmonyMethod,HarmonyLib.HarmonyMethod,HarmonyLib.HarmonyMethod,HarmonyLib.HarmonyMethod)">
  1017. <summary>Creates a patch processor</summary>
  1018. <param name="instance">The Harmony instance.</param>
  1019. <param name="originals">The original methods</param>
  1020. <param name="prefix">The optional prefix.</param>
  1021. <param name="postfix">The optional postfix.</param>
  1022. <param name="transpiler">The optional transpiler.</param>
  1023. <param name="finalizer">The optional finalizer.</param>
  1024. </member>
  1025. <member name="M:HarmonyLib.PatchProcessor.GetPatchInfo(System.Reflection.MethodBase)">
  1026. <summary>Gets patch information</summary>
  1027. <param name="method">The original method</param>
  1028. <returns>The patch information</returns>
  1029. </member>
  1030. <member name="M:HarmonyLib.PatchProcessor.AllPatchedMethods">
  1031. <summary>Gets all patched original methods</summary>
  1032. <returns>All patched original methods</returns>
  1033. </member>
  1034. <member name="M:HarmonyLib.PatchProcessor.Patch">
  1035. <summary>Applies the patch</summary>
  1036. <returns>A list of all created dynamic methods</returns>
  1037. </member>
  1038. <member name="M:HarmonyLib.PatchProcessor.Unpatch(HarmonyLib.HarmonyPatchType,System.String)">
  1039. <summary>Unpatches patches of a given type and/or Harmony ID</summary>
  1040. <param name="type">The patch type</param>
  1041. <param name="harmonyID">Harmony ID or (*) for any</param>
  1042. </member>
  1043. <member name="M:HarmonyLib.PatchProcessor.Unpatch(System.Reflection.MethodInfo)">
  1044. <summary>Unpatches the given patch</summary>
  1045. <param name="patch">The patch</param>
  1046. </member>
  1047. <member name="T:HarmonyLib.Priority">
  1048. <summary>A patch priority</summary>
  1049. </member>
  1050. <member name="F:HarmonyLib.Priority.Last">
  1051. <summary>Patch last</summary>
  1052. </member>
  1053. <member name="F:HarmonyLib.Priority.VeryLow">
  1054. <summary>Patch with very low priority</summary>
  1055. </member>
  1056. <member name="F:HarmonyLib.Priority.Low">
  1057. <summary>Patch with low priority</summary>
  1058. </member>
  1059. <member name="F:HarmonyLib.Priority.LowerThanNormal">
  1060. <summary>Patch with lower than normal priority</summary>
  1061. </member>
  1062. <member name="F:HarmonyLib.Priority.Normal">
  1063. <summary>Patch with normal priority</summary>
  1064. </member>
  1065. <member name="F:HarmonyLib.Priority.HigherThanNormal">
  1066. <summary>Patch with higher than normal priority</summary>
  1067. </member>
  1068. <member name="F:HarmonyLib.Priority.High">
  1069. <summary>Patch with high priority</summary>
  1070. </member>
  1071. <member name="F:HarmonyLib.Priority.VeryHigh">
  1072. <summary>Patch with very high priority</summary>
  1073. </member>
  1074. <member name="F:HarmonyLib.Priority.First">
  1075. <summary>Patch first</summary>
  1076. </member>
  1077. <member name="T:HarmonyLib.Transpilers">
  1078. <summary>A collection of commonly used transpilers</summary>
  1079. </member>
  1080. <member name="M:HarmonyLib.Transpilers.MethodReplacer(System.Collections.Generic.IEnumerable{HarmonyLib.CodeInstruction},System.Reflection.MethodBase,System.Reflection.MethodBase)">
  1081. <summary>A transpiler that replaces all occurrences of a given method with another one</summary>
  1082. <param name="instructions">The instructions to act on</param>
  1083. <param name="from">Method or constructor to search for</param>
  1084. <param name="to">Method or constructor to replace with</param>
  1085. <returns>Modified instructions</returns>
  1086. </member>
  1087. <member name="M:HarmonyLib.Transpilers.DebugLogger(System.Collections.Generic.IEnumerable{HarmonyLib.CodeInstruction},System.String)">
  1088. <summary>A transpiler that logs a text at the beginning of the method</summary>
  1089. <param name="instructions">The instructions to act on</param>
  1090. <param name="text">The log text</param>
  1091. <returns>Modified instructions</returns>
  1092. </member>
  1093. <member name="T:HarmonyLib.AccessTools">
  1094. <summary>A helper class for reflection related functions</summary>
  1095. </member>
  1096. <member name="F:HarmonyLib.AccessTools.all">
  1097. <summary>Shortcut to simplify the use of reflections and make it work for any access level</summary>
  1098. </member>
  1099. <member name="F:HarmonyLib.AccessTools.allDeclared">
  1100. <summary>Shortcut to simplify the use of reflections and make it work for any access level but only within the current type</summary>
  1101. </member>
  1102. <member name="M:HarmonyLib.AccessTools.TypeByName(System.String)">
  1103. <summary>Gets a type by name. Prefers a full name with namespace but falls back to the first type matching the name otherwise</summary>
  1104. <param name="name">The name</param>
  1105. <returns>A Type</returns>
  1106. </member>
  1107. <member name="M:HarmonyLib.AccessTools.FindIncludingBaseTypes``1(System.Type,System.Func{System.Type,``0})">
  1108. <summary>Applies a function going up the type hierarchy and stops at the first non null result</summary>
  1109. <typeparam name="T">Result type of func()</typeparam>
  1110. <param name="type">The type to start with</param>
  1111. <param name="func">The evaluation function returning T</param>
  1112. <returns>Returns the first non null result or default(T) when reaching the top level type object</returns>
  1113. </member>
  1114. <member name="M:HarmonyLib.AccessTools.FindIncludingInnerTypes``1(System.Type,System.Func{System.Type,``0})">
  1115. <summary>Applies a function going into inner types and stops at the first non null result</summary>
  1116. <typeparam name="T">Generic type parameter</typeparam>
  1117. <param name="type">The type to start with</param>
  1118. <param name="func">The evaluation function returning T</param>
  1119. <returns>Returns the first non null result or null with no match</returns>
  1120. </member>
  1121. <member name="M:HarmonyLib.AccessTools.DeclaredField(System.Type,System.String)">
  1122. <summary>Gets the reflection information for a directly declared field</summary>
  1123. <param name="type">The class where the field is defined</param>
  1124. <param name="name">The name of the field</param>
  1125. <returns>A FieldInfo or null when type/name is null or when the field cannot be found</returns>
  1126. </member>
  1127. <member name="M:HarmonyLib.AccessTools.Field(System.Type,System.String)">
  1128. <summary>Gets the reflection information for a field by searching the type and all its super types</summary>
  1129. <param name="type">The class where the field is defined</param>
  1130. <param name="name">The name of the field (case sensitive)</param>
  1131. <returns>A FieldInfo or null when type/name is null or when the field cannot be found</returns>
  1132. </member>
  1133. <member name="M:HarmonyLib.AccessTools.DeclaredField(System.Type,System.Int32)">
  1134. <summary>Gets the reflection information for a field</summary>
  1135. <param name="type">The class where the field is declared</param>
  1136. <param name="idx">The zero-based index of the field inside the class definition</param>
  1137. <returns>A FieldInfo or null when type is null or when the field cannot be found</returns>
  1138. </member>
  1139. <member name="M:HarmonyLib.AccessTools.DeclaredProperty(System.Type,System.String)">
  1140. <summary>Gets the reflection information for a directly declared property</summary>
  1141. <param name="type">The class where the property is declared</param>
  1142. <param name="name">The name of the property (case sensitive)</param>
  1143. <returns>A PropertyInfo or null when type/name is null or when the property cannot be found</returns>
  1144. </member>
  1145. <member name="M:HarmonyLib.AccessTools.DeclaredPropertyGetter(System.Type,System.String)">
  1146. <summary>Gets the reflection information for the getter method of a directly declared property</summary>
  1147. <param name="type">The class where the property is declared</param>
  1148. <param name="name">The name of the property (case sensitive)</param>
  1149. <returns>A MethodInfo or null when type/name is null or when the property cannot be found</returns>
  1150. </member>
  1151. <member name="M:HarmonyLib.AccessTools.DeclaredPropertySetter(System.Type,System.String)">
  1152. <summary>Gets the reflection information for the setter method of a directly declared property</summary>
  1153. <param name="type">The class where the property is declared</param>
  1154. <param name="name">The name of the property (case sensitive)</param>
  1155. <returns>A MethodInfo or null when type/name is null or when the property cannot be found</returns>
  1156. </member>
  1157. <member name="M:HarmonyLib.AccessTools.Property(System.Type,System.String)">
  1158. <summary>Gets the reflection information for a property by searching the type and all its super types</summary>
  1159. <param name="type">The type</param>
  1160. <param name="name">The name</param>
  1161. <returns>A PropertyInfo or null when type/name is null or when the property cannot be found</returns>
  1162. </member>
  1163. <member name="M:HarmonyLib.AccessTools.PropertyGetter(System.Type,System.String)">
  1164. <summary>Gets the reflection information for the getter method of a property by searching the type and all its super types</summary>
  1165. <param name="type">The type</param>
  1166. <param name="name">The name</param>
  1167. <returns>A MethodInfo or null when type/name is null or when the property cannot be found</returns>
  1168. </member>
  1169. <member name="M:HarmonyLib.AccessTools.PropertySetter(System.Type,System.String)">
  1170. <summary>Gets the reflection information for the setter method of a property by searching the type and all its super types</summary>
  1171. <param name="type">The type</param>
  1172. <param name="name">The name</param>
  1173. <returns>A MethodInfo or null when type/name is null or when the property cannot be found</returns>
  1174. </member>
  1175. <member name="M:HarmonyLib.AccessTools.DeclaredMethod(System.Type,System.String,System.Type[],System.Type[])">
  1176. <summary>Gets the reflection information for a directly declared method</summary>
  1177. <param name="type">The class where the method is declared</param>
  1178. <param name="name">The name of the method (case sensitive)</param>
  1179. <param name="parameters">Optional parameters to target a specific overload of the method</param>
  1180. <param name="generics">Optional list of types that define the generic version of the method</param>
  1181. <returns>A MethodInfo or null when type/name is null or when the method cannot be found</returns>
  1182. </member>
  1183. <member name="M:HarmonyLib.AccessTools.Method(System.Type,System.String,System.Type[],System.Type[])">
  1184. <summary>Gets the reflection information for a method by searching the type and all its super types</summary>
  1185. <param name="type">The class where the method is declared</param>
  1186. <param name="name">The name of the method (case sensitive)</param>
  1187. <param name="parameters">Optional parameters to target a specific overload of the method</param>
  1188. <param name="generics">Optional list of types that define the generic version of the method</param>
  1189. <returns>A MethodInfo or null when type/name is null or when the method cannot be found</returns>
  1190. </member>
  1191. <member name="M:HarmonyLib.AccessTools.Method(System.String,System.Type[],System.Type[])">
  1192. <summary>Gets the reflection information for a method by searching the type and all its super types</summary>
  1193. <param name="typeColonMethodname">The full name (Namespace.Type1.Type2:MethodName) of the type where the method is declared</param>
  1194. <param name="parameters">Optional parameters to target a specific overload of the method</param>
  1195. <param name="generics">Optional list of types that define the generic version of the method</param>
  1196. <returns>A MethodInfo or null when type/name is null or when the method cannot be found</returns>
  1197. </member>
  1198. <member name="M:HarmonyLib.AccessTools.GetMethodNames(System.Type)">
  1199. <summary>Gets the names of all method that are declared in a type</summary>
  1200. <param name="type">The declaring type</param>
  1201. <returns>A list of method names</returns>
  1202. </member>
  1203. <member name="M:HarmonyLib.AccessTools.GetMethodNames(System.Object)">
  1204. <summary>Gets the names of all method that are declared in the type of the instance</summary>
  1205. <param name="instance">An instance of the type to search in</param>
  1206. <returns>A list of method names</returns>
  1207. </member>
  1208. <member name="M:HarmonyLib.AccessTools.GetFieldNames(System.Type)">
  1209. <summary>Gets the names of all fields that are declared in a type</summary>
  1210. <param name="type">The declaring type</param>
  1211. <returns>A list of field names</returns>
  1212. </member>
  1213. <member name="M:HarmonyLib.AccessTools.GetFieldNames(System.Object)">
  1214. <summary>Gets the names of all fields that are declared in the type of the instance</summary>
  1215. <param name="instance">An instance of the type to search in</param>
  1216. <returns>A list of field names</returns>
  1217. </member>
  1218. <member name="M:HarmonyLib.AccessTools.GetPropertyNames(System.Type)">
  1219. <summary>Gets the names of all properties that are declared in a type</summary>
  1220. <param name="type">The declaring type</param>
  1221. <returns>A list of property names</returns>
  1222. </member>
  1223. <member name="M:HarmonyLib.AccessTools.GetPropertyNames(System.Object)">
  1224. <summary>Gets the names of all properties that are declared in the type of the instance</summary>
  1225. <param name="instance">An instance of the type to search in</param>
  1226. <returns>A list of property names</returns>
  1227. </member>
  1228. <member name="M:HarmonyLib.AccessTools.GetUnderlyingType(System.Reflection.MemberInfo)">
  1229. <summary>Gets the type of any member of a class</summary>
  1230. <param name="member">An EventInfo, FieldInfo, MethodInfo, or PropertyInfo</param>
  1231. <returns>The type that represents the output of this member</returns>
  1232. </member>
  1233. <member name="M:HarmonyLib.AccessTools.DeclaredConstructor(System.Type,System.Type[])">
  1234. <summary>Gets the reflection information for a directly declared constructor</summary>
  1235. <param name="type">The class where the constructor is declared</param>
  1236. <param name="parameters">Optional parameters to target a specific overload of the constructor</param>
  1237. <returns>A ConstructorInfo or null when type is null or when the constructor cannot be found</returns>
  1238. </member>
  1239. <member name="M:HarmonyLib.AccessTools.Constructor(System.Type,System.Type[])">
  1240. <summary>Gets the reflection information for a constructor by searching the type and all its super types</summary>
  1241. <param name="type">The class where the constructor is declared</param>
  1242. <param name="parameters">Optional parameters to target a specific overload of the method</param>
  1243. <returns>A ConstructorInfo or null when type is null or when the method cannot be found</returns>
  1244. </member>
  1245. <member name="M:HarmonyLib.AccessTools.GetDeclaredConstructors(System.Type)">
  1246. <summary>Gets reflection information for all declared constructors</summary>
  1247. <param name="type">The class where the constructors are declared</param>
  1248. <returns>A list of ConstructorInfo</returns>
  1249. </member>
  1250. <member name="M:HarmonyLib.AccessTools.GetDeclaredMethods(System.Type)">
  1251. <summary>Gets reflection information for all declared methods</summary>
  1252. <param name="type">The class where the methods are declared</param>
  1253. <returns>A list of MethodInfo</returns>
  1254. </member>
  1255. <member name="M:HarmonyLib.AccessTools.GetDeclaredProperties(System.Type)">
  1256. <summary>Gets reflection information for all declared properties</summary>
  1257. <param name="type">The class where the properties are declared</param>
  1258. <returns>A list of PropertyInfo</returns>
  1259. </member>
  1260. <member name="M:HarmonyLib.AccessTools.GetDeclaredFields(System.Type)">
  1261. <summary>Gets reflection information for all declared fields</summary>
  1262. <param name="type">The class where the fields are declared</param>
  1263. <returns>A list of FieldInfo</returns>
  1264. </member>
  1265. <member name="M:HarmonyLib.AccessTools.GetReturnedType(System.Reflection.MethodBase)">
  1266. <summary>Gets the return type of a method or constructor</summary>
  1267. <param name="methodOrConstructor">The method or constructor</param>
  1268. <returns>The return type of the method</returns>
  1269. </member>
  1270. <member name="M:HarmonyLib.AccessTools.Inner(System.Type,System.String)">
  1271. <summary>Given a type, returns the first inner type matching a recursive search by name</summary>
  1272. <param name="type">The type to start searching at</param>
  1273. <param name="name">The name of the inner type (case sensitive)</param>
  1274. <returns>The inner type or null if type/name is null or if a type with that name cannot be found</returns>
  1275. </member>
  1276. <member name="M:HarmonyLib.AccessTools.FirstInner(System.Type,System.Func{System.Type,System.Boolean})">
  1277. <summary>Given a type, returns the first inner type matching a recursive search with a predicate</summary>
  1278. <param name="type">The type to start searching at</param>
  1279. <param name="predicate">The predicate to search with</param>
  1280. <returns>The inner type or null if type/predicate is null or if a type with that name cannot be found</returns>
  1281. </member>
  1282. <member name="M:HarmonyLib.AccessTools.FirstMethod(System.Type,System.Func{System.Reflection.MethodInfo,System.Boolean})">
  1283. <summary>Given a type, returns the first method matching a predicate</summary>
  1284. <param name="type">The type to start searching at</param>
  1285. <param name="predicate">The predicate to search with</param>
  1286. <returns>The MethodInfo or null if type/predicate is null or if a type with that name cannot be found</returns>
  1287. </member>
  1288. <member name="M:HarmonyLib.AccessTools.FirstConstructor(System.Type,System.Func{System.Reflection.ConstructorInfo,System.Boolean})">
  1289. <summary>Given a type, returns the first constructor matching a predicate</summary>
  1290. <param name="type">The type to start searching at</param>
  1291. <param name="predicate">The predicate to search with</param>
  1292. <returns>The ConstructorInfo or null if type/predicate is null or if a type with that name cannot be found</returns>
  1293. </member>
  1294. <member name="M:HarmonyLib.AccessTools.FirstProperty(System.Type,System.Func{System.Reflection.PropertyInfo,System.Boolean})">
  1295. <summary>Given a type, returns the first property matching a predicate</summary>
  1296. <param name="type">The type to start searching at</param>
  1297. <param name="predicate">The predicate to search with</param>
  1298. <returns>The PropertyInfo or null if type/predicate is null or if a type with that name cannot be found</returns>
  1299. </member>
  1300. <member name="M:HarmonyLib.AccessTools.GetTypes(System.Object[])">
  1301. <summary>Returns an array containing the type of each object in the given array</summary>
  1302. <param name="parameters">An array of objects</param>
  1303. <returns>An array of types or an empty array if parameters is null (if an object is null, the type for it will be object)</returns>
  1304. </member>
  1305. <member name="M:HarmonyLib.AccessTools.ActualParameters(System.Reflection.MethodBase,System.Object[])">
  1306. <summary>Creates an array of input parameters for a given method and a given set of potential inputs</summary>
  1307. <param name="method">The method you are planing to call</param>
  1308. <param name="inputs"> The possible input parameters in any order</param>
  1309. <returns>An object array matching the method signature</returns>
  1310. </member>
  1311. <member name="T:HarmonyLib.AccessTools.FieldRef`2">
  1312. <summary>A read/writable reference to a field</summary>
  1313. <typeparam name="T">The class the field is defined in</typeparam>
  1314. <typeparam name="U">The type of the field</typeparam>
  1315. <param name="obj">The runtime instance to access the field (leave empty for static fields)</param>
  1316. <returns>The value of the field (or an assignable object)</returns>
  1317. </member>
  1318. <member name="M:HarmonyLib.AccessTools.FieldRefAccess``2(System.String)">
  1319. <summary>Creates a field reference</summary>
  1320. <typeparam name="T">The class the field is defined in</typeparam>
  1321. <typeparam name="U">The type of the field</typeparam>
  1322. <param name="fieldName">The name of the field</param>
  1323. <returns>A read and writable field reference</returns>
  1324. </member>
  1325. <member name="M:HarmonyLib.AccessTools.FieldRefAccess``2(System.Reflection.FieldInfo)">
  1326. <summary>Creates a field reference</summary>
  1327. <typeparam name="T">The class the field is defined in or "object" if type cannot be accessed at compile time</typeparam>
  1328. <typeparam name="U">The type of the field</typeparam>
  1329. <param name="fieldInfo">FieldInfo for the field</param>
  1330. <returns>A read and writable field reference</returns>
  1331. </member>
  1332. <member name="M:HarmonyLib.AccessTools.FieldRefAccess``2(``0,System.String)">
  1333. <summary>Creates a field reference for a specific instance</summary>
  1334. <typeparam name="T">The class the field is defined in</typeparam>
  1335. <typeparam name="U">The type of the field</typeparam>
  1336. <param name="instance">The instance</param>
  1337. <param name="fieldName">The name of the field</param>
  1338. <returns>A read and writable field reference</returns>
  1339. </member>
  1340. <member name="M:HarmonyLib.AccessTools.GetOutsideCaller">
  1341. <summary>Returns who called the current method</summary>
  1342. <returns>The calling method (excluding the current method)</returns>
  1343. </member>
  1344. <member name="M:HarmonyLib.AccessTools.ThrowMissingMemberException(System.Type,System.String[])">
  1345. <summary>Throws a missing member runtime exception</summary>
  1346. <param name="type">The class that is involved</param>
  1347. <param name="names">A list of names</param>
  1348. </member>
  1349. <member name="M:HarmonyLib.AccessTools.GetDefaultValue(System.Type)">
  1350. <summary>Gets default value for a specific type</summary>
  1351. <param name="type">The type</param>
  1352. <returns>The default value</returns>
  1353. </member>
  1354. <member name="M:HarmonyLib.AccessTools.CreateInstance(System.Type)">
  1355. <summary>Creates an (possibly uninitialized) instance of a given type</summary>
  1356. <param name="type">The type</param>
  1357. <returns>The new instance</returns>
  1358. </member>
  1359. <member name="M:HarmonyLib.AccessTools.MakeDeepCopy``1(System.Object)">
  1360. <summary>Makes a deep copy of any object</summary>
  1361. <typeparam name="T">The type of the instance that should be created</typeparam>
  1362. <param name="source">The original object</param>
  1363. <returns>A copy of the original object but of type T</returns>
  1364. </member>
  1365. <member name="M:HarmonyLib.AccessTools.MakeDeepCopy``1(System.Object,``0@,System.Func{System.String,HarmonyLib.Traverse,HarmonyLib.Traverse,System.Object},System.String)">
  1366. <summary>Makes a deep copy of any object</summary>
  1367. <typeparam name="T">The type of the instance that should be created</typeparam>
  1368. <param name="source">The original object</param>
  1369. <param name="result">[out] The copy of the original object</param>
  1370. <param name="processor">Optional value transformation function (taking a field name and src/dst traverse objects)</param>
  1371. <param name="pathRoot">The optional path root to start with</param>
  1372. </member>
  1373. <member name="M:HarmonyLib.AccessTools.MakeDeepCopy(System.Object,System.Type,System.Func{System.String,HarmonyLib.Traverse,HarmonyLib.Traverse,System.Object},System.String)">
  1374. <summary>Makes a deep copy of any object</summary>
  1375. <param name="source">The original object</param>
  1376. <param name="resultType">The type of the instance that should be created</param>
  1377. <param name="processor">Optional value transformation function (taking a field name and src/dst traverse objects)</param>
  1378. <param name="pathRoot">The optional path root to start with</param>
  1379. <returns>The copy of the original object</returns>
  1380. </member>
  1381. <member name="M:HarmonyLib.AccessTools.IsStruct(System.Type)">
  1382. <summary>Tests if a type is a struct</summary>
  1383. <param name="type">The type</param>
  1384. <returns>True if the type is a struct</returns>
  1385. </member>
  1386. <member name="M:HarmonyLib.AccessTools.IsClass(System.Type)">
  1387. <summary>Tests if a type is a class</summary>
  1388. <param name="type">The type</param>
  1389. <returns>True if the type is a class</returns>
  1390. </member>
  1391. <member name="M:HarmonyLib.AccessTools.IsValue(System.Type)">
  1392. <summary>Tests if a type is a value type</summary>
  1393. <param name="type">The type</param>
  1394. <returns>True if the type is a value type</returns>
  1395. </member>
  1396. <member name="M:HarmonyLib.AccessTools.IsVoid(System.Type)">
  1397. <summary>Tests if a type is void</summary>
  1398. <param name="type">The type</param>
  1399. <returns>True if the type is void</returns>
  1400. </member>
  1401. <member name="M:HarmonyLib.AccessTools.IsOfNullableType``1(``0)">
  1402. <summary>Test whether an instance is of a nullable type</summary>
  1403. <typeparam name="T">Type of instance</typeparam>
  1404. <param name="instance">An instance to test</param>
  1405. <returns>True if instance is of nullable type, false if not</returns>
  1406. </member>
  1407. <member name="T:HarmonyLib.CodeMatch">
  1408. <summary>A CodeInstruction match</summary>
  1409. </member>
  1410. <member name="F:HarmonyLib.CodeMatch.name">
  1411. <summary>The name of the match</summary>
  1412. </member>
  1413. <member name="F:HarmonyLib.CodeMatch.opcodes">
  1414. <summary>The matched opcodes</summary>
  1415. </member>
  1416. <member name="F:HarmonyLib.CodeMatch.operands">
  1417. <summary>The matched operands</summary>
  1418. </member>
  1419. <member name="F:HarmonyLib.CodeMatch.labels">
  1420. <summary>The matched labels</summary>
  1421. </member>
  1422. <member name="F:HarmonyLib.CodeMatch.blocks">
  1423. <summary>The matched blocks</summary>
  1424. </member>
  1425. <member name="F:HarmonyLib.CodeMatch.jumpsFrom">
  1426. <summary>The jumps from the match</summary>
  1427. </member>
  1428. <member name="F:HarmonyLib.CodeMatch.jumpsTo">
  1429. <summary>The jumps to the match</summary>
  1430. </member>
  1431. <member name="F:HarmonyLib.CodeMatch.predicate">
  1432. <summary>The match predicate</summary>
  1433. </member>
  1434. <member name="M:HarmonyLib.CodeMatch.#ctor(System.Nullable{System.Reflection.Emit.OpCode},System.Object,System.String)">
  1435. <summary>Creates a code match</summary>
  1436. <param name="opcode">The optional opcode</param>
  1437. <param name="operand">The optional operand</param>
  1438. <param name="name">The optional name</param>
  1439. </member>
  1440. <member name="M:HarmonyLib.CodeMatch.#ctor(HarmonyLib.CodeInstruction,System.String)">
  1441. <summary>Creates a code match</summary>
  1442. <param name="instruction">The CodeInstruction</param>
  1443. <param name="name">An optional name</param>
  1444. </member>
  1445. <member name="M:HarmonyLib.CodeMatch.#ctor(System.Func{HarmonyLib.CodeInstruction,System.Boolean},System.String)">
  1446. <summary>Creates a code match</summary>
  1447. <param name="predicate">The predicate</param>
  1448. <param name="name">An optional name</param>
  1449. </member>
  1450. <member name="M:HarmonyLib.CodeMatch.ToString">
  1451. <summary>Returns a string that represents the match</summary>
  1452. <returns>A string representation</returns>
  1453. </member>
  1454. <member name="T:HarmonyLib.CodeMatcher">
  1455. <summary>A CodeInstruction matcher</summary>
  1456. </member>
  1457. <member name="P:HarmonyLib.CodeMatcher.Pos">
  1458. <summary>The current position</summary>
  1459. <value>The index or -1 if out of bounds</value>
  1460. </member>
  1461. <member name="P:HarmonyLib.CodeMatcher.Length">
  1462. <summary>Gets the number of code instructions in this matcher</summary>
  1463. <value>The count</value>
  1464. </member>
  1465. <member name="P:HarmonyLib.CodeMatcher.IsValid">
  1466. <summary>Checks whether the position of this CodeMatcher is within bounds</summary>
  1467. <value>True if this CodeMatcher is valid</value>
  1468. </member>
  1469. <member name="P:HarmonyLib.CodeMatcher.IsInvalid">
  1470. <summary>Checks whether the position of this CodeMatcher is outside its bounds</summary>
  1471. <value>True if this CodeMatcher is invalid</value>
  1472. </member>
  1473. <member name="P:HarmonyLib.CodeMatcher.Remaining">
  1474. <summary>Gets the remaining code instructions</summary>
  1475. <value>The remaining count</value>
  1476. </member>
  1477. <member name="P:HarmonyLib.CodeMatcher.Opcode">
  1478. <summary>Gets the opcode at the current position</summary>
  1479. <value>The opcode</value>
  1480. </member>
  1481. <member name="P:HarmonyLib.CodeMatcher.Operand">
  1482. <summary>Gets the operand at the current position</summary>
  1483. <value>The operand</value>
  1484. </member>
  1485. <member name="P:HarmonyLib.CodeMatcher.Labels">
  1486. <summary>Gets the labels at the current position</summary>
  1487. <value>The labels</value>
  1488. </member>
  1489. <member name="P:HarmonyLib.CodeMatcher.Blocks">
  1490. <summary>Gets the exception blocks at the current position</summary>
  1491. <value>The blocks</value>
  1492. </member>
  1493. <member name="M:HarmonyLib.CodeMatcher.#ctor">
  1494. <summary>Creates an empty code matcher</summary>
  1495. </member>
  1496. <member name="M:HarmonyLib.CodeMatcher.#ctor(System.Collections.Generic.IEnumerable{HarmonyLib.CodeInstruction},System.Reflection.Emit.ILGenerator)">
  1497. <summary>Creates a code matcher from an enumeration of instructions</summary>
  1498. <param name="instructions">The instructions (transpiler argument)</param>
  1499. <param name="generator">An optional IL generator</param>
  1500. </member>
  1501. <member name="M:HarmonyLib.CodeMatcher.Clone">
  1502. <summary>Makes a clone of this instruction matcher</summary>
  1503. <returns>A copy of this matcher</returns>
  1504. </member>
  1505. <member name="P:HarmonyLib.CodeMatcher.Instruction">
  1506. <summary>Gets instructions at the current position</summary>
  1507. <value>The instruction</value>
  1508. </member>
  1509. <member name="M:HarmonyLib.CodeMatcher.InstructionAt(System.Int32)">
  1510. <summary>Gets instructions at the current position with offset</summary>
  1511. <param name="offset">The offset</param>
  1512. <returns>The instruction</returns>
  1513. </member>
  1514. <member name="M:HarmonyLib.CodeMatcher.Instructions">
  1515. <summary>Gets all instructions</summary>
  1516. <returns>A list of instructions</returns>
  1517. </member>
  1518. <member name="M:HarmonyLib.CodeMatcher.Instructions(System.Int32)">
  1519. <summary>Gets some instructions counting from current position</summary>
  1520. <param name="count">Number of instructions</param>
  1521. <returns>A list of instructions</returns>
  1522. </member>
  1523. <member name="M:HarmonyLib.CodeMatcher.InstructionsInRange(System.Int32,System.Int32)">
  1524. <summary>Gets all instructions within a range</summary>
  1525. <param name="start">The start index</param>
  1526. <param name="end">The end index</param>
  1527. <returns>A list of instructions</returns>
  1528. </member>
  1529. <member name="M:HarmonyLib.CodeMatcher.InstructionsWithOffsets(System.Int32,System.Int32)">
  1530. <summary>Gets all instructions within a range (relative to current position)</summary>
  1531. <param name="startOffset">The start offset</param>
  1532. <param name="endOffset">The end offset</param>
  1533. <returns>A list of instructions</returns>
  1534. </member>
  1535. <member name="M:HarmonyLib.CodeMatcher.DistinctLabels(System.Collections.Generic.IEnumerable{HarmonyLib.CodeInstruction})">
  1536. <summary>Gets a list of all distinct labels</summary>
  1537. <param name="instructions">The instructions (transpiler argument)</param>
  1538. <returns>A list of Labels</returns>
  1539. </member>
  1540. <member name="M:HarmonyLib.CodeMatcher.ReportFailure(System.Reflection.MethodBase,System.Action{System.String})">
  1541. <summary>Reports a failure</summary>
  1542. <param name="method">The method involved</param>
  1543. <param name="logger">The logger</param>
  1544. <returns>True if current position is invalid and error was logged</returns>
  1545. </member>
  1546. <member name="M:HarmonyLib.CodeMatcher.SetInstruction(HarmonyLib.CodeInstruction)">
  1547. <summary>Sets an instruction at current position</summary>
  1548. <param name="instruction">The instruction to set</param>
  1549. <returns>The same code matcher</returns>
  1550. </member>
  1551. <member name="M:HarmonyLib.CodeMatcher.SetInstructionAndAdvance(HarmonyLib.CodeInstruction)">
  1552. <summary>Sets instruction at current position and advances</summary>
  1553. <param name="instruction">The instruction</param>
  1554. <returns>The same code matcher</returns>
  1555. </member>
  1556. <member name="M:HarmonyLib.CodeMatcher.Set(System.Reflection.Emit.OpCode,System.Object)">
  1557. <summary>Sets opcode and operand at current position</summary>
  1558. <param name="opcode">The opcode</param>
  1559. <param name="operand">The operand</param>
  1560. <returns>The same code matcher</returns>
  1561. </member>
  1562. <member name="M:HarmonyLib.CodeMatcher.SetAndAdvance(System.Reflection.Emit.OpCode,System.Object)">
  1563. <summary>Sets opcode and operand at current position and advances</summary>
  1564. <param name="opcode">The opcode</param>
  1565. <param name="operand">The operand</param>
  1566. <returns>The same code matcher</returns>
  1567. </member>
  1568. <member name="M:HarmonyLib.CodeMatcher.SetOpcodeAndAdvance(System.Reflection.Emit.OpCode)">
  1569. <summary>Sets opcode at current position and advances</summary>
  1570. <param name="opcode">The opcode</param>
  1571. <returns>The same code matcher</returns>
  1572. </member>
  1573. <member name="M:HarmonyLib.CodeMatcher.SetOperandAndAdvance(System.Object)">
  1574. <summary>Sets operand at current position and advances</summary>
  1575. <param name="operand">The operand</param>
  1576. <returns>The same code matcher</returns>
  1577. </member>
  1578. <member name="M:HarmonyLib.CodeMatcher.CreateLabel(System.Reflection.Emit.Label@)">
  1579. <summary>Creates a label at current position</summary>
  1580. <param name="label">[out] The label</param>
  1581. <returns>The same code matcher</returns>
  1582. </member>
  1583. <member name="M:HarmonyLib.CodeMatcher.CreateLabelAt(System.Int32,System.Reflection.Emit.Label@)">
  1584. <summary>Creates a label at a position</summary>
  1585. <param name="position">The position</param>
  1586. <param name="label">[out] The new label</param>
  1587. <returns>The same code matcher</returns>
  1588. </member>
  1589. <member name="M:HarmonyLib.CodeMatcher.AddLabels(System.Collections.Generic.IEnumerable{System.Reflection.Emit.Label})">
  1590. <summary>Adds an enumeration of labels to current position</summary>
  1591. <param name="labels">The labels</param>
  1592. <returns>The same code matcher</returns>
  1593. </member>
  1594. <member name="M:HarmonyLib.CodeMatcher.AddLabelsAt(System.Int32,System.Collections.Generic.IEnumerable{System.Reflection.Emit.Label})">
  1595. <summary>Adds an enumeration of labels at a position</summary>
  1596. <param name="position">The position</param>
  1597. <param name="labels">The labels</param>
  1598. <returns>The same code matcher</returns>
  1599. </member>
  1600. <member name="M:HarmonyLib.CodeMatcher.SetJumpTo(System.Reflection.Emit.OpCode,System.Int32,System.Reflection.Emit.Label@)">
  1601. <summary>Sets jump to</summary>
  1602. <param name="opcode">Branch instruction</param>
  1603. <param name="destination">Destination for the jump</param>
  1604. <param name="label">[out] The created label</param>
  1605. <returns>The same code matcher</returns>
  1606. </member>
  1607. <member name="M:HarmonyLib.CodeMatcher.Insert(HarmonyLib.CodeInstruction[])">
  1608. <summary>Inserts some instructions</summary>
  1609. <param name="instructions">The instructions</param>
  1610. <returns>The same code matcher</returns>
  1611. </member>
  1612. <member name="M:HarmonyLib.CodeMatcher.Insert(System.Collections.Generic.IEnumerable{HarmonyLib.CodeInstruction})">
  1613. <summary>Inserts an enumeration of instructions</summary>
  1614. <param name="instructions">The instructions</param>
  1615. <returns>The same code matcher</returns>
  1616. </member>
  1617. <member name="M:HarmonyLib.CodeMatcher.InsertBranch(System.Reflection.Emit.OpCode,System.Int32)">
  1618. <summary>Inserts a branch</summary>
  1619. <param name="opcode">The branch opcode</param>
  1620. <param name="destination">Branch destination</param>
  1621. <returns>The same code matcher</returns>
  1622. </member>
  1623. <member name="M:HarmonyLib.CodeMatcher.InsertAndAdvance(HarmonyLib.CodeInstruction[])">
  1624. <summary>Inserts some instructions and advances the position</summary>
  1625. <param name="instructions">The instructions</param>
  1626. <returns>The same code matcher</returns>
  1627. </member>
  1628. <member name="M:HarmonyLib.CodeMatcher.InsertAndAdvance(System.Collections.Generic.IEnumerable{HarmonyLib.CodeInstruction})">
  1629. <summary>Inserts an enumeration of instructions and advances the position</summary>
  1630. <param name="instructions">The instructions</param>
  1631. <returns>The same code matcher</returns>
  1632. </member>
  1633. <member name="M:HarmonyLib.CodeMatcher.InsertBranchAndAdvance(System.Reflection.Emit.OpCode,System.Int32)">
  1634. <summary>Inserts a branch and advances the position</summary>
  1635. <param name="opcode">The branch opcode</param>
  1636. <param name="destination">Branch destination</param>
  1637. <returns>The same code matcher</returns>
  1638. </member>
  1639. <member name="M:HarmonyLib.CodeMatcher.RemoveInstruction">
  1640. <summary>Removes current instruction</summary>
  1641. <returns>The same code matcher</returns>
  1642. </member>
  1643. <member name="M:HarmonyLib.CodeMatcher.RemoveInstructions(System.Int32)">
  1644. <summary>Removes some instruction fro current position by count</summary>
  1645. <param name="count">Number of instructions</param>
  1646. <returns>The same code matcher</returns>
  1647. </member>
  1648. <member name="M:HarmonyLib.CodeMatcher.RemoveInstructionsInRange(System.Int32,System.Int32)">
  1649. <summary>Removes the instructions in a range</summary>
  1650. <param name="start">The start</param>
  1651. <param name="end">The end</param>
  1652. <returns>The same code matcher</returns>
  1653. </member>
  1654. <member name="M:HarmonyLib.CodeMatcher.RemoveInstructionsWithOffsets(System.Int32,System.Int32)">
  1655. <summary>Removes the instructions in a offset range</summary>
  1656. <param name="startOffset">The start offset</param>
  1657. <param name="endOffset">The end offset</param>
  1658. <returns>The same code matcher</returns>
  1659. </member>
  1660. <member name="M:HarmonyLib.CodeMatcher.Advance(System.Int32)">
  1661. <summary>Advances the current position</summary>
  1662. <param name="offset">The offset</param>
  1663. <returns>The same code matcher</returns>
  1664. </member>
  1665. <member name="M:HarmonyLib.CodeMatcher.Start">
  1666. <summary>Moves the current position to the start</summary>
  1667. <returns>The same code matcher</returns>
  1668. </member>
  1669. <member name="M:HarmonyLib.CodeMatcher.End">
  1670. <summary>Moves the current position to the end</summary>
  1671. <returns>The same code matcher</returns>
  1672. </member>
  1673. <member name="M:HarmonyLib.CodeMatcher.SearchForward(System.Func{HarmonyLib.CodeInstruction,System.Boolean})">
  1674. <summary>Searches forward with a predicate and advances position</summary>
  1675. <param name="predicate">The predicate</param>
  1676. <returns>The same code matcher</returns>
  1677. </member>
  1678. <member name="M:HarmonyLib.CodeMatcher.SearchBack(System.Func{HarmonyLib.CodeInstruction,System.Boolean})">
  1679. <summary>Searches backwards with a predicate and reverses position</summary>
  1680. <param name="predicate">The predicate</param>
  1681. <returns>The same code matcher</returns>
  1682. </member>
  1683. <member name="M:HarmonyLib.CodeMatcher.MatchForward(System.Boolean,HarmonyLib.CodeMatch[])">
  1684. <summary>Matches forward and advances position</summary>
  1685. <param name="useEnd">True to set position to end of match, false to set it to the beginning of the match</param>
  1686. <param name="matches">Some code matches</param>
  1687. <returns>The same code matcher</returns>
  1688. </member>
  1689. <member name="M:HarmonyLib.CodeMatcher.MatchBack(System.Boolean,HarmonyLib.CodeMatch[])">
  1690. <summary>Matches backwards and reverses position</summary>
  1691. <param name="useEnd">True to set position to end of match, false to set it to the beginning of the match</param>
  1692. <param name="matches">Some code matches</param>
  1693. <returns>The same code matcher</returns>
  1694. </member>
  1695. <member name="M:HarmonyLib.CodeMatcher.Repeat(System.Action{HarmonyLib.CodeMatcher},System.Action{System.String})">
  1696. <summary>Repeats a match action until boundaries are met</summary>
  1697. <param name="matchAction">The match action</param>
  1698. <param name="notFoundAction">An optional action that is executed when no match is found</param>
  1699. <returns>The same code matcher</returns>
  1700. </member>
  1701. <member name="M:HarmonyLib.CodeMatcher.NamedMatch(System.String)">
  1702. <summary>Gets a match by its name</summary>
  1703. <param name="name">The match name</param>
  1704. <returns>An instruction</returns>
  1705. </member>
  1706. <member name="T:HarmonyLib.GeneralExtensions">
  1707. <summary>General extensions for common cases</summary>
  1708. </member>
  1709. <member name="M:HarmonyLib.GeneralExtensions.Join``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.String},System.String)">
  1710. <summary>Joins an enumeration with a value converter and a delimiter to a string</summary>
  1711. <typeparam name="T">The inner type of the enumeration</typeparam>
  1712. <param name="enumeration">The enumeration</param>
  1713. <param name="converter">An optional value converter (from T to string)</param>
  1714. <param name="delimiter">An optional delimiter</param>
  1715. <returns>The values joined into a string</returns>
  1716. </member>
  1717. <member name="M:HarmonyLib.GeneralExtensions.Description(System.Type[])">
  1718. <summary>Converts an array of types (for example methods arguments) into a human readable form</summary>
  1719. <param name="parameters">The array of types</param>
  1720. <returns>A human readable description including brackets</returns>
  1721. </member>
  1722. <member name="M:HarmonyLib.GeneralExtensions.FullDescription(System.Type)">
  1723. <summary>A full description of a type</summary>
  1724. <param name="type">The type</param>
  1725. <returns>A human readable description</returns>
  1726. </member>
  1727. <member name="M:HarmonyLib.GeneralExtensions.FullDescription(System.Reflection.MethodBase)">
  1728. <summary>A a full description of a method or a constructor without assembly details but with generics</summary>
  1729. <param name="method">The method or constructor</param>
  1730. <returns>A human readable description</returns>
  1731. </member>
  1732. <member name="M:HarmonyLib.GeneralExtensions.Types(System.Reflection.ParameterInfo[])">
  1733. <summary>A helper converting parameter infos to types</summary>
  1734. <param name="pinfo">The array of ParameterInfo</param>
  1735. <returns>The parameter types</returns>
  1736. </member>
  1737. <member name="M:HarmonyLib.GeneralExtensions.GetValueSafe``2(System.Collections.Generic.Dictionary{``0,``1},``0)">
  1738. <summary>A helper to access a value via key from a dictionary</summary>
  1739. <typeparam name="S">The key type</typeparam>
  1740. <typeparam name="T">The value type</typeparam>
  1741. <param name="dictionary">The dictionary</param>
  1742. <param name="key">The key</param>
  1743. <returns>The value for the key or the default value (of T) if that key does not exist</returns>
  1744. </member>
  1745. <member name="M:HarmonyLib.GeneralExtensions.GetTypedValue``1(System.Collections.Generic.Dictionary{System.String,System.Object},System.String)">
  1746. <summary>A helper to access a value via key from a dictionary with extra casting</summary>
  1747. <typeparam name="T">The value type</typeparam>
  1748. <param name="dictionary">The dictionary</param>
  1749. <param name="key">The key</param>
  1750. <returns>The value for the key or the default value (of T) if that key does not exist or cannot be cast to T</returns>
  1751. </member>
  1752. <member name="T:HarmonyLib.CollectionExtensions">
  1753. <summary>General extensions for collections</summary>
  1754. </member>
  1755. <member name="M:HarmonyLib.CollectionExtensions.Do``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0})">
  1756. <summary>A simple way to execute code for every element in a collection</summary>
  1757. <typeparam name="T">The inner type of the collection</typeparam>
  1758. <param name="sequence">The collection</param>
  1759. <param name="action">The action to execute</param>
  1760. </member>
  1761. <member name="M:HarmonyLib.CollectionExtensions.DoIf``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Boolean},System.Action{``0})">
  1762. <summary>A simple way to execute code for elements in a collection matching a condition</summary>
  1763. <typeparam name="T">The inner type of the collection</typeparam>
  1764. <param name="sequence">The collection</param>
  1765. <param name="condition">The predicate</param>
  1766. <param name="action">The action to execute</param>
  1767. </member>
  1768. <member name="M:HarmonyLib.CollectionExtensions.AddItem``1(System.Collections.Generic.IEnumerable{``0},``0)">
  1769. <summary>A helper to add an item to a collection</summary>
  1770. <typeparam name="T">The inner type of the collection</typeparam>
  1771. <param name="sequence">The collection</param>
  1772. <param name="item">The item to add</param>
  1773. <returns>The collection containing the item</returns>
  1774. Note: this was called 'Add' before but that led to unwanted side effect
  1775. See https://github.com/pardeike/Harmony/issues/147
  1776. </member>
  1777. <member name="M:HarmonyLib.CollectionExtensions.AddToArray``1(``0[],``0)">
  1778. <summary>A helper to add an item to an array</summary>
  1779. <typeparam name="T">The inner type of the collection</typeparam>
  1780. <param name="sequence">The array</param>
  1781. <param name="item">The item to add</param>
  1782. <returns>The array containing the item</returns>
  1783. </member>
  1784. <member name="M:HarmonyLib.CollectionExtensions.AddRangeToArray``1(``0[],``0[])">
  1785. <summary>A helper to add items to an array</summary>
  1786. <typeparam name="T">The inner type of the collection</typeparam>
  1787. <param name="sequence">The array</param>
  1788. <param name="items">The items to add</param>
  1789. <returns>The array containing the items</returns>
  1790. </member>
  1791. <member name="T:HarmonyLib.FileLog">
  1792. <summary>A file log for debugging</summary>
  1793. </member>
  1794. <member name="F:HarmonyLib.FileLog.logPath">
  1795. <summary>Full pathname of the log file</summary>
  1796. </member>
  1797. <member name="F:HarmonyLib.FileLog.indentChar">
  1798. <summary>The indent character</summary>
  1799. </member>
  1800. <member name="F:HarmonyLib.FileLog.indentLevel">
  1801. <summary>The indent level</summary>
  1802. </member>
  1803. <member name="F:HarmonyLib.FileLog.buffer">
  1804. <summary>A buffer</summary>
  1805. </member>
  1806. <member name="M:HarmonyLib.FileLog.ChangeIndent(System.Int32)">
  1807. <summary>Changes indent depth</summary>
  1808. <param name="delta">The value to add to the indent level</param>
  1809. </member>
  1810. <member name="M:HarmonyLib.FileLog.LogBuffered(System.String)">
  1811. <summary>Log a string in a buffered way. Use this method only if you are sure that FlushBuffer will be called
  1812. or else logging information is incomplete in case of a crash</summary>
  1813. <param name="str">The string to log</param>
  1814. </member>
  1815. <member name="M:HarmonyLib.FileLog.LogBuffered(System.Collections.Generic.List{System.String})">
  1816. <summary>Logs a list of string in a buffered way. Use this method only if you are sure that FlushBuffer will be called
  1817. or else logging information is incomplete in case of a crash</summary>
  1818. <param name="strings">The strings to log (they will not be re-indented)</param>
  1819. </member>
  1820. <member name="M:HarmonyLib.FileLog.GetBuffer(System.Boolean)">
  1821. <summary>Returns the log buffer and optionally empties it</summary>
  1822. <param name="clear">True to empty the buffer</param>
  1823. <returns>The buffer.</returns>
  1824. </member>
  1825. <member name="M:HarmonyLib.FileLog.SetBuffer(System.Collections.Generic.List{System.String})">
  1826. <summary>Replaces the buffer with new lines</summary>
  1827. <param name="buffer">The lines to store</param>
  1828. </member>
  1829. <member name="M:HarmonyLib.FileLog.FlushBuffer">
  1830. <summary>Flushes the log buffer to disk (use in combination with LogBuffered)</summary>
  1831. </member>
  1832. <member name="M:HarmonyLib.FileLog.Log(System.String)">
  1833. <summary>Log a string directly to disk. Slower method that prevents missing information in case of a crash</summary>
  1834. <param name="str">The string to log.</param>
  1835. </member>
  1836. <member name="M:HarmonyLib.FileLog.Reset">
  1837. <summary>Resets and deletes the log</summary>
  1838. </member>
  1839. <member name="M:HarmonyLib.FileLog.LogBytes(System.Int64,System.Int32)">
  1840. <summary>Logs some bytes as hex values</summary>
  1841. <param name="ptr">The pointer to some memory</param>
  1842. <param name="len">The length of bytes to log</param>
  1843. </member>
  1844. <member name="T:HarmonyLib.SymbolExtensions">
  1845. <summary>A helper class to retrieve reflection info for non-private methods</summary>
  1846. </member>
  1847. <member name="M:HarmonyLib.SymbolExtensions.GetMethodInfo(System.Linq.Expressions.Expression{System.Action})">
  1848. <summary>Given a lambda expression that calls a method, returns the method info</summary>
  1849. <param name="expression">The lambda expression using the method</param>
  1850. <returns>The MethodInfo for the method in the lambda expression</returns>
  1851. </member>
  1852. <member name="M:HarmonyLib.SymbolExtensions.GetMethodInfo``1(System.Linq.Expressions.Expression{System.Action{``0}})">
  1853. <summary>Given a lambda expression that calls a method, returns the method info</summary>
  1854. <typeparam name="T"></typeparam>
  1855. <param name="expression">The lambda expression using the method</param>
  1856. <returns>The MethodInfo for the method in the lambda expression</returns>
  1857. </member>
  1858. <member name="M:HarmonyLib.SymbolExtensions.GetMethodInfo``2(System.Linq.Expressions.Expression{System.Func{``0,``1}})">
  1859. <summary>Given a lambda expression that calls a method, returns the method info</summary>
  1860. <typeparam name="T"></typeparam>
  1861. <typeparam name="TResult"></typeparam>
  1862. <param name="expression">The lambda expression using the method</param>
  1863. <returns>The MethodInfo for the method in the lambda expression</returns>
  1864. </member>
  1865. <member name="M:HarmonyLib.SymbolExtensions.GetMethodInfo(System.Linq.Expressions.LambdaExpression)">
  1866. <summary>Given a lambda expression that calls a method, returns the method info</summary>
  1867. <param name="expression">The lambda expression using the method</param>
  1868. <returns>The MethodInfo for the method in the lambda expression</returns>
  1869. </member>
  1870. <member name="T:HarmonyLib.Traverse`1">
  1871. <summary>A reflection helper to read and write private elements</summary>
  1872. <typeparam name="T">The result type defined by GetValue()</typeparam>
  1873. </member>
  1874. <member name="M:HarmonyLib.Traverse`1.#ctor(HarmonyLib.Traverse)">
  1875. <summary>Creates a traverse instance from an existing instance</summary>
  1876. <param name="traverse">The original</param>
  1877. </member>
  1878. <member name="P:HarmonyLib.Traverse`1.Value">
  1879. <summary>Gets/Sets the current value</summary>
  1880. <value>The value to read or write</value>
  1881. </member>
  1882. <member name="T:HarmonyLib.Traverse">
  1883. <summary>A reflection helper to read and write private elements</summary>
  1884. </member>
  1885. <member name="M:HarmonyLib.Traverse.Create(System.Type)">
  1886. <summary>Creates a new traverse instance from a class</summary>
  1887. <param name="type">The class</param>
  1888. <returns>A traverse instance</returns>
  1889. </member>
  1890. <member name="M:HarmonyLib.Traverse.Create``1">
  1891. <summary>Creates a new traverse instance from a class T</summary>
  1892. <typeparam name="T">The class</typeparam>
  1893. <returns>A traverse instance</returns>
  1894. </member>
  1895. <member name="M:HarmonyLib.Traverse.Create(System.Object)">
  1896. <summary>Creates a new traverse instance from an instance</summary>
  1897. <param name="root">The object</param>
  1898. <returns>A traverse instance</returns>
  1899. </member>
  1900. <member name="M:HarmonyLib.Traverse.CreateWithType(System.String)">
  1901. <summary>Creates a new traverse instance from a named type</summary>
  1902. <param name="name">The type name</param>
  1903. <returns>A traverse instance</returns>
  1904. </member>
  1905. <member name="M:HarmonyLib.Traverse.#ctor">
  1906. <summary>Creates a new and empty traverse instance</summary>
  1907. <returns>A traverse instance</returns>
  1908. </member>
  1909. <member name="M:HarmonyLib.Traverse.#ctor(System.Type)">
  1910. <summary>Creates a new traverse instance from a class</summary>
  1911. <param name="type">The class</param>
  1912. <returns>A traverse instance</returns>
  1913. </member>
  1914. <member name="M:HarmonyLib.Traverse.#ctor(System.Object)">
  1915. <summary>Creates a new traverse instance from an instance</summary>
  1916. <param name="root">The object</param>
  1917. <returns>A traverse instance</returns>
  1918. </member>
  1919. <member name="M:HarmonyLib.Traverse.GetValue">
  1920. <summary>Gets the current value</summary>
  1921. <value>The value</value>
  1922. </member>
  1923. <member name="M:HarmonyLib.Traverse.GetValue``1">
  1924. <summary>Gets the current value</summary>
  1925. <typeparam name="T">The type of the value</typeparam>
  1926. <value>The value</value>
  1927. </member>
  1928. <member name="M:HarmonyLib.Traverse.GetValue(System.Object[])">
  1929. <summary>Invokes the current method with arguments and returns the result</summary>
  1930. <param name="arguments">The method arguments</param>
  1931. <value>The value returned by the method</value>
  1932. </member>
  1933. <member name="M:HarmonyLib.Traverse.GetValue``1(System.Object[])">
  1934. <summary>Invokes the current method with arguments and returns the result</summary>
  1935. <typeparam name="T">The type of the value</typeparam>
  1936. <param name="arguments">The method arguments</param>
  1937. <value>The value returned by the method</value>
  1938. </member>
  1939. <member name="M:HarmonyLib.Traverse.SetValue(System.Object)">
  1940. <summary>Sets a value of the current field or property</summary>
  1941. <param name="value">The value</param>
  1942. <returns>The same traverse instance</returns>
  1943. </member>
  1944. <member name="M:HarmonyLib.Traverse.GetValueType">
  1945. <summary>Gets the type of the current field or property</summary>
  1946. <returns>The type</returns>
  1947. </member>
  1948. <member name="M:HarmonyLib.Traverse.Type(System.String)">
  1949. <summary>Moves the current traverse instance to a inner type</summary>
  1950. <param name="name">The type name</param>
  1951. <returns>A traverse instance</returns>
  1952. </member>
  1953. <member name="M:HarmonyLib.Traverse.Field(System.String)">
  1954. <summary>Moves the current traverse instance to a field</summary>
  1955. <param name="name">The type name</param>
  1956. <returns>A traverse instance</returns>
  1957. </member>
  1958. <member name="M:HarmonyLib.Traverse.Field``1(System.String)">
  1959. <summary>Moves the current traverse instance to a field</summary>
  1960. <typeparam name="T">The type of the field</typeparam>
  1961. <param name="name">The type name</param>
  1962. <returns>A traverse instance</returns>
  1963. </member>
  1964. <member name="M:HarmonyLib.Traverse.Fields">
  1965. <summary>Gets all fields of the current type</summary>
  1966. <returns>A list of field names</returns>
  1967. </member>
  1968. <member name="M:HarmonyLib.Traverse.Property(System.String,System.Object[])">
  1969. <summary>Moves the current traverse instance to a property</summary>
  1970. <param name="name">The type name</param>
  1971. <param name="index">Optional property index</param>
  1972. <returns>A traverse instance</returns>
  1973. </member>
  1974. <member name="M:HarmonyLib.Traverse.Property``1(System.String,System.Object[])">
  1975. <summary>Moves the current traverse instance to a field</summary>
  1976. <typeparam name="T">The type of the property</typeparam>
  1977. <param name="name">The type name</param>
  1978. <param name="index">Optional property index</param>
  1979. <returns>A traverse instance</returns>
  1980. </member>
  1981. <member name="M:HarmonyLib.Traverse.Properties">
  1982. <summary>Gets all properties of the current type</summary>
  1983. <returns>A list of property names</returns>
  1984. </member>
  1985. <member name="M:HarmonyLib.Traverse.Method(System.String,System.Object[])">
  1986. <summary>Moves the current traverse instance to a method</summary>
  1987. <param name="name">The name of the method</param>
  1988. <param name="arguments">The arguments defining the argument types of the method overload</param>
  1989. <returns>A traverse instance</returns>
  1990. </member>
  1991. <member name="M:HarmonyLib.Traverse.Method(System.String,System.Type[],System.Object[])">
  1992. <summary>Moves the current traverse instance to a method</summary>
  1993. <param name="name">The name of the method</param>
  1994. <param name="paramTypes">The argument types of the method</param>
  1995. <param name="arguments">The arguments for the method</param>
  1996. <returns>A traverse instance</returns>
  1997. </member>
  1998. <member name="M:HarmonyLib.Traverse.Methods">
  1999. <summary>Gets all methods of the current type</summary>
  2000. <returns>A list of method names</returns>
  2001. </member>
  2002. <member name="M:HarmonyLib.Traverse.FieldExists">
  2003. <summary>Checks if the current traverse instance is for a field</summary>
  2004. <returns>True if its a field</returns>
  2005. </member>
  2006. <member name="M:HarmonyLib.Traverse.MethodExists">
  2007. <summary>Checks if the current traverse instance is for a method</summary>
  2008. <returns>True if its a method</returns>
  2009. </member>
  2010. <member name="M:HarmonyLib.Traverse.TypeExists">
  2011. <summary>Checks if the current traverse instance is for a type</summary>
  2012. <returns>True if its a type</returns>
  2013. </member>
  2014. <member name="M:HarmonyLib.Traverse.IterateFields(System.Object,System.Action{HarmonyLib.Traverse})">
  2015. <summary>Iterates over all fields of the current type and executes a traverse action</summary>
  2016. <param name="source">Original object</param>
  2017. <param name="action">The action receiving a traverse for each field</param>
  2018. </member>
  2019. <member name="M:HarmonyLib.Traverse.IterateFields(System.Object,System.Object,System.Action{HarmonyLib.Traverse,HarmonyLib.Traverse})">
  2020. <summary>Iterates over all fields of the current type and executes a traverse action</summary>
  2021. <param name="source">Original object</param>
  2022. <param name="target">Target object</param>
  2023. <param name="action">The action receiving a traverse for each field traverse pair</param>
  2024. </member>
  2025. <member name="M:HarmonyLib.Traverse.IterateFields(System.Object,System.Object,System.Action{System.String,HarmonyLib.Traverse,HarmonyLib.Traverse})">
  2026. <summary>Iterates over all fields of the current type and executes a traverse action</summary>
  2027. <param name="source">Original object</param>
  2028. <param name="target">Target object</param>
  2029. <param name="action">The action receiving a field dot path and a field pair</param>
  2030. </member>
  2031. <member name="M:HarmonyLib.Traverse.IterateProperties(System.Object,System.Action{HarmonyLib.Traverse})">
  2032. <summary>Iterates over all properties of the current type and executes a traverse action</summary>
  2033. <param name="source">Original object</param>
  2034. <param name="action">The action receiving a traverse for each property</param>
  2035. </member>
  2036. <member name="M:HarmonyLib.Traverse.IterateProperties(System.Object,System.Object,System.Action{HarmonyLib.Traverse,HarmonyLib.Traverse})">
  2037. <summary>Iterates over all properties of the current type and executes a traverse action</summary>
  2038. <param name="source">Original object</param>
  2039. <param name="target">Target object</param>
  2040. <param name="action">The action receiving a traverse for each property traverse pair</param>
  2041. </member>
  2042. <member name="M:HarmonyLib.Traverse.IterateProperties(System.Object,System.Object,System.Action{System.String,HarmonyLib.Traverse,HarmonyLib.Traverse})">
  2043. <summary>Iterates over all properties of the current type and executes a traverse action</summary>
  2044. <param name="source">Original object</param>
  2045. <param name="target">Target object</param>
  2046. <param name="action">The action receiving a property dot path and a property pair</param>
  2047. </member>
  2048. <member name="F:HarmonyLib.Traverse.CopyFields">
  2049. <summary>A default field action that copies fields to fields</summary>
  2050. </member>
  2051. <member name="M:HarmonyLib.Traverse.ToString">
  2052. <summary>Returns a string that represents the current traverse</summary>
  2053. <returns>A string representation</returns>
  2054. </member>
  2055. </members>
  2056. </doc>