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);
        }
Exemple #2
0
 public static void Add <T>(ClassMap <T> map)
 {
     _maps.Add(typeof(T), map);
 }