value property

Object? get value

Gets the value of the late variable, initializing it if necessary

Implementation

Object? get value {
  if (!_isInitialized) {
    if (_initializer != null) {
      // Lazy initialization
      _value = _initializer();
      _isInitialized = true;
      Logger.debug(
          "[LateVariable] Lazy initialized '$_name' with value: $_value");
    } else {
      // Late variable without initializer accessed before assignment
      throw LateInitializationError(
          "LateInitializationError: Late variable '$_name' without initializer is accessed before being assigned.");
    }
  }
  return _value;
}
set value (Object? newValue)

Set the value

Implementation

set value(Object? newValue) {
  if (_isInitialized && _isFinal) {
    throw LateInitializationError(
        "LateInitializationError: Field '$_name' has already been initialized.");
  }
  _value = newValue;
  _isInitialized = true;
}