Microsoft.JScript.Class.IsExpando C# (CSharp) Method

IsExpando() private method

private IsExpando ( ) : bool
return bool
      internal bool IsExpando(){
        if (this.hasAlreadyBeenAskedAboutExpando)
          return this.isExpando;
        if (this.customAttributes != null){
          this.customAttributes.PartiallyEvaluate();
          if (this.customAttributes.GetAttribute(Typeob.Expando) != null)
            this.generateCodeForExpando = this.isExpando = true;
        }
        bool superClassIsExpando = false;
        this.GetIRForSuperType();
        ClassScope csc = this.superIR as ClassScope;
        if (csc != null){
          csc.owner.PartiallyEvaluate();
          if (csc.owner.IsExpando())
            this.isExpando = superClassIsExpando = true;
        }else{
          if (CustomAttribute.IsDefined((Type)this.superIR, typeof(Expando), true))
            this.isExpando = superClassIsExpando = true;
        }
        this.hasAlreadyBeenAskedAboutExpando = true;
        if (this.generateCodeForExpando)
          this.CheckIfOKToGenerateCodeForExpando(superClassIsExpando);
        if (this.isExpando){
          this.classob.noExpando = false;
          return true;
        }
        return false;
      }