computeProperty method

TypeProperty computeProperty(
  1. TypeDescriptor typeDescriptor,
  2. String path
)

Implementation

TypeProperty computeProperty(TypeDescriptor typeDescriptor, String path) {
  TypeProperty? result = properties[path];
  TypeProperty? parent = rootProperty;

  if ( result == null) {
    String attribute = path;
    var lastDot = path.lastIndexOf(".");

    if (lastDot >= 0) {
      var parentPath = path.substring(0, lastDot);

      parent = computeProperty(typeDescriptor, parentPath);

      typeDescriptor = (parent.field!.type as ObjectType).typeDescriptor;

      attribute = path.substring(lastDot + 1);
    } // if

    var field = typeDescriptor.getField(attribute);

    result = TypeProperty(field: field, path: path, parent: parent, twoWay: twoWay);

    properties[path] = result;
  } // if

  return result;
}