getStructureMetadataSourceArrayAliased function

String getStructureMetadataSourceArrayAliased(
  1. Element2 element,
  2. List<AliasImport> imports,
  3. StructurizeCounter counter
)

Implementation

String getStructureMetadataSourceArrayAliased(
    Element2 element, List<AliasImport> imports, StructurizeCounter counter) {
  var conditionChecker = TypeChecker.typeNamed(StructureMetadata);

  if (element is! Annotatable) {
    throw ArgumentError.value(element, "element", "Element is not Annotatable");
  }
  var annotatable = element as Annotatable;

  var annotations = <String>[];
  for (var value in annotatable.metadata2.annotations.whereTypeChecker(conditionChecker)) {
    var cszp = "$szPrefix${counter.getAndIncrement()}";
    var import = AliasImport.library((value.element2 as ConstructorElement2).library2, cszp);
    imports.add(import);
    annotations.add("$cszp.${value.toSource().substring(1)}");
  }
  return "[${annotations.join(", ")}]";
}