meta_expression 0.2.1 meta_expression: ^0.2.1 copied to clipboard
A meta-expression is one of a kind of (code generator-based) macros.
We analyzed this package 7 days ago, and awarded it 70 pub points (of a possible 160):
10/10 points: Provide a valid pubspec.yaml
5/5 points: Provide a valid README.md
5/5 points: Provide a valid CHANGELOG.md
10/10 points: Use an OSI-approved license
Detected license: BSD-3-Clause
.
0/10 points: 20% or more of the public API has dartdoc comments
1 out of 9 API elements (11.1 %) have documentation comments.
Providing good documentation for libraries, classes, functions, and other API elements improves code readability and helps developers find and use your API. Document at least 20% of the public API elements.
To highlight public API members missing documentation consider enabling the public_member_api_docs
lint.
Some symbols that are missing documentation: builder
, builder.MetaExpressionLibraryGenerator
, builder.MetaExpressionLibraryGenerator.MetaExpressionLibraryGenerator
, builder.metaExpression
, meta_expression_generator
.
0/10 points: Package has an example
No example found.
See package layout guidelines on how to add an example.
20/20 points: Supports 3 of 6 possible platforms (iOS, Android, Web, Windows, macOS, Linux)
-
✓ Windows
-
✓ Linux
-
✓ macOS
These platforms are not supported:
Package not compatible with platform Android
Because:
package:meta_expression/builder.dart
that imports:package:meta_expression/src/_internal/regular_library_builder.dart
that imports:package:meta_expression/src/_internal/library_transformer.dart
that imports:package:meta_expression/src/_internal/compilation_unit_transformer.dart
that imports:package:meta_expression/src/_internal/annotation_analyzer.dart
that imports:package:source_gen/source_gen.dart
that imports:package:source_gen/src/type_checker.dart
that imports:dart:mirrors
Package not compatible with platform iOS
Because:
package:meta_expression/builder.dart
that imports:package:meta_expression/src/_internal/regular_library_builder.dart
that imports:package:meta_expression/src/_internal/library_transformer.dart
that imports:package:meta_expression/src/_internal/compilation_unit_transformer.dart
that imports:package:meta_expression/src/_internal/annotation_analyzer.dart
that imports:package:source_gen/source_gen.dart
that imports:package:source_gen/src/type_checker.dart
that imports:dart:mirrors
Package not compatible with platform Web
Because:
package:meta_expression/builder.dart
that imports:package:meta_expression/src/_internal/remote_instance.dart
that imports:dart:isolate
0/0 points: WASM compatibility
Unable to detect compatibility with runtime wasm
, and this package will not be rewarded full points in a future version of the scoring model.
See https://dart.dev/web/wasm for details.
0/50 points: code has no errors, warnings, lints, or formatting issues
Found 10 issues. Showing the first 2:
ERROR: The method 'item2' can't be unconditionally invoked because the receiver can be 'null'.
lib/builder.dart:44:14
╷
44 │ instance.item2();
│ ^^^^^
╵
To reproduce make sure you are using the lints_core and run dart analyze lib/builder.dart
ERROR: The argument type 'CatchClauseParameter' can't be assigned to the parameter type 'SimpleIdentifier'.
lib/src/_internal/local_scope_analyzer.dart:38:23
╷
38 │ _addDeclaration(exceptionParameter);
│ ^^^^^^^^^^^^^^^^^^
╵
To reproduce make sure you are using the lints_core and run dart analyze lib/src/_internal/local_scope_analyzer.dart
10/10 points: All of the package dependencies are supported in the latest version
Package | Constraint | Compatible | Latest |
---|---|---|---|
_fe_analyzer_shared |
any |
73.0.0 | 76.0.0 |
analyzer |
any |
6.8.0 | 6.11.0 |
build |
any |
2.4.1 | 2.4.1 |
dart_style |
any |
2.3.7 | 2.3.7 |
logging |
any |
1.3.0 | 1.3.0 |
meta_expression_annotation |
^0.2.1 |
0.2.1 | 0.2.1 |
path |
any |
1.9.1 | 1.9.1 |
source_gen |
any |
1.5.0 | 1.5.0 |
source_helper |
any |
1.3.4 | 1.3.4 |
source_span |
any |
1.10.0 | 1.10.0 |
tuple |
any |
2.0.2 | 2.0.2 |
Transitive dependencies
Package | Constraint | Compatible | Latest |
---|---|---|---|
_macros |
- | 0.3.2 | 0.3.2 |
args |
- | 2.6.0 | 2.6.0 |
async |
- | 2.12.0 | 2.12.0 |
collection |
- | 1.19.1 | 1.19.1 |
convert |
- | 3.1.2 | 3.1.2 |
crypto |
- | 3.0.6 | 3.0.6 |
file |
- | 7.0.1 | 7.0.1 |
glob |
- | 2.1.2 | 2.1.2 |
macros |
- | 0.1.2-main.4 | 0.1.3-main.0 |
meta |
- | 1.16.0 | 1.16.0 |
package_config |
- | 2.1.0 | 2.1.0 |
pub_semver |
- | 2.1.4 | 2.1.4 |
string_scanner |
- | 1.4.0 | 1.4.0 |
term_glyph |
- | 1.2.1 | 1.2.1 |
typed_data |
- | 1.4.0 | 1.4.0 |
watcher |
- | 1.1.0 | 1.1.0 |
yaml |
- | 3.1.2 | 3.1.2 |
To reproduce run dart pub outdated --no-dev-dependencies --up-to-date --no-dependency-overrides
.
10/10 points: Package supports latest stable Dart and Flutter SDKs
0/20 points: Compatible with dependency constraint lower bounds
downgrade analysis failed failed with 14 errors:
UNCHECKED_USE_OF_NULLABLE_VALUE
-lib/builder.dart:44:14
- The method 'item2' can't be unconditionally invoked because the receiver can be 'null'.ARGUMENT_TYPE_NOT_ASSIGNABLE
-lib/builder.dart:236:18
- The argument type 'List<LibraryElement?>' can't be assigned to the parameter type 'ListUNCHECKED_USE_OF_NULLABLE_VALUE
-lib/src/_internal/library_transformer.dart:37:30
- A nullable expression can't be used as an iterator in a for-in loop.
Run dart pub downgrade
and then dart analyze
to reproduce the above problem.
You may run dart pub upgrade --tighten
to update your dependency constraints, see dart.dev/go/downgrade-testing for details.
Analyzed with Pana 0.22.15
, Dart 3.5.4
.
Check the analysis log for details.