meta.json 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314
  1. [
  2. {
  3. "name": "Abi",
  4. "metadata": ":abi",
  5. "doc": "Function ABI/calling convention.",
  6. "platforms": ["cpp"]
  7. },
  8. {
  9. "name": "Abstract",
  10. "metadata": ":abstract",
  11. "doc": "Sets the underlying class implementation as `abstract`.",
  12. "platforms": ["java", "cs"]
  13. },
  14. {
  15. "name": "Access",
  16. "metadata": ":access",
  17. "doc": "Forces private access to package, type or field.",
  18. "params": ["Target path"],
  19. "targets": ["TClass", "TClassField"],
  20. "links": ["https://haxe.org/manual/lf-access-control.html"]
  21. },
  22. {
  23. "name": "Accessor",
  24. "metadata": ":accessor",
  25. "doc": "Used internally by DCE to mark property accessors.",
  26. "targets": ["TClassField"],
  27. "internal": true
  28. },
  29. {
  30. "name": "Allow",
  31. "metadata": ":allow",
  32. "doc": "Allows private access from package, type or field.",
  33. "params": ["Target path"],
  34. "links": ["https://haxe.org/manual/lf-access-control.html"]
  35. },
  36. {
  37. "name": "Analyzer",
  38. "metadata": ":analyzer",
  39. "doc": "Used to configure the static analyzer."
  40. },
  41. {
  42. "name": "Annotation",
  43. "metadata": ":annotation",
  44. "doc": "Marks a class as a Java annotation",
  45. "params": ["Retention policy"],
  46. "platforms": ["java"],
  47. "targets": ["TClass"]
  48. },
  49. {
  50. "name": "ArrayAccess",
  51. "metadata": ":arrayAccess",
  52. "doc": "Allows array access on an abstract.",
  53. "targets": ["TAbstract", "TAbstractField"],
  54. "links": ["https://haxe.org/manual/types-abstract-array-access.html"]
  55. },
  56. {
  57. "name": "AssemblyMeta",
  58. "metadata": ":cs.assemblyMeta",
  59. "doc": "Used to declare a native C# assembly attribute",
  60. "platforms": ["cs"],
  61. "targets": ["TClass"]
  62. },
  63. {
  64. "name": "AssemblyStrict",
  65. "metadata": ":cs.assemblyStrict",
  66. "doc": "Used to declare a native C# assembly attribute; is type checked",
  67. "platforms": ["cs"],
  68. "targets": ["TClass"]
  69. },
  70. {
  71. "name": "Ast",
  72. "metadata": ":ast",
  73. "doc": "Internally used to pass the AST source into the typed AST.",
  74. "internal": true
  75. },
  76. {
  77. "name": "AstSource",
  78. "metadata": ":astSource",
  79. "doc": "Filled by the compiler with the parsed expression of the field.",
  80. "targets": ["TClassField"]
  81. },
  82. {
  83. "name": "AutoBuild",
  84. "metadata": ":autoBuild",
  85. "doc": "Extends `@:build` metadata to all extending and implementing classes.",
  86. "params": ["Build macro call"],
  87. "targets": ["TClass"],
  88. "links": ["https://haxe.org/manual/macro-auto-build.html"]
  89. },
  90. {
  91. "name": "Bind",
  92. "metadata": ":bind",
  93. "doc": "Override SWF class declaration.",
  94. "platforms": ["flash"],
  95. "targets": ["TClass"]
  96. },
  97. {
  98. "name": "Bitmap",
  99. "metadata": ":bitmap",
  100. "doc": "Embeds given bitmap data into the class (must extend `flash.display.BitmapData`).",
  101. "platforms": ["flash"],
  102. "params": ["Bitmap file path"],
  103. "targets": ["TClass"],
  104. "links": ["https://haxe.org/manual/target-flash-resources.html"]
  105. },
  106. {
  107. "name": "BridgeProperties",
  108. "metadata": ":bridgeProperties",
  109. "doc": "Creates native property bridges for all Haxe properties in this class.",
  110. "platforms": ["cs"],
  111. "targets": ["TClass"]
  112. },
  113. {
  114. "name": "Build",
  115. "metadata": ":build",
  116. "doc": "Builds a class, enum, or abstract from a macro.",
  117. "params": ["Build macro call"],
  118. "targets": ["TClass", "TEnum", "TAbstract"],
  119. "links": ["https://haxe.org/manual/macro-type-building.html"]
  120. },
  121. {
  122. "name": "BuildXml",
  123. "metadata": ":buildXml",
  124. "doc": "Specify XML data to be injected into `Build.xml`.",
  125. "platforms": ["cpp"]
  126. },
  127. {
  128. "name": "BypassAccessor",
  129. "metadata": ":bypassAccessor",
  130. "doc": "Do not call property accessor method and access the field directly.",
  131. "targets": ["TExpr"],
  132. "links": ["https://haxe.org/manual/class-field-property.html"]
  133. },
  134. {
  135. "name": "Callable",
  136. "metadata": ":callable",
  137. "doc": "Abstract forwards call to its underlying type.",
  138. "targets": ["TAbstract"]
  139. },
  140. {
  141. "name": "Class",
  142. "metadata": ":class",
  143. "doc": "Used internally to annotate an enum that will be generated as a class.",
  144. "platforms": ["java", "cs"],
  145. "targets": ["TEnum"],
  146. "internal": true
  147. },
  148. {
  149. "name": "ClassCode",
  150. "metadata": ":classCode",
  151. "doc": "Used to inject platform-native code into a class.",
  152. "platforms": ["java", "cs"],
  153. "targets": ["TClass"]
  154. },
  155. {
  156. "name": "Commutative",
  157. "metadata": ":commutative",
  158. "doc": "Declares an abstract operator as commutative.",
  159. "targets": ["TAbstractField"],
  160. "links": ["https://haxe.org/manual/types-abstract-operator-overloading.html"]
  161. },
  162. {
  163. "name": "CompilerGenerated",
  164. "metadata": ":compilerGenerated",
  165. "doc": "Marks a field as generated by the compiler. Should not be used by the end user.",
  166. "internal": true
  167. },
  168. {
  169. "name": "Const",
  170. "metadata": ":const",
  171. "doc": "Allows a type parameter to accept expression values.",
  172. "targets": ["TTypeParameter"]
  173. },
  174. {
  175. "name": "CoreApi",
  176. "metadata": ":coreApi",
  177. "doc": "Identifies this class as a core API class (forces API check).",
  178. "targets": ["TClass", "TEnum", "TTypedef", "TAbstract"]
  179. },
  180. {
  181. "name": "CoreType",
  182. "metadata": ":coreType",
  183. "doc": "Identifies an abstract as core type so that it requires no implementation.",
  184. "targets": ["TAbstract"],
  185. "links": ["https://haxe.org/manual/types-abstract-core-type.html"]
  186. },
  187. {
  188. "name": "CppFileCode",
  189. "metadata": ":cppFileCode",
  190. "doc": "Code to be injected into generated cpp file.",
  191. "platforms": ["cpp"]
  192. },
  193. {
  194. "name": "CppInclude",
  195. "metadata": ":cppInclude",
  196. "doc": "File to be included in generated cpp file.",
  197. "platforms": ["cpp"]
  198. },
  199. {
  200. "name": "CppNamespaceCode",
  201. "metadata": ":cppNamespaceCode",
  202. "doc": "",
  203. "platforms": ["cpp"]
  204. },
  205. {
  206. "name": "CsNative",
  207. "metadata": ":csNative",
  208. "doc": "Automatically added by `--net-lib` on classes generated from .NET DLL files.",
  209. "platforms": ["cs"],
  210. "targets": ["TClass", "TEnum"],
  211. "internal": true
  212. },
  213. {
  214. "name": "CsUsing",
  215. "metadata": ":cs.using",
  216. "doc": "Add using directives to your module",
  217. "platforms": ["cs"],
  218. "targets": ["TClass"]
  219. },
  220. {
  221. "name": "Dce",
  222. "metadata": ":dce",
  223. "doc": "Forces dead code elimination even when `--dce full` is not specified.",
  224. "targets": ["TClass", "TEnum"],
  225. "links": ["https://haxe.org/manual/cr-dce.html"]
  226. },
  227. {
  228. "name": "Debug",
  229. "metadata": ":debug",
  230. "doc": "Forces debug information to be generated into the SWF even without `--debug`.",
  231. "platforms": ["flash"],
  232. "targets": ["TClass", "TClassField"]
  233. },
  234. {
  235. "name": "Decl",
  236. "metadata": ":decl",
  237. "doc": "",
  238. "platforms": ["cpp"]
  239. },
  240. {
  241. "name": "DefParam",
  242. "metadata": ":defParam",
  243. "doc": "Default function argument value loaded from the SWF and used for documentation in Genxml.",
  244. "platforms": ["flash"],
  245. "internal": true
  246. },
  247. {
  248. "name": "Delegate",
  249. "metadata": ":delegate",
  250. "doc": "Automatically added by `--net-lib` on delegates.",
  251. "platforms": ["cs"],
  252. "targets": ["TAbstract"]
  253. },
  254. {
  255. "name": "Depend",
  256. "metadata": ":depend",
  257. "doc": "",
  258. "platforms": ["cpp"]
  259. },
  260. {
  261. "name": "Deprecated",
  262. "metadata": ":deprecated",
  263. "doc": "Mark a type or field as deprecated."
  264. },
  265. {
  266. "name": "DirectlyUsed",
  267. "metadata": ":directlyUsed",
  268. "doc": "Marks types that are directly referenced by non-extern code.",
  269. "internal": true
  270. },
  271. {
  272. "name": "DisplayOverride",
  273. "metadata": ":?display.override",
  274. "doc": "Internally used to mark override fields for completion",
  275. "internal": true
  276. },
  277. {
  278. "name": "DynamicObject",
  279. "metadata": ":dynamicObject",
  280. "doc": "Used internally to identify the Dynamic Object implementation.",
  281. "platforms": ["java", "cs"],
  282. "targets": ["TClass"],
  283. "internal": true
  284. },
  285. {
  286. "name": "Eager",
  287. "metadata": ":eager",
  288. "doc": "Forces typedefs to be followed early.",
  289. "targets": ["TTypedef"]
  290. },
  291. {
  292. "name": "Enum",
  293. "metadata": ":enum",
  294. "doc": "Defines finite value sets to abstract definitions.",
  295. "targets": ["TAbstract"],
  296. "links": ["https://haxe.org/manual/types-abstract-enum.html"]
  297. },
  298. {
  299. "name": "EnumConstructorParam",
  300. "metadata": ":enumConstructorParam",
  301. "doc": "Used internally to annotate GADT type parameters.",
  302. "targets": ["TClass"],
  303. "internal": true
  304. },
  305. {
  306. "name": "Event",
  307. "metadata": ":event",
  308. "doc": "Automatically added by `--net-lib` on events. Has no effect on types compiled by Haxe.",
  309. "platforms": ["cs"],
  310. "targets": ["TClassField"]
  311. },
  312. {
  313. "name": "Exhaustive",
  314. "metadata": ":exhaustive",
  315. "doc": "Used internally to mark that a switch is exhaustive.",
  316. "internal": true,
  317. "links": ["https://haxe.org/manual/lf-pattern-matching-exhaustiveness.html"]
  318. },
  319. {
  320. "name": "Expose",
  321. "metadata": ":expose",
  322. "doc": "Includes the class or field in Haxe exports (default name is the classpath).",
  323. "platforms": ["js", "lua"],
  324. "params": ["name"],
  325. "links": ["https://haxe.org/manual/target-javascript-expose.html"]
  326. },
  327. {
  328. "name": "Extern",
  329. "metadata": ":extern",
  330. "doc": "Marks the field as extern so it is not generated.",
  331. "targets": ["TClassField"]
  332. },
  333. {
  334. "name": "File",
  335. "metadata": ":file",
  336. "doc": "Includes a given binary file into the target SWF and associates it with the class (must extend `flash.utils.ByteArray`).",
  337. "platforms": ["flash"],
  338. "params": ["File path"],
  339. "targets": ["TClass"],
  340. "links": ["https://haxe.org/manual/target-flash-resources.html"]
  341. },
  342. {
  343. "name": "FileXml",
  344. "metadata": ":fileXml",
  345. "doc": "Include a given XML attribute snippet in the `Build.xml` entry for the file.",
  346. "platforms": ["cpp"],
  347. "targets": ["TClass"]
  348. },
  349. {
  350. "name": "Final",
  351. "metadata": ":final",
  352. "doc": "Prevents a class or interface from being extended or a method from being overridden. Deprecated by the keyword `final`.",
  353. "targets": ["TClass", "TClassField"],
  354. "links": ["https://haxe.org/manual/class-field-final.html"]
  355. },
  356. {
  357. "devcomment": "this used to have UsedOn TObjectDecl(_)",
  358. "name": "Fixed",
  359. "metadata": ":fixed",
  360. "doc": "Declares an anonymous object to have fixed fields."
  361. },
  362. {
  363. "name": "FlashProperty",
  364. "metadata": ":flash.property",
  365. "doc": "",
  366. "platforms": ["flash"],
  367. "targets": ["TClassField"]
  368. },
  369. {
  370. "name": "FlatEnum",
  371. "metadata": ":flatEnum",
  372. "doc": "Internally used to mark an enum as being flat, i.e. having no function constructors.",
  373. "targets": ["TEnum"],
  374. "internal": true
  375. },
  376. {
  377. "name": "Font",
  378. "metadata": ":font",
  379. "doc": "Embeds the given TrueType font into the class (must extend `flash.text.Font`).",
  380. "params": ["TTF path", "Range String"],
  381. "targets": ["TClass"],
  382. "links": ["https://haxe.org/manual/target-flash-resources.html"]
  383. },
  384. {
  385. "name": "ForLoopVariable",
  386. "metadata": ":forLoopVariable",
  387. "doc": "Internally used to mark for-loop variables.",
  388. "internal": true
  389. },
  390. {
  391. "name": "Forward",
  392. "metadata": ":forward",
  393. "doc": "Forwards field access to underlying type.",
  394. "params": ["List of field names"],
  395. "targets": ["TAbstract"],
  396. "links": ["https://haxe.org/manual/types-abstract-forward.html"]
  397. },
  398. {
  399. "name": "ForwardNew",
  400. "metadata": ":forward.new",
  401. "doc": "Forwards constructor call to underlying type.",
  402. "targets": ["TAbstract"]
  403. },
  404. {
  405. "name": "ForwardStatics",
  406. "metadata": ":forwardStatics",
  407. "doc": "Forwards static field access to underlying type.",
  408. "params": ["List of field names"],
  409. "targets": ["TAbstract"],
  410. "links": ["https://haxe.org/manual/types-abstract-forward.html"]
  411. },
  412. {
  413. "name": "ForwardVariance",
  414. "metadata": ":forward.variance",
  415. "doc": "Forwards variance unification to underlying type.",
  416. "targets": ["TAbstract"]
  417. },
  418. {
  419. "name": "From",
  420. "metadata": ":from",
  421. "doc": "Specifies that the field of the abstract is a cast operation from the type identified in the function.",
  422. "targets": ["TAbstractField"],
  423. "links": ["https://haxe.org/manual/types-abstract-implicit-casts.html"]
  424. },
  425. {
  426. "name": "FunctionCode",
  427. "metadata": ":functionCode",
  428. "doc": "Used to inject platform-native code into a function.",
  429. "platforms": ["cpp", "java", "cs"]
  430. },
  431. {
  432. "name": "FunctionTailCode",
  433. "metadata": ":functionTailCode",
  434. "doc": "",
  435. "platforms": ["cpp"]
  436. },
  437. {
  438. "name": "Generic",
  439. "metadata": ":generic",
  440. "doc": "Marks a class or class field as generic so each type parameter combination generates its own type/field.",
  441. "links": ["https://haxe.org/manual/type-system-generic.html"]
  442. },
  443. {
  444. "name": "GenericBuild",
  445. "metadata": ":genericBuild",
  446. "doc": "Builds instances of a type using the specified macro.",
  447. "targets": ["TClass"]
  448. },
  449. {
  450. "name": "GenericInstance",
  451. "metadata": ":genericInstance",
  452. "doc": "Internally used to mark instances of `@:generic` methods.",
  453. "targets": ["TClassField"],
  454. "internal": true
  455. },
  456. {
  457. "name": "GenericClassPerMethod",
  458. "metadata": ":genericClassPerMethod",
  459. "doc": "Makes compiler generate separate class per generic static method specialization",
  460. "targets": ["TClass"]
  461. },
  462. {
  463. "name": "Getter",
  464. "metadata": ":getter",
  465. "doc": "Generates a native getter function on the given field.",
  466. "platforms": ["flash"],
  467. "params": ["Class field name"],
  468. "targets": ["TClassField"]
  469. },
  470. {
  471. "name": "Hack",
  472. "metadata": ":hack",
  473. "doc": "Allows extending classes marked as `@:final`. Not guaranteed to work on all targets.",
  474. "targets": ["TClass"]
  475. },
  476. {
  477. "name": "HasUntyped",
  478. "metadata": ":has_untyped",
  479. "doc": "Used by the typer to mark fields that have untyped expressions.",
  480. "internal": true
  481. },
  482. {
  483. "name": "HaxeGeneric",
  484. "metadata": ":haxeGeneric",
  485. "doc": "Used internally to annotate non-native generic classes.",
  486. "platforms": ["cs"],
  487. "targets": ["TClass", "TEnum"],
  488. "internal": true
  489. },
  490. {
  491. "name": "HeaderClassCode",
  492. "metadata": ":headerClassCode",
  493. "doc": "Code to be injected into the generated class, in the header.",
  494. "platforms": ["cpp"]
  495. },
  496. {
  497. "name": "HeaderCode",
  498. "metadata": ":headerCode",
  499. "doc": "Code to be injected into the generated header file.",
  500. "platforms": ["cpp"]
  501. },
  502. {
  503. "name": "HeaderInclude",
  504. "metadata": ":headerInclude",
  505. "doc": "File to be included in generated header file.",
  506. "platforms": ["cpp"]
  507. },
  508. {
  509. "name": "HeaderNamespaceCode",
  510. "metadata": ":headerNamespaceCode",
  511. "doc": "",
  512. "platforms": ["cpp"]
  513. },
  514. {
  515. "name": "HlNative",
  516. "metadata": ":hlNative",
  517. "doc": "Specifies `hdll` name and function prefix for native functions.",
  518. "platforms": ["hl"],
  519. "targets": ["TClass", "TClassField"]
  520. },
  521. {
  522. "name": "HxCompletion",
  523. "metadata": ":hx.completion",
  524. "doc": "Internally used for completion",
  525. "internal": true
  526. },
  527. {
  528. "name": "HxGen",
  529. "metadata": ":hxGen",
  530. "doc": "Annotates that an extern class was generated by Haxe.",
  531. "platforms": ["java", "cs"],
  532. "targets": ["TClass", "TEnum"]
  533. },
  534. {
  535. "name": "IfFeature",
  536. "metadata": ":ifFeature",
  537. "doc": "Causes a field to be kept by DCE if the given feature is part of the compilation.",
  538. "params": ["Feature name"],
  539. "targets": ["TClassField"],
  540. "links": ["https://haxe.org/manual/cr-dce.html"]
  541. },
  542. {
  543. "name": "PythonImport",
  544. "metadata": ":pythonImport",
  545. "doc": "Generates python import statement for extern classes.",
  546. "platforms": ["python"],
  547. "targets": ["TClass"]
  548. },
  549. {
  550. "name": "ImplicitCast",
  551. "metadata": ":implicitCast",
  552. "doc": "Generated automatically on the AST when an implicit abstract cast happens.",
  553. "targets": ["TExpr"],
  554. "internal": true
  555. },
  556. {
  557. "name": "ImplicitReturn",
  558. "metadata": ":implicitReturn",
  559. "doc": "Generated automatically on the AST when an implicit return is inserted for arrow function.",
  560. "targets": ["TExpr"],
  561. "internal": true
  562. },
  563. {
  564. "name": "Include",
  565. "metadata": ":include",
  566. "doc": "",
  567. "platforms": ["cpp"]
  568. },
  569. {
  570. "name": "InheritDoc",
  571. "metadata": ":inheritDoc",
  572. "doc": "Append documentation from a parent field or class (if used without an argument) or from a specified class or field (if used like @:inheritDoc(pack.Some.field)).",
  573. "targets": ["TClass", "TClass", "TEnum", "TAbstract", "TAnyField"]
  574. },
  575. {
  576. "name": "InitPackage",
  577. "metadata": ":initPackage",
  578. "doc": "Some weird thing for Genjs we want to remove someday.",
  579. "platforms": ["js"],
  580. "internal": true
  581. },
  582. {
  583. "name": "Inline",
  584. "metadata": ":inline",
  585. "doc": "Inserted by the parser in case of `inline expr` and `inline function`.",
  586. "targets": ["TExpr"]
  587. },
  588. {
  589. "name": "InlineConstructorArgument",
  590. "metadata": ":inlineConstructorArgument",
  591. "doc": "Internally used to mark expressions that were passed as arguments of an inlined constructor.",
  592. "internal": true
  593. },
  594. {
  595. "name": "InlineObject",
  596. "metadata": ":inlineObject",
  597. "doc": "Internally used by inline constructors filter to mark potentially inlineable objects.",
  598. "internal": true
  599. },
  600. {
  601. "name": "Internal",
  602. "metadata": ":internal",
  603. "doc": "Generates the annotated field/class with 'internal' access.",
  604. "platforms": ["java", "cs"],
  605. "targets": ["TClass", "TEnum", "TClassField"]
  606. },
  607. {
  608. "name": "IsVar",
  609. "metadata": ":isVar",
  610. "doc": "Forces a physical field to be generated for properties that otherwise would not require one.",
  611. "targets": ["TClassField"],
  612. "links": ["https://haxe.org/manual/class-field-property-rules.html"]
  613. },
  614. {
  615. "name": "JavaCanonical",
  616. "metadata": ":javaCanonical",
  617. "doc": "Used by the Java target to annotate the canonical path of the type.",
  618. "platforms": ["java"],
  619. "params": ["Output type package", "Output type name"],
  620. "targets": ["TClass", "TEnum"]
  621. },
  622. {
  623. "name": "JavaDefault",
  624. "metadata": ":java.default",
  625. "doc": "Equivalent to the default modifier of the Java language",
  626. "platforms": ["java"],
  627. "params": [],
  628. "targets": ["TClassField"]
  629. },
  630. {
  631. "name": "JavaNative",
  632. "metadata": ":javaNative",
  633. "doc": "Automatically added by `--java-lib` on classes generated from JAR/class files.",
  634. "platforms": ["java"],
  635. "targets": ["TClass", "TEnum"],
  636. "internal": true
  637. },
  638. {
  639. "name": "JvmSynthetic",
  640. "metadata": ":jvm.synthetic",
  641. "doc": "Mark generated class, field or method as synthetic",
  642. "platforms": ["java"],
  643. "targets": ["TClass", "TEnum", "TAnyField"]
  644. },
  645. {
  646. "name": "JsRequire",
  647. "metadata": ":jsRequire",
  648. "doc": "Generate JavaScript module require expression for given extern.",
  649. "platforms": ["js"],
  650. "targets": ["TClass"],
  651. "links": ["https://haxe.org/manual/target-javascript-require.html"]
  652. },
  653. {
  654. "name": "LuaRequire",
  655. "metadata": ":luaRequire",
  656. "doc": "Generate Lua module require expression for given extern.",
  657. "platforms": ["lua"],
  658. "targets": ["TClass"]
  659. },
  660. {
  661. "name": "LuaDotMethod",
  662. "metadata": ":luaDotMethod",
  663. "doc": "Indicates that the given extern type instance should have dot-style invocation for methods instead of colon.",
  664. "platforms": ["lua"]
  665. },
  666. {
  667. "name": "Keep",
  668. "metadata": ":keep",
  669. "doc": "Causes a field or type to be kept by DCE.",
  670. "links": ["https://haxe.org/manual/cr-dce.html"]
  671. },
  672. {
  673. "name": "KeepInit",
  674. "metadata": ":keepInit",
  675. "doc": "Causes a class to be kept by DCE even if all its field are removed.",
  676. "targets": ["TClass"],
  677. "links": ["https://haxe.org/manual/cr-dce.html"]
  678. },
  679. {
  680. "name": "KeepSub",
  681. "metadata": ":keepSub",
  682. "doc": "Extends `@:keep` metadata to all implementing and extending classes.",
  683. "targets": ["TClass"],
  684. "links": ["https://haxe.org/manual/cr-dce.html"]
  685. },
  686. {
  687. "name": "LibType",
  688. "metadata": ":libType",
  689. "doc": "Used by `--net-lib` and `--java-lib` to mark a class that should not be checked (overrides, interfaces, etc) by the type loader.",
  690. "platforms": ["java", "cs"],
  691. "targets": ["TClass"],
  692. "internal": true
  693. },
  694. {
  695. "name": "LoopLabel",
  696. "metadata": ":loopLabel",
  697. "doc": "Mark loop and break expressions with a label to support breaking from within switch.",
  698. "internal": true
  699. },
  700. {
  701. "name": "Markup",
  702. "metadata": ":markup",
  703. "doc": "Used as a result of inline XML parsing.",
  704. "links": ["https://haxe.org/manual/lf-markup.html"]
  705. },
  706. {
  707. "name": "Meta",
  708. "metadata": ":meta",
  709. "doc": "Internally used to mark a class field as being the metadata field.",
  710. "internal": true
  711. },
  712. {
  713. "name": "Macro",
  714. "metadata": ":macro",
  715. "doc": "(deprecated)"
  716. },
  717. {
  718. "name": "MergeBlock",
  719. "metadata": ":mergeBlock",
  720. "doc": "Merge the annotated block into the current scope.",
  721. "targets": ["TExpr"]
  722. },
  723. {
  724. "name": "MultiReturn",
  725. "metadata": ":multiReturn",
  726. "doc": "Annotates an extern class as the result of multi-return function.",
  727. "platforms": ["lua"],
  728. "targets": ["TClass"],
  729. "links": ["https://haxe.org/manual/target-lua-multireturns.html"]
  730. },
  731. {
  732. "name": "MultiType",
  733. "metadata": ":multiType",
  734. "doc": "Specifies that an abstract chooses its this-type from its `@:to` functions.",
  735. "params": ["Relevant type parameters"],
  736. "targets": ["TAbstract"]
  737. },
  738. {
  739. "name": "Native",
  740. "metadata": ":native",
  741. "doc": "Rewrites the path of a type or class field during generation.",
  742. "params": ["Output path"],
  743. "targets": ["TClass", "TEnum", "TAbstract", "TClassField"],
  744. "links": ["https://haxe.org/manual/lf-externs.html"]
  745. },
  746. {
  747. "name": "NativeJni",
  748. "metadata": ":java.native",
  749. "doc": "Annotates that a function has implementation in native code through JNI.",
  750. "platforms": ["java"],
  751. "targets": ["TClassField"]
  752. },
  753. {
  754. "name": "NativeChildren",
  755. "metadata": ":nativeChildren",
  756. "doc": "Annotates that all children from a type should be treated as if it were an extern definition - platform native.",
  757. "platforms": ["java", "cs"],
  758. "targets": ["TClass"]
  759. },
  760. {
  761. "name": "NativeGen",
  762. "metadata": ":nativeGen",
  763. "doc": "Annotates that a type should be treated as if it were an extern definition - platform native.",
  764. "platforms": ["java", "cs", "python"],
  765. "targets": ["TClass", "TEnum"]
  766. },
  767. {
  768. "name": "NativeGeneric",
  769. "metadata": ":nativeGeneric",
  770. "doc": "Used internally to annotate native generic classes.",
  771. "platforms": ["cs"],
  772. "targets": ["TClass", "TEnum"],
  773. "internal": true
  774. },
  775. {
  776. "name": "NativeProperty",
  777. "metadata": ":nativeProperty",
  778. "doc": "Use native properties which will execute even with dynamic usage.",
  779. "platforms": ["cpp"]
  780. },
  781. {
  782. "name": "NativeStaticExtension",
  783. "metadata": ":nativeStaticExtension",
  784. "doc": "Converts static function syntax into member call.",
  785. "platforms": ["cpp"]
  786. },
  787. {
  788. "name": "NoCompletion",
  789. "metadata": ":noCompletion",
  790. "doc": "Prevents the compiler from suggesting completion on this field or type.",
  791. "targets": ["TClassField"],
  792. "links": ["https://haxe.org/manual/cr-completion.html"]
  793. },
  794. {
  795. "name": "NoClosure",
  796. "metadata": ":noClosure",
  797. "doc": "Prevents a method or all methods in a class from being used as a value.",
  798. "targets": ["TClass", "TClassField"]
  799. },
  800. {
  801. "name": "NoDebug",
  802. "metadata": ":noDebug",
  803. "doc": "Does not generate debug information even if `--debug` is set.",
  804. "platforms": ["flash", "cpp"],
  805. "targets": ["TClass", "TClassField"]
  806. },
  807. {
  808. "name": "NoDoc",
  809. "metadata": ":noDoc",
  810. "doc": "Prevents a type or field from being included in documentation generation."
  811. },
  812. {
  813. "name": "NoExpr",
  814. "metadata": ":noExpr",
  815. "doc": "Internally used to mark abstract fields which have no expression by design.",
  816. "internal": true
  817. },
  818. {
  819. "name": "NoImportGlobal",
  820. "metadata": ":noImportGlobal",
  821. "doc": "Prevents a static field from being imported with `import Class.*`.",
  822. "targets": ["TAnyField"]
  823. },
  824. {
  825. "name": "NonVirtual",
  826. "metadata": ":nonVirtual",
  827. "doc": "Declares function to be non-virtual in cpp.",
  828. "platforms": ["cpp"]
  829. },
  830. {
  831. "name": "NoPackageRestrict",
  832. "metadata": ":noPackageRestrict",
  833. "doc": "Allows a module to be accessed across all targets if found on its first type.",
  834. "internal": true
  835. },
  836. {
  837. "name": "NoPrivateAccess",
  838. "metadata": ":noPrivateAccess",
  839. "doc": "Disallow private access to anything for the annotated expression.",
  840. "targets": ["TExpr"]
  841. },
  842. {
  843. "name": "NoStack",
  844. "metadata": ":noStack",
  845. "doc": "",
  846. "platforms": ["cpp"]
  847. },
  848. {
  849. "name": "NotNull",
  850. "metadata": ":notNull",
  851. "doc": "Declares an abstract type as not accepting null values.",
  852. "targets": ["TAbstract"],
  853. "links": ["https://haxe.org/manual/types-nullability.html"]
  854. },
  855. {
  856. "name": "NoUsing",
  857. "metadata": ":noUsing",
  858. "doc": "Prevents a field from being used with static extension.",
  859. "targets": ["TClassField"],
  860. "links": ["https://haxe.org/manual/lf-static-extension.html"]
  861. },
  862. {
  863. "name": "Ns",
  864. "metadata": ":ns",
  865. "doc": "Internally used by the SWF generator to handle namespaces.",
  866. "platforms": ["flash"],
  867. "internal": true
  868. },
  869. {
  870. "name": "NullSafety",
  871. "metadata": ":nullSafety",
  872. "doc": "Enables null safety for classes or fields. Disables null safety for classes, fields or expressions if provided with `Off` as an argument.",
  873. "params": ["Off | Loose | Strict | StrictThreaded"],
  874. "targets": ["TClass", "TClassField", "TExpr"],
  875. "links": ["https://haxe.org/manual/cr-null-safety.html"]
  876. },
  877. {
  878. "name": "Objc",
  879. "metadata": ":objc",
  880. "doc": "Declares a class or interface that is used to interoperate with Objective-C code.",
  881. "platforms": ["cpp"],
  882. "targets": ["TClass"]
  883. },
  884. {
  885. "name": "ObjcProtocol",
  886. "metadata": ":objcProtocol",
  887. "doc": "Associates an interface with, or describes a function in, a native Objective-C protocol.",
  888. "platforms": ["cpp"]
  889. },
  890. {
  891. "name": "Op",
  892. "metadata": ":op",
  893. "doc": "Declares an abstract field as being an operator overload.",
  894. "params": ["The operation"],
  895. "targets": ["TAbstractField"],
  896. "links": ["https://haxe.org/manual/types-abstract-operator-overloading.html"]
  897. },
  898. {
  899. "name": "Optional",
  900. "metadata": ":optional",
  901. "doc": "Marks the field of a structure as optional.",
  902. "targets": ["TClassField"],
  903. "links": ["https://haxe.org/manual/types-nullability-optional-arguments.html"]
  904. },
  905. {
  906. "name": "Overload",
  907. "metadata": ":overload",
  908. "doc": "Allows the field to be called with different argument types.",
  909. "params": ["Function specification (no expression)"],
  910. "targets": ["TClassField"],
  911. "links": ["https://haxe.org/manual/target-javascript-external-libraries.html"]
  912. },
  913. {
  914. "name": "Persistent",
  915. "metadata": ":persistent",
  916. "doc": "Keeps the value of static variables in macro context across compilations.",
  917. "targets": ["TAnyField"],
  918. "platforms": ["eval"]
  919. },
  920. {
  921. "name": "PhpAttribute",
  922. "metadata": ":php.attribute",
  923. "doc": "Adds a PHP attribute to the annotated symbol. Meta argument expects a string constant. E.g. `@:php.attribute('\\\\my\\\\Attr(123)')` will be generated as `#[\\my\\Attr(123)]` in the compiled php file.",
  924. "platforms": ["php"],
  925. "links": ["https://www.php.net/manual/en/language.attributes.overview.php"]
  926. },
  927. {
  928. "name": "PhpGlobal",
  929. "metadata": ":phpGlobal",
  930. "doc": "Indicates that static fields of an extern class actually are located in the global PHP namespace.",
  931. "platforms": ["php"],
  932. "targets": ["TClass"]
  933. },
  934. {
  935. "name": "PhpClassConst",
  936. "metadata": ":phpClassConst",
  937. "doc": "Indicates that a static var of an extern class is a PHP class constant.",
  938. "platforms": ["php"],
  939. "targets": ["TClassField"]
  940. },
  941. {
  942. "name": "PhpMagic",
  943. "metadata": ":phpMagic",
  944. "doc": "Treat annotated field as special PHP magic field - this meta makes compiler avoid renaming such fields on generating PHP code.",
  945. "platforms": ["php"],
  946. "targets": ["TClassField"]
  947. },
  948. {
  949. "name": "PhpNoConstructor",
  950. "metadata": ":phpNoConstructor",
  951. "doc": "Special meta for extern classes which do not have native constructor in PHP, but need a constructor in Haxe extern.",
  952. "platforms": ["php"],
  953. "targets": ["TClass"]
  954. },
  955. {
  956. "name": "Pos",
  957. "metadata": ":pos",
  958. "doc": "Sets the position of a reified expression.",
  959. "params": ["Position"],
  960. "targets": ["TExpr"],
  961. "links": ["https://haxe.org/manual/macro-reification.html"]
  962. },
  963. {
  964. "name": "Public",
  965. "metadata": ":public",
  966. "doc": "Marks a class field as being public.",
  967. "targets": ["TClassField"],
  968. "internal": true
  969. },
  970. {
  971. "name": "PublicFields",
  972. "metadata": ":publicFields",
  973. "doc": "Forces all class fields of inheriting classes to be public.",
  974. "targets": ["TClass"]
  975. },
  976. {
  977. "name": "Private",
  978. "metadata": ":private",
  979. "doc": "Marks a class field as being private.",
  980. "platforms": ["cs"],
  981. "targets": ["TClassField"]
  982. },
  983. {
  984. "name": "PrivateAccess",
  985. "metadata": ":privateAccess",
  986. "doc": "Allow private access to anything for the annotated expression.",
  987. "targets": ["TExpr"]
  988. },
  989. {
  990. "name": "Protected",
  991. "metadata": ":protected",
  992. "doc": "Marks a class field as being protected.",
  993. "platforms": ["cs", "java", "flash"],
  994. "targets": ["TClassField"]
  995. },
  996. {
  997. "name": "Property",
  998. "metadata": ":property",
  999. "doc": "Marks a field to be compiled as a native C# property.",
  1000. "platforms": ["cs"],
  1001. "targets": ["TClassField"]
  1002. },
  1003. {
  1004. "name": "Pure",
  1005. "metadata": ":pure",
  1006. "doc": "Marks a class field, class or expression as pure (side-effect free).",
  1007. "targets": ["TClass", "TClassField", "TExpr"]
  1008. },
  1009. {
  1010. "name": "ReadOnly",
  1011. "metadata": ":readOnly",
  1012. "doc": "Generates a field with the `readonly` native keyword.",
  1013. "platforms": ["cs"],
  1014. "targets": ["TClassField"]
  1015. },
  1016. {
  1017. "name": "RealPath",
  1018. "metadata": ":realPath",
  1019. "doc": "Internally used on `@:native` types to retain original path information.",
  1020. "internal": true
  1021. },
  1022. {
  1023. "name": "Remove",
  1024. "metadata": ":remove",
  1025. "doc": "Causes an interface to be removed from all implementing classes before generation.",
  1026. "targets": ["TClass"]
  1027. },
  1028. {
  1029. "name": "Require",
  1030. "metadata": ":require",
  1031. "doc": "Allows access to a field only if the specified compiler flag is set.",
  1032. "params": ["Compiler flag to check"],
  1033. "targets": ["TClassField"],
  1034. "links": ["https://haxe.org/manual/lf-condition-compilation.html"]
  1035. },
  1036. {
  1037. "name": "Resolve",
  1038. "metadata": ":resolve",
  1039. "doc": "Abstract fields marked with this metadata can be used to resolve unknown fields.",
  1040. "targets": ["TClassField"]
  1041. },
  1042. {
  1043. "name": "Rtti",
  1044. "metadata": ":rtti",
  1045. "doc": "Adds runtime type information.",
  1046. "targets": ["TClass"],
  1047. "links": ["https://haxe.org/manual/cr-rtti.html"]
  1048. },
  1049. {
  1050. "name": "Runtime",
  1051. "metadata": ":runtime",
  1052. "doc": "",
  1053. "internal": true
  1054. },
  1055. {
  1056. "name": "RuntimeValue",
  1057. "metadata": ":runtimeValue",
  1058. "doc": "Marks an abstract as being a runtime value.",
  1059. "targets": ["TAbstract"]
  1060. },
  1061. {
  1062. "name": "Scalar",
  1063. "metadata": ":scalar",
  1064. "doc": "Used by hxcpp to mark a custom coreType abstract.",
  1065. "platforms": ["cpp"],
  1066. "targets": ["TAbstract"]
  1067. },
  1068. {
  1069. "name": "SelfCall",
  1070. "metadata": ":selfCall",
  1071. "doc": "Translates method calls into calling object directly.",
  1072. "platforms": ["js", "lua"],
  1073. "targets": ["TClassField"],
  1074. "links": ["https://haxe.org/manual/target-javascript-external-libraries.html"]
  1075. },
  1076. {
  1077. "name": "Semantics",
  1078. "metadata": ":semantics",
  1079. "doc": "The native semantics of the type.",
  1080. "params": ["value | reference | variable"],
  1081. "targets": ["TClass", "TTypedef", "TAbstract"]
  1082. },
  1083. {
  1084. "name": "Setter",
  1085. "metadata": ":setter",
  1086. "doc": "Generates a native setter function on the given field.",
  1087. "platforms": ["flash"],
  1088. "params": ["Class field name"],
  1089. "targets": ["TClassField"]
  1090. },
  1091. {
  1092. "name": "SkipCtor",
  1093. "metadata": ":skipCtor",
  1094. "doc": "Used internally to generate a constructor as if it were a native type (no `__hx_ctor`).",
  1095. "platforms": ["java", "cs"],
  1096. "internal": true
  1097. },
  1098. {
  1099. "name": "SkipReflection",
  1100. "metadata": ":skipReflection",
  1101. "doc": "Used internally to annotate a field that shouldn't have its reflection data generated.",
  1102. "platforms": ["java", "cs"],
  1103. "targets": ["TClassField"],
  1104. "internal": true
  1105. },
  1106. {
  1107. "name": "Sound",
  1108. "metadata": ":sound",
  1109. "doc": "Includes a given .wav or .mp3 file into the target SWF and associates it with the class (must extend `flash.media.Sound`).",
  1110. "platforms": ["flash"],
  1111. "params": ["File path"],
  1112. "targets": ["TClass"],
  1113. "links": ["https://haxe.org/manual/target-flash-resources.html"]
  1114. },
  1115. {
  1116. "name": "SourceFile",
  1117. "metadata": ":sourceFile",
  1118. "doc": "Source code filename for external class.",
  1119. "platforms": ["cpp"]
  1120. },
  1121. {
  1122. "name": "StackOnly",
  1123. "metadata": ":stackOnly",
  1124. "doc": "Instances of this type can only appear on the stack.",
  1125. "platforms": ["cpp"]
  1126. },
  1127. {
  1128. "name": "StaticExtension",
  1129. "metadata": "haxe.internal.static_extension",
  1130. "doc": "Used internally to mark static extension fields.",
  1131. "internal": true
  1132. },
  1133. {
  1134. "name": "StoredTypedExpr",
  1135. "metadata": ":storedTypedExpr",
  1136. "doc": "Used internally to reference a typed expression returned from a macro.",
  1137. "internal": true
  1138. },
  1139. {
  1140. "name": "Strict",
  1141. "metadata": ":strict",
  1142. "doc": "Used to declare a native C# attribute or a native Java metadata; is type checked.",
  1143. "platforms": ["java", "cs"]
  1144. },
  1145. {
  1146. "name": "Struct",
  1147. "metadata": ":struct",
  1148. "doc": "Marks a class definition as a struct.",
  1149. "platforms": ["cs", "hl"],
  1150. "targets": ["TClass"]
  1151. },
  1152. {
  1153. "name": "StructAccess",
  1154. "metadata": ":structAccess",
  1155. "doc": "Marks an extern class as using struct access (`.`) not pointer (`->`).",
  1156. "platforms": ["cpp"],
  1157. "targets": ["TClass"]
  1158. },
  1159. {
  1160. "name": "StructInit",
  1161. "metadata": ":structInit",
  1162. "doc": "Allows one to initialize the class with a structure that matches constructor parameters.",
  1163. "targets": ["TClass"]
  1164. },
  1165. {
  1166. "name": "SuppressWarnings",
  1167. "metadata": ":suppressWarnings",
  1168. "doc": "Adds a `SuppressWarnings` annotation for the generated Java class.",
  1169. "platforms": ["java"],
  1170. "targets": ["TClass"]
  1171. },
  1172. {
  1173. "name": "TailRecursion",
  1174. "metadata": ":tailRecursion",
  1175. "doc": "Internally used for tail recursion elimination.",
  1176. "internal": true
  1177. },
  1178. {
  1179. "name": "TemplatedCall",
  1180. "metadata": ":templatedCall",
  1181. "doc": "Indicates that the first parameter of static call should be treated as a template argument.",
  1182. "platforms": ["cpp"],
  1183. "targets": ["TClassField"]
  1184. },
  1185. {
  1186. "name": "Throws",
  1187. "metadata": ":throws",
  1188. "doc": "Adds a `throws` declaration to the generated function.",
  1189. "platforms": ["java"],
  1190. "params": ["Type as String"],
  1191. "targets": ["TClassField"]
  1192. },
  1193. {
  1194. "name": "This",
  1195. "metadata": ":this",
  1196. "doc": "Internally used to pass a `this` expression to macros.",
  1197. "targets": ["TExpr"],
  1198. "internal": true
  1199. },
  1200. {
  1201. "name": "To",
  1202. "metadata": ":to",
  1203. "doc": "Specifies that the field of the abstract is a cast operation to the type identified in the function.",
  1204. "targets": ["TAbstractField"],
  1205. "links": ["https://haxe.org/manual/types-abstract-implicit-casts.html"]
  1206. },
  1207. {
  1208. "name": "ToString",
  1209. "metadata": ":toString",
  1210. "doc": "Internally used.",
  1211. "internal": true
  1212. },
  1213. {
  1214. "name": "Transient",
  1215. "metadata": ":transient",
  1216. "doc": "Adds the `transient` flag to the class field.",
  1217. "platforms": ["java"],
  1218. "targets": ["TClassField"]
  1219. },
  1220. {
  1221. "name": "Transitive",
  1222. "metadata": ":transitive",
  1223. "doc": "Allows transitive casts with an abstract.",
  1224. "targets": ["TAbstract"]
  1225. },
  1226. {
  1227. "name": "ValueUsed",
  1228. "metadata": ":valueUsed",
  1229. "doc": "Internally used by DCE to mark an abstract value as used.",
  1230. "internal": true
  1231. },
  1232. {
  1233. "name": "Volatile",
  1234. "metadata": ":volatile",
  1235. "doc": "",
  1236. "platforms": ["java", "cs"]
  1237. },
  1238. {
  1239. "name": "UnifyMinDynamic",
  1240. "metadata": ":unifyMinDynamic",
  1241. "doc": "Allows a collection of types to unify to `Dynamic`.",
  1242. "targets": ["TClassField"]
  1243. },
  1244. {
  1245. "name": "Unreflective",
  1246. "metadata": ":unreflective",
  1247. "doc": "",
  1248. "platforms": ["cpp"]
  1249. },
  1250. {
  1251. "name": "Unsafe",
  1252. "metadata": ":unsafe",
  1253. "doc": "Declares a class, or a method with the C#'s `unsafe` flag.",
  1254. "platforms": ["cs"],
  1255. "targets": ["TClass", "TClassField"]
  1256. },
  1257. {
  1258. "name": "Used",
  1259. "metadata": ":used",
  1260. "doc": "Internally used by DCE to mark a class or field as used.",
  1261. "internal": true
  1262. },
  1263. {
  1264. "name": "Using",
  1265. "metadata": ":using",
  1266. "doc": "Automatically uses the argument types as static extensions for the annotated type.",
  1267. "targets": ["TClass", "TEnum", "TAbstract"],
  1268. "links": ["https://haxe.org/manual/lf-static-extension-metadata.html"]
  1269. },
  1270. {
  1271. "name": "Value",
  1272. "metadata": ":value",
  1273. "doc": "Used to store default values for fields and function arguments.",
  1274. "targets": ["TClassField"],
  1275. "internal": true
  1276. },
  1277. {
  1278. "name": "HaxeArguments",
  1279. "metadata": ":haxe.arguments",
  1280. "doc": "Used to store function arguments.",
  1281. "targets": ["TClassField"],
  1282. "internal": true
  1283. },
  1284. {
  1285. "name": "HaxeWarning",
  1286. "metadata": ":haxe.warning",
  1287. "doc": "Modifies warning options, equivalent to the -w CLI argument",
  1288. "targets": ["TClass","TClassField"]
  1289. },
  1290. {
  1291. "name": "Void",
  1292. "metadata": ":void",
  1293. "doc": "Use Cpp native `void` return type.",
  1294. "platforms": ["cpp"]
  1295. },
  1296. {
  1297. "name": "NeedsExceptionStack",
  1298. "metadata": ":needsExceptionStack",
  1299. "doc": "Internally used for some of auto-generated `catch` vars",
  1300. "internal": true
  1301. },
  1302. {
  1303. "name": "WrappedException",
  1304. "metadata": ":wrappedException",
  1305. "doc": "Internally used for exceptions wrapping in `throw` expressions.",
  1306. "internal": true
  1307. },
  1308. {
  1309. "name": "NativeArrayAccess",
  1310. "metadata": ":nativeArrayAccess",
  1311. "doc": "When used on an extern class which implements haxe.ArrayAccess native array access syntax will be generated",
  1312. "platforms": ["cpp"]
  1313. }
  1314. ]