💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
从Haxe 3.0开始,你可以运行 --help-metas 来获得定义的编译器元数据的列表。 全局元数据: | 元数据 | 描述 | 平台 | | -- | -- | -- | |@:abi|Function ABI/calling convention| cpp| |@:abstract|Sets the underlying class implementation as abstract type| cs java| |@:access (Target path)|Forces private access to package type or field, see Access Control| all| |@:allow (Target path) |Allows private access from package type or field, see Access Control |all| |@:analyzer |Used to configure the static analyzer |all| |@:annotation |Annotation (@interface) definitions on -java-lib imports will be annotated with this metadata. Has no effect on types compiled by Haxe|java| |@:arrayAccess |Allows Array access on an abstract |all| |@:autoBuild (Build macro call) |Extends @:build metadata to all extending and implementing classes. See Macro autobuild |all| |@:bind |Override Swf class declaration |flash| |@:bitmap (Bitmap file path) |\_Embeds given bitmap data into the class (must extend flash.display.BitmapData) |flash| |@:bridgeProperties |Creates native property bridges for all Haxe properties in this class |cs| |@:build (Build macro call) |Builds a class or enum from a macro. See Type Building |all| |@:buildXml |Specify xml data to be injected into Build.xml |cpp| |@:callable |Abstract forwards call to its underlying type |all| |@:classCode |Used to inject platform-native code into a class |cs java| |@:commutative |Declares an abstract operator as commutative |all| |@:compilerGenerated |Marks a field as generated by the compiler. Shouldn't be used by the end user |cs java| |@:coreApi |Identifies this class as a core api class (forces Api check) |all| |@:coreType |Identifies an abstract as core type so that it requires no implementation |all| |@:cppFileCode |Code to be injected into generated cpp file |cpp| |@:cppInclude |File to be included in generated cpp file |cpp| |@:cppNamespaceCode||cpp| |@:dce |Forces Dead Code Elimination even when not -dce full is specified |all| |@:debug |Forces debug information to be generated into the Swf even without -debug |flash| |@:decl ||cpp| |@:defParam || all| |@:delegate |Automatically added by -net-lib on delegates |cs| |@:depend || cpp| |@:deprecated |Automatically added by -java-lib on class fields annotated with @Deprecated annotation. Has no effect on types compiled by Haxe |java| |@:event |Automatically added by -net-lib on events. Has no effect on types compiled by Haxe |cs| |@:enum |Defines finite value sets to abstract definitions. See enum abstracts |all| |@:expose (?Name=Class path) |Makes the class available on the window object or exports for node.js. See exposing Haxe classes for JavaScript |js| |@:extern |Marks the field as extern so it is not generated |all| |@:fakeEnum (Type name) |Treat enum as collection of values of the specified type |all| |@:file(File path) |Includes a given binary file into the target Swf and associates it with the class (must extend flash.utils.ByteArray) |flash| |@:final |Prevents a class from being extended |all| |@:font (TTF path Range String)|Embeds the given TrueType font into the class (must extend flash.text.Font) |flash| |@:forward (List of field names) |Forwards field access to underlying type |all| |@:from |Specifies that the field of the abstract is a cast operation from the type identified in the function. See Implicit Casts |all| |@:functionCode || cpp| |@:functionTailCode || cpp| |@:generic |Marks a class or class field as generic so each type parameter combination generates its own type/field |all| |@:genericBuild |Builds instances of a type using the specified macro |all| |@:getter (Class field name)|Generates a native getter function on the given field |flash| |@:hack |Allows extending classes marked as @:final| all| |@:headerClassCode |Code to be injected into the generated class, in the header |cpp| |@:headerCode |Code to be injected into the generated header file |cpp| |@:headerNamespaceCode | |cpp| |@:hxGen |Annotates that an extern class was generated by Haxe |cs java| |@:ifFeature (Feature name) |Causes a field to be kept by DCE if the given feature is part of the compilation |all| |@:include || cpp| |@:initPackage || all| |@:internal |Generates the annotated field/class with internal access |cs java| |@:isVar |Forces a physical field to be generated for properties that otherwise would not require one |all| |@:javaCanonical (Output type package,Output type name) |Used by the Java target to annotate the canonical path of the type |java| |@:jsRequire |Generate javascript module require expression for given extern |js| |@:keep |Causes a field or type to be kept by DCE |all| |@:keepInit |Causes a class to be kept by DCE even if all its field are removed |all| |@:keepSub |Extends @:keep metadata to all implementing and extending classes |all| |@:macro |(deprecated)| all| |@:mergeBlock |Merge the annotated block into the current scope |all| |@:meta |Internally used to mark a class field as being the metadata field |all| |@:multiType (Relevant type parameters) |Specifies that an abstract chooses its this-type from its @:to functions |all| |@:native (Output type path) |Rewrites the path of a class or enum during generation |all| |@:nativeChildren |Annotates that all children from a type should be treated as if it were an extern definition - platform native |cs java| |@:nativeGen |Annotates that a type should be treated as if it were an extern definition - platform native |cs java| |@:nativeProperty |Use native properties which will execute even with dynamic usage |cpp| |@:noCompletion |Prevents the compiler from suggesting completion on this field |all| |@:noDebug |Does not generate debug information into the Swf even if -debug is set |flash| |@:noDoc |Prevents a type from being included in documentation generation |all| |@:noImportGlobal |Prevents a static field from being imported with import Class.* |all| |@:noPrivateAccess |Disallow private access to anything for the annotated expression |all| |@:noStack || cpp| |@:noUsing |Prevents a field from being used with using |all| |@:nonVirtual |Declares function to be non-virtual |cpp| |@:notNull |Declares an abstract type as not accepting null values |all| |@:ns |Internally used by the Swf generator to handle namespaces |flash| |@:op (The operation) |Declares an abstract field as being an operator overload |all| |@:optional |Marks the field of a structure as optional. See Optional Arguments |all| |@:overload (Function specification) |Allows the field to be called with different argument types. Function specification cannot be an expression |all| |@:privateAccess |Allow private access to anything for the annotated expression |all| |@:property |Marks a property field to be compiled as a native C# property |cs| |@:protected |Marks a class field as being protected |all| |@:public |Marks a class field as being public |all| |@:publicFields |Forces all class fields of inheriting classes to be public |all| |@:pythonImport |Generates python import statement for extern classes |python| |@:readOnly |Generates a field with the readonly native keyword |cs| |@:remove |Causes an interface to be removed from all implementing classes before generation |all| |@:require (Compiler flag to check) |Allows access to a field only if the specified compiler flag is set |all| |@:rtti |Adds runtime type informations. See RTTI |all| |@:runtime || all| |@:runtimeValue |Marks an abstract as being a runtime value |all| |@:selfCall |Translates method calls into calling object directly |js| |@:setter (Class field name) |Generates a native setter function on the given field |flash| |@:sound (File path) |Includes a given .wav or .mp3 file into the target Swf and associates it with the class (must extend flash.media.Sound) |flash| |@:sourceFile |Source code filename for external class |cpp| |@:strict |Used to declare a native C# attribute or a native Java metadata. Is type checked |cs java| |@:struct |Marks a class definition as a struct |cs| |@:structAccess |Marks an extern class as using struct access('.') not pointer('->') |cpp| |@:suppressWarnings |Adds a SuppressWarnings annotation for the generated Java class |java| |@:throws (Type as String) |Adds a throws declaration to the generated function |java| |@:to |Specifies that the field of the abstract is a cast operation to the type identified in the function. See Implicit Casts |all| |@:transient |Adds the transient flag to the class field |java| |@:unbound |Compiler internal to denote unbounded global variable |all| |@:unifyMinDynamic |Allows a collection of types to unify to Dynamic |all| |@:unreflective || cpp| |@:unsafe |Declares a class or a method with the C#'s unsafe flag |cs| |@:usage || all| |@:value |Used to store default values for fields and function arguments |all| |@:void |Use Cpp native 'void' return type |cpp| |@:volatile || cs java|