native icon indicating copy to clipboard operation
native copied to clipboard

WIP: [ffigen] Create AST and Transformer classes

Open liamappelbe opened this issue 1 year ago • 1 comments

TODO: I had to remove final from some fields. It'd be better to make them private, and expose a getter. That way they'd effectively be publicly final.

https://github.com/dart-lang/native/issues/1259

liamappelbe avatar Oct 09 '24 06:10 liamappelbe

PR Health

Coverage :warning:
File Coverage
pkgs/ffigen/example/libclang-example/generated_bindings.dart :broken_heart: Not covered
pkgs/ffigen/example/objective_c/avf_audio_bindings.dart :broken_heart: Not covered
pkgs/ffigen/example/swift/swift_api_bindings.dart :broken_heart: Not covered
pkgs/ffigen/lib/src/code_generator/binding.dart :broken_heart: Not covered
pkgs/ffigen/lib/src/code_generator/compound.dart :broken_heart: Not covered
pkgs/ffigen/lib/src/code_generator/constant.dart :broken_heart: Not covered
pkgs/ffigen/lib/src/code_generator/enum_class.dart :broken_heart: Not covered
pkgs/ffigen/lib/src/code_generator/func.dart :broken_heart: Not covered
pkgs/ffigen/lib/src/code_generator/func_type.dart :broken_heart: Not covered
pkgs/ffigen/lib/src/code_generator/global.dart :broken_heart: Not covered
pkgs/ffigen/lib/src/code_generator/imports.dart :broken_heart: Not covered
pkgs/ffigen/lib/src/code_generator/library.dart :broken_heart: Not covered
pkgs/ffigen/lib/src/code_generator/objc_block.dart :broken_heart: Not covered
pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart :broken_heart: Not covered
pkgs/ffigen/lib/src/code_generator/objc_interface.dart :broken_heart: Not covered
pkgs/ffigen/lib/src/code_generator/objc_methods.dart :broken_heart: Not covered
pkgs/ffigen/lib/src/code_generator/objc_nullable.dart :broken_heart: Not covered
pkgs/ffigen/lib/src/code_generator/objc_protocol.dart :broken_heart: Not covered
pkgs/ffigen/lib/src/code_generator/pointer.dart :broken_heart: Not covered
pkgs/ffigen/lib/src/code_generator/type.dart :broken_heart: Not covered
pkgs/ffigen/lib/src/code_generator/typealias.dart :broken_heart: Not covered
pkgs/ffigen/lib/src/header_parser/sub_parsers/compounddecl_parser.dart :broken_heart: Not covered
pkgs/ffigen/lib/src/header_parser/sub_parsers/objcinterfacedecl_parser.dart :broken_heart: Not covered
pkgs/ffigen/lib/src/visitor/ast.dart :broken_heart: Not covered
pkgs/ffigen/lib/src/visitor/copy_methods_from_super_type.dart :broken_heart: Not covered
pkgs/ffigen/lib/src/visitor/fill_method_dependencies.dart :broken_heart: Not covered
pkgs/ffigen/lib/src/visitor/fix_overridden_methods.dart :broken_heart: Not covered
pkgs/ffigen/lib/src/visitor/list_bindings.dart :broken_heart: Not covered
pkgs/ffigen/lib/src/visitor/visitor.dart :broken_heart: Not covered

This check for test coverage is informational (issues shown here will not fail the PR).

This check can be disabled by tagging the PR with skip-coverage-check.

License Headers :warning:
// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
Files
pkgs/ffigen/example/libclang-example/generated_bindings.dart
pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_dart_handle_bindings.dart
pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_native_func_typedef_bindings.dart
pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_opaque_dependencies_bindings.dart
pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_struct_fptr_fields_bindings.dart
pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_typedef_bindings.dart
pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_unions_bindings.dart
pkgs/ffigen/test/large_integration_tests/_expected_libclang_bindings.dart
pkgs/ffigen/test/large_integration_tests/_expected_sqlite_bindings.dart

All source files should start with a license header.

