@Retention(CLASS) @Target({TYPE})

public @interface Concrete

Indicates that a class has a known concrete implementation that ParparVM can target directly in native (C/Objective-C) pipelines.

When present, the translator may bypass virtual lookup when invoking methods on this type by preferring the concrete class provided in name(), and falling back to the annotated type implementation if the concrete class doesn’t implement the method.

Methods

public abstract String name()The fully-qualified class name of the concrete implementation to prefer during ParparVM native translation (the iOS pipeline, historically the only native target).
public abstract String win() default ""The fully-qualified class name of the concrete implementation to prefer when translating for the native Windows port.
public abstract String linux() default ""The fully-qualified class name of the concrete implementation to prefer when translating for the native Linux (GTK/Cairo) port.
public abstract String mac() default ""The fully-qualified class name of the concrete implementation to prefer when translating for the native macOS (AppKit) port.

Method details

name

public abstract String name()
The fully-qualified class name of the concrete implementation to prefer during ParparVM native translation (the iOS pipeline, historically the only native target).

win

public abstract String win() default ""
The fully-qualified class name of the concrete implementation to prefer when translating for the native Windows port. When empty (the default), the native Windows build falls back to the annotated (portable) base class rather than the iOS name() target – so a type that has no Windows specialization (e.g. a SIMD helper) translates to its software base instead of pulling in the absent iOS class.

linux

public abstract String linux() default ""
The fully-qualified class name of the concrete implementation to prefer when translating for the native Linux (GTK/Cairo) port. When empty (the default), the native Linux build falls back to the annotated (portable) base class rather than the iOS name() target – mirroring win() so a type with no Linux specialization translates to its software base instead of pulling in the absent iOS class.

mac

public abstract String mac() default ""

The fully-qualified class name of the concrete implementation to prefer when translating for the native macOS (AppKit) port. When empty (the default), the native macOS build falls back to the annotated (portable) base class – mirroring win() and linux().

Unlike those two, the macOS port shares the Apple native binding classes with the iOS port, so a type whose iOS specialization also compiles against the macOS SDK should name that same iOS class here rather than leave this empty. Leaving it empty silently degrades to the portable base, which is a green build with the specialization missing.