protected internal override VariableValue Lookup_(VariableValue owner, VariableValue lookup) { if (owner.HasList) { return(ListVariableHandler.LookupInList(owner, lookup)); } if (owner.HasStore) { return(StoreVariableHandler.LookupInStore(owner, lookup)); } if (lookup.HasString && owner.ReferenceType != null && ClassMap.Get(owner.ReferenceType, out var map)) { return(map.GetVariable(owner.Reference, lookup.String)); } // could fall back to reflection here and in Apply_ return(VariableValue.Empty); }
public static void Add <T>(ClassMap <T> map) { _maps.Add(typeof(T), map); }