Interface constructor

Interface(
  1. String interfaceName,
  2. List<String> genericExtends,
  3. List<String> genericName,
  4. List<NameType> fields, [
  5. bool isExplicitSubType = false,
  6. bool isSealed = false,
  7. bool hidePublicConstructor = false,
])

Implementation

Interface(
  this.interfaceName,
  List<String> genericExtends,
  List<String> genericName,
  this.fields, [
  this.isExplicitSubType = false,
  this.isSealed = false,
  this.hidePublicConstructor = false,
]) : assert(
       genericExtends.length == genericName.length,
       "typeArgs must have same length as typeParams",
     ),
     typeParams = genericName
         .mapIndexed((i, x) => NameType(x, genericExtends[i]))
         .toList() {}