Unrelated files missing license headers
Files
pkgs/ffigen/example/shared_bindings/generate.dart
pkgs/ffigen/example/shared_bindings/lib/generated/a_gen.dart
pkgs/ffigen/example/shared_bindings/lib/generated/a_shared_b_gen.dart
pkgs/ffigen/example/shared_bindings/lib/generated/base_gen.dart
pkgs/ffigen/example/simple/generated_bindings.dart
pkgs/ffigen/lib/src/header_parser/clang_bindings/clang_bindings.dart
pkgs/ffigen/test/collision_tests/expected_bindings/_expected_decl_decl_collision_bindings.dart
pkgs/ffigen/test/collision_tests/expected_bindings/_expected_decl_symbol_address_collision_bindings.dart
pkgs/ffigen/test/collision_tests/expected_bindings/_expected_decl_type_name_collision_bindings.dart
pkgs/ffigen/test/collision_tests/expected_bindings/_expected_reserved_keyword_collision_bindings.dart
pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_comment_markup_bindings.dart
pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_enum_int_mimic_bindings.dart
pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_forward_decl_bindings.dart
pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_functions_bindings.dart
pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_imported_types_bindings.dart
pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_packed_structs_bindings.dart
pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_regress_384_bindings.dart
pkgs/ffigen/test/header_parser_tests/expected_bindings/_expected_varargs_bindings.dart
pkgs/ffigen/test/large_integration_tests/_expected_cjson_bindings.dart
pkgs/ffigen/test/native_test/_expected_native_test_bindings.dart
pkgs/jni/lib/src/third_party/generated_bindings.dart
pkgs/jni/lib/src/third_party/global_env_extensions.dart
pkgs/jni/lib/src/third_party/jni_bindings_generated.dart
pkgs/jnigen/android_test_runner/lib/main.dart
pkgs/jnigen/example/in_app_java/lib/android_utils.dart
pkgs/jnigen/example/kotlin_plugin/example/lib/main.dart
pkgs/jnigen/example/kotlin_plugin/lib/kotlin_bindings.dart
pkgs/jnigen/example/kotlin_plugin/lib/kotlin_plugin.dart
pkgs/jnigen/example/pdfbox_plugin/lib/pdfbox_plugin.dart
pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/pdmodel/PDDocument.dart
pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/pdmodel/PDDocumentInformation.dart
pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/pdmodel/_package.dart
pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/text/PDFTextStripper.dart
pkgs/jnigen/example/pdfbox_plugin/lib/src/third_party/org/apache/pdfbox/text/_package.dart
pkgs/jnigen/lib/src/bindings/descriptor.dart
pkgs/jnigen/lib/src/elements/elements.g.dart
pkgs/jnigen/test/jackson_core_test/third_party/bindings/com/fasterxml/jackson/core/_package.dart
pkgs/jnigen/tool/command_runner.dart
pkgs/native_assets_builder/test_data/native_dynamic_linking/bin/native_dynamic_linking.dart
pkgs/objective_c/lib/src/ns_input_stream.dart
pkgs/swift2objc/lib/src/config.dart
pkgs/swift2objc/lib/src/generate_wrapper.dart
pkgs/swift2objc/lib/src/generator/_core/utils.dart
pkgs/swift2objc/lib/src/generator/generator.dart
pkgs/swift2objc/lib/src/generator/generators/class_generator.dart
pkgs/swift2objc/lib/src/parser/parsers/declaration_parsers/parse_initializer_declaration.dart
pkgs/swift2objc/lib/src/parser/parsers/declaration_parsers/parse_variable_declaration.dart
pkgs/swift2objc/lib/src/transformer/_core/unique_namer.dart
pkgs/swift2objc/lib/src/transformer/_core/utils.dart
pkgs/swift2objc/lib/src/transformer/transformers/transform_globals.dart
pkgs/swift2objc/lib/src/transformer/transformers/transform_variable.dart
pkgs/swift2objc/test/unit/parse_initializer_param_test.dart

This check can be disabled by tagging the PR with skip-license-check.

github-actions[bot] avatar Oct 09 '24 06:10 github-actions[bot]

Coverage Status

coverage: 91.126% (+0.8%) from 90.305% when pulling 59b0b67f98d2a48a54e39ae5ce45570ec79d10a2 on ffigenast into c638d9f01cd7f610d0e74308346c3380dfa4bb86 on main.

coveralls avatar Oct 16 '24 02:10 coveralls