Beispiel #1
0
        internal ObjectData TryDereferenceAnyMany(Language.Environment env)
        {
            ObjectData self = this;

            while (env.IsPointerLikeOfType(self.RunTimeTypeInstance))
            {
                self = self.DereferencedOnce();
            }
            return(self);
        }
Beispiel #2
0
 internal bool TryDereferenceAnyOnce(Language.Environment env, out ObjectData dereferenced)
 {
     if (env.IsPointerLikeOfType(this.RunTimeTypeInstance))
     {
         dereferenced = this.DereferencedOnce();
         return(true);
     }
     else
     {
         dereferenced = null;
         return(false);
     }
 }
Beispiel #3
0
        internal ObjectData TryDereferenceAnyMany(Language.Environment env, int count)
        {
            ObjectData self = this;

            for (int i = 0; i < count; ++i)
            {
                if (!env.IsPointerLikeOfType(self.RunTimeTypeInstance))
                {
                    break;
                }
                else
                {
                    self = self.DereferencedOnce();
                }
            }
            return(self);
        }