listInnerType property

ListInner? listInnerType

Implementation

ListInner? get listInnerType {
  if (listType == null) {
    return null;
  }

  ListInner findInner(ValueDef def) {
    if (def.type == ClassType.tListDynamic) {
      if (def.listType == ClassType.tDynamic) {
        return ListInner(
          type: ClassType.tDynamic,
          oriType: ClassType.tDynamic,
          className: ClassType.tDynamic.value,
        );
      } else {
        return findInner((def.childrenDef as List<ValueDef>).first);
      }
    } else if (def.type == ClassType.tObject) {
      var customObject = findCustomObject(def)!;
      return ListInner(
        type: def.type,
        oriType: def.type,
        className: customObject.classNameFull,
      );
    } else {
      return ListInner(
        type: def.type,
        oriType: ClassType.getType(def.value),
        className: def.type.value,
      );
    }
  }

  return findInner(this);
}