Beispiel #1
0
        public static void EmitStorm(ILGenerator il, ZLPropertyInfo memberCompiling)
        {
            var        property  = memberCompiling.SharpProperty;
            MethodInfo setMethod = property.GetSetMethod();

            EmitHelper.CallDynamic(il, setMethod);
        }
Beispiel #2
0
        public static void EmitLoad(ILGenerator il, ZLPropertyInfo property)
        {
            var        ppi       = property.SharpProperty;
            MethodInfo getMethod = ppi.GetGetMethod();

            EmitHelper.CallDynamic(il, getMethod);
        }
Beispiel #3
0
 public override Exp Analy()
 {
     if (this.IsAnalyed)
     {
         return(this);
     }
     VarName   = VarToken.Text;
     ZProperty = SearchZMember(VarName);
     RetType   = ZProperty.ZPropertyType;
     IsAnalyed = true;
     return(this);
 }
Beispiel #4
0
        public bool IsSuperProperty(string name)
        {
            ZLClassInfo zbase = this.ClassContext.GetSuperZType();

            if (zbase == null)
            {
                return(false);
            }
            ZLPropertyInfo zmember = zbase.SearchProperty(name);

            return(zmember != null);
        }
Beispiel #5
0
        public override Exp Analy()
        {
            if (this.IsAnalyed)
            {
                return(this);
            }
            if (this.ExpContext == null)
            {
                throw new CCException();
            }
            VarName = VarToken.Text;
            ZLClassInfo zbase = this.ClassContext.GetSuperZType();

            ZMember = zbase.SearchProperty(VarName);
            if (ZMember == null)
            {
                throw new CCException();
            }
            RetType   = ZMember.ZPropertyType;
            IsAnalyed = true;
            return(this);
        }