blob: 29cc477df54071c89526717ffb546c9c6df8443d [file] [log] [blame]
// 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 -}}
`