hasProxy method

bool hasProxy(
  1. String propertyName, {
  2. required bool setter,
})

检查指定字段的代理是否存在,逻辑与getProxy一样,只是用false代替异常的抛出,用于 xxx?.xxx 的调用

Implementation

bool hasProxy(String propertyName, {required bool setter}) {
  if (setter) {
    final setterPropName = '$propertyName=';
    final proxy = isExternal ? (externalProxyMap?[setterPropName] ?? externalProxyMap?[propertyName]) : (internalProxyMap?[setterPropName] ?? internalProxyMap?[propertyName]);
    if (proxy != null) return true;
    if (_internalSuperclass != null) return _internalSuperclass!.hasProxy(propertyName, setter: setter);
    return false;
  } else {
    final proxy = isExternal ? (externalProxyMap?[propertyName]) : (internalProxyMap?[propertyName]);
    if (proxy != null) return true;
    if (_internalSuperclass != null) return _internalSuperclass!.hasProxy(propertyName, setter: setter);
    return false;
  }
}