| // Copyright 2018 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| package codegen |
| |
| const libraryTmpl = ` |
| {{- define "FileHeading"}} |
| // WARNING: This file is machine generated by fidlgen_dart. |
| // @dart = 2.12 |
| |
| {{ end -}} |
| |
| {{- define "GenerateAsyncFile" -}} |
| {{ template "FileHeading" }} |
| |
| library {{ .LibraryName }}_async; |
| |
| import 'dart:async' as $async; |
| import 'dart:core' hide Set; |
| import 'dart:developer'; |
| import 'dart:typed_data'; |
| |
| import 'package:fidl/fidl.dart' as $fidl; |
| import 'package:meta/meta.dart'; |
| import 'package:zircon/zircon.dart' as $zircon; |
| |
| {{ range .Imports -}} |
| import '{{ .AsyncURL }}' as {{ .LocalName }}; |
| {{ end -}} |
| |
| // ignore_for_file: always_specify_types |
| // ignore_for_file: avoid_positional_boolean_parameters |
| // ignore_for_file: avoid_returning_null |
| // ignore_for_file: cascade_invocations |
| // ignore_for_file: constant_identifier_names |
| // ignore_for_file: one_member_abstracts |
| // ignore_for_file: prefer_constructors_over_static_methods |
| // ignore_for_file: prefer_single_quotes |
| // ignore_for_file: public_member_api_docs |
| // ignore_for_file: unused_import |
| // ignore_for_file: unused_local_variable |
| // ignore_for_file: non_constant_identifier_names |
| // ignore_for_file: library_prefixes |
| // ignore_for_file: prefer_typing_uninitialized_variables |
| // ignore_for_file: avoid_js_rounded_ints |
| // ignore_for_file: unnecessary_parenthesis |
| // ignore_for_file: always_put_required_named_parameters_first |
| // ignore_for_file: prefer_generic_function_type_aliases |
| // ignore_for_file: prefer_equal_for_default_values |
| // ignore_for_file: avoid_catches_without_on_clauses |
| // ignore_for_file: unused_shown_name |
| // ignore_for_file: unnecessary_lambdas |
| // ignore_for_file: comment_references |
| // ignore_for_file: avoid_unused_constructor_parameters |
| // ignore_for_file: prefer_interpolation_to_compose_strings |
| |
| {{ range $const := .Consts -}} |
| {{ template "ConstDeclaration" $const }} |
| {{ end -}} |
| {{ range $enum := .Enums -}} |
| {{ template "EnumDeclaration" $enum }} |
| {{ end -}} |
| {{ range $bits := .Bits -}} |
| {{ template "BitsDeclaration" $bits }} |
| {{ end -}} |
| {{ range $union := .Unions -}} |
| {{ template "UnionDeclaration" $union }} |
| {{ end -}} |
| {{ range $struct := .Structs -}} |
| {{ template "StructDeclaration" $struct }} |
| {{ end -}} |
| {{ range $table := .Tables -}} |
| {{ template "TableDeclaration" $table }} |
| {{ end -}} |
| |
| // ignore: unused_element, avoid_private_typedef_functions |
| typedef _VoidCallback = void Function(); |
| |
| {{ range $interface := .Interfaces -}} |
| {{ template "InterfaceAsyncDeclaration" $interface }} |
| {{ end -}} |
| |
| {{- end -}} |
| |
| {{- define "GenerateTestFile" -}} |
| {{ template "FileHeading" }} |
| |
| library {{ .LibraryName }}_test; |
| |
| import 'dart:async' as $async; |
| import 'dart:core' hide Error, Future, Match, Set, Stream, Type; |
| import 'dart:typed_data'; |
| |
| import 'package:fidl/fidl.dart' as $fidl; |
| import 'package:meta/meta.dart'; |
| import 'package:zircon/zircon.dart' as $zircon; |
| |
| {{ range .Imports -}} |
| import '{{ .AsyncURL }}' as {{ .LocalName }}; |
| {{ end -}} |
| |
| import './fidl_async.dart'; |
| |
| // ignore_for_file: always_specify_types |
| // ignore_for_file: constant_identifier_names |
| // ignore_for_file: one_member_abstracts |
| // ignore_for_file: public_member_api_docs |
| // ignore_for_file: unused_import |
| // ignore_for_file: library_prefixes |
| // ignore_for_file: unused_shown_name |
| |
| {{ range $interface := .Interfaces -}} |
| {{ template "InterfaceTestDeclaration" $interface }} |
| {{ end -}} |
| |
| {{- end -}} |
| |
| ` |