Beispiel #1
0
        public override object Walk(ObjectLiteral node)
        {
            var bikeObject = new BikeObject(InterpretationContext.ObjectBase);

            foreach (var prop in node.Properties)
            {
                string name = prop.Key is Identifier
                                  ? ((Identifier)prop.Key).Value
                                  : ((PrimitiveLiteral)prop.Key).Value;
                var value = prop.Value.Accept(this);
                bikeObject.Assign(name, value);
                if (value is BikeFunction && ((BikeFunction)value).Name.Value == BikeFunction.Anonymous)
                {
                    ((BikeFunction)value).Name = new BikeString(name);
                }
            }
            return(bikeObject);
        }
Beispiel #2
0
 public override object Walk(ObjectLiteral node)
 {
     var bikeObject = new BikeObject(InterpretationContext.ObjectBase);
     foreach (var prop in node.Properties)
     {
         string name = prop.Key is Identifier
                           ? ((Identifier) prop.Key).Value
                           : ((PrimitiveLiteral) prop.Key).Value;
         var value = prop.Value.Accept(this);
         bikeObject.Assign(name, value);
         if (value is BikeFunction && ((BikeFunction)value).Name.Value == BikeFunction.Anonymous)
         {
             ((BikeFunction)value).Name = new BikeString(name);
         }
     }
     return bikeObject;
 }