getValue method

  1. @override
dynamic getValue()
override

读取对象的原生数据值

Implementation

@override
dynamic getValue() {
  final target = _valueData;
  if (target is VmValue) {
    return target.getValue();
  } else {
    if (metaType == VmMetaType.externalSuper) {
      final targeLayzer = target() as VmLazyer;
      return targeLayzer.getValue(); //读取超类值
    } else if (metaType == VmMetaType.internalValue) {
      return target; //VmSuper值
    } else if (metaType == VmMetaType.internalApply) {
      if (metaData.isGetter) return VmObject.readValue(runFunction(null, null));
      return target; //函数模板值
    } else {
      return target; //数据原生值
    }
  }
}