예제 #1
0
 public void Add(MemberAddInfo member)
 {
     if (!member.IsProperty)
     {
         Add(member.Name, member.Value.Proxy);
     }
     else
     {
         AddProperty(member);
     }
 }
예제 #2
0
        public virtual void AddProperty(MemberAddInfo member)
        {
            var desc = GetDescriptor(member.Name);

            VariableDef def = desc.Getter;

            if (def == null)
            {
                desc.Getter = def = new VariableDef();
            }

            FunctionValue func;

            if (member.Value is LazyPropertyFunctionValue)
            {
                func = member.Value as LazyPropertyFunctionValue;
            }
            else
            {
                func = new ReturningFunctionValue(ProjectEntry, member.Name, member.Value.Proxy);
            }
            def.AddTypes(ProjectState._builtinEntry, func.Proxy);
        }
 public override void AddProperty(MemberAddInfo member) {
     _immutableMembers.Add(member.Name);
     base.AddProperty(member);
 }
예제 #4
0
 public override void AddProperty(MemberAddInfo member)
 {
     _immutableMembers.Add(member.Name);
     base.AddProperty(member);
 }