scala.scalanative.annotation

Type members

Classlikes

final class align(size: Int, group: String) extends StaticAnnotation

Allows to align field or class layout to expected size reflected in number of bytes. Can be aliased as Contended for cross-compiling with the JVM.

Allows to align field or class layout to expected size reflected in number of bytes. Can be aliased as Contended for cross-compiling with the JVM.

Value parameters:
group

Optional tag allowing to put multiple fields in the same aligned memory area

size

Size of the alignment represented in number of bytes

final class alwaysinline extends StaticAnnotation

Always inline a method, even in debug mode.

Always inline a method, even in debug mode.

final class nooptimize extends StaticAnnotation

Don't optimize annotated method at all.

Don't optimize annotated method at all.

This annotation implies noinline and nospecialize. In case any inline annotations are provided, nooptimize wins over them (i.e. inline nooptimize is the same as nooptimize).

final class nospecialize extends StaticAnnotation

Don't specialize annotated method.

Don't specialize annotated method.

final class safePublish extends StaticAnnotation

Follow the Java Memory Model and its final fields semantics when initializing and reading final fields.

Follow the Java Memory Model and its final fields semantics when initializing and reading final fields.

The compiler would ensure that final field would be reachable in fully innitialized state by other reads, by introducing synchronization primitives on each it's access. Applies only to type immutable field mebers (vals)

Can be used either on single field or whole type if all of it's fields should be safetly published.

final class stub extends StaticAnnotation

An annotation that is used to indicate that a given method is provided as a stub, but is not currently supported. These methods are not discovered by the linker by default, but will be discovered only if a special flag is

An annotation that is used to indicate that a given method is provided as a stub, but is not currently supported. These methods are not discovered by the linker by default, but will be discovered only if a special flag is