Dart Documentationangular.core.parserGetterSetter

GetterSetter class

class GetterSetter {
 static stripTrailingNulls(List l) {
   while (l.length > 0 && l.last == null) {
     l.removeLast();
   }
   return l;
 }

 _maybeInvoke(instanceMirror, symbol) {
   if (instanceMirror.type.members.containsKey(symbol)) {
     MethodMirror methodMirror = instanceMirror.type.members[symbol];
     return relaxFnArgs(([a0, a1, a2, a3, a4, a5]) {
       var args = stripTrailingNulls([a0, a1, a2, a3, a4, a5]);
       return instanceMirror.invoke(symbol, args).reflectee;
     });
   }
   return null;
 }
 Function getter(String key) {
   var symbol = new Symbol(key);
   return (o) {
     InstanceMirror instanceMirror = reflect(o);
     try {
       return instanceMirror.getField(symbol).reflectee;
     } on NoSuchMethodError catch (e) {
       var invokeClosure = _maybeInvoke(instanceMirror, symbol);
       if (invokeClosure == null) {
         rethrow;
       }
       return invokeClosure;
     } on UnsupportedError catch (e) {
       var invokeClosure = _maybeInvoke(instanceMirror, symbol);
       if (invokeClosure == null) {
         rethrow;
       }
       return invokeClosure;
     }
   };
 }

 Function setter(String key) {
   var symbol = new Symbol(key);
   return (o, v) {
     reflect(o).setField(symbol, v);
     return v;
   };
 }
}

Static Methods

dynamic stripTrailingNulls(List l) #

static stripTrailingNulls(List l) {
 while (l.length > 0 && l.last == null) {
   l.removeLast();
 }
 return l;
}

Methods

Function getter(String key) #

Function getter(String key) {
 var symbol = new Symbol(key);
 return (o) {
   InstanceMirror instanceMirror = reflect(o);
   try {
     return instanceMirror.getField(symbol).reflectee;
   } on NoSuchMethodError catch (e) {
     var invokeClosure = _maybeInvoke(instanceMirror, symbol);
     if (invokeClosure == null) {
       rethrow;
     }
     return invokeClosure;
   } on UnsupportedError catch (e) {
     var invokeClosure = _maybeInvoke(instanceMirror, symbol);
     if (invokeClosure == null) {
       rethrow;
     }
     return invokeClosure;
   }
 };
}

Function setter(String key) #

Function setter(String key) {
 var symbol = new Symbol(key);
 return (o, v) {
   reflect(o).setField(symbol, v);
   return v;
 };
}