Diagnostic / error codes
Codes are stable; never renumber. Each diagnostic carries code, severity (info|warning|error), symbolId (when applicable) and message.
| Code | Name | Meaning | Typical action |
|---|---|---|---|
| E001 | SDK_NOT_FOUND | No SDK / platform / required file at the configured or default locations | Install the platform via SDK Manager or set ANDROID_HOME; doctor shows what was searched |
| E002 | UNSUPPORTED_TYPE | A type cannot be represented in the target language (e.g. synthetic/bridge member, unsupported construct) | Symbol is skipped with this reason |
| E003 | UNSUPPORTED_GENERIC | Generic construct erased or not representable exactly | Bound/erasure used; documented in generated doc |
| E004 | UNSUPPORTED_CALLBACK | Interface cannot be implemented from Dart (e.g. non-interface abstract class) | No implement factory generated |
| E005 | PRIVATE_API | Apple private API detected | Never generated |
| E006 | NON_SDK_API | Android symbol not part of the public SDK API list (hidden/non-SDK) | Never generated |
| E007 | LICENSE_REVIEW_REQUIRED | Licensing of an input/output cannot be classified confidently | Human review |
| E008 | INVALID_AST | Malformed input (class file, signature, XML, IR JSON, header) | Input skipped, generation continues |
| E009 | GENERATION_FAILURE | Emitter could not produce valid code for a symbol | Symbol skipped |
| E010 | RUNTIME_BINDING_FAILURE | Runtime could not bind (class/method not found on device) | Thrown by runtime |
| E011 | ABI_MISMATCH | Native ABI/type width mismatch | Symbol skipped |
| E012 | AVAILABILITY_MISMATCH | API newer than the device / minApi |
Guard throws NativeApiUnavailableException |
| E013 | THREADING_CONSTRAINT | API annotated with a thread requirement (Android @MainThread, @UiThread, @WorkerThread; Apple NS_SWIFT_UI_ACTOR main actor) |
Documented on the generated member; Flutter iOS checks main-actor calls in debug builds (NativeThreadingError); React Native iOS dispatches them to the main thread |
| E014 | DOCUMENTATION_UNAVAILABLE | No documentation reference could be derived | Informational |
| E015 | NOT_IMPLEMENTED | Requested target/platform is not implemented in this version (no current command returns it; kept stable for future targets) | Tracked limitation (see roadmap) |
| E016 | OUTSIDE_CLOSURE | Referenced type not in the generation closure; mapped to opaque JObject |
Add it via --entry/include |
| E017 | UNSAFE_PATH | Output path escapes the output directory | Generation aborted |
| E018 | CONFIG_INVALID | Configuration file invalid | Fix configuration |
Source:
docs/error-codes.md