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

TranslateToCreateTypeCall() private method

private TranslateToCreateTypeCall ( ) : void
return void
      private void TranslateToCreateTypeCall(){
        if (this.cookedType != null) return;
        if (this is EnumDeclaration){
          EnumBuilder eb = this.classob.classwriter as EnumBuilder;
          if (eb != null)
            this.cookedType = eb.CreateType();
          else
            this.cookedType =((TypeBuilder)this.classob.classwriter).CreateType();
          return;
        }
        if (this.superClass != null)
          this.superClass.TranslateToCreateTypeCall();
        AppDomain currentDomain = System.Threading.Thread.GetDomain();
        ResolveEventHandler resolveHandler = new ResolveEventHandler(this.ResolveEnum);
        currentDomain.TypeResolve += resolveHandler;
        this.cookedType = ((TypeBuilder)this.classob.classwriter).CreateType();
        currentDomain.TypeResolve -= resolveHandler;
        foreach (JSMemberField field in this.fields){
          ClassScope csc = field.value as ClassScope;
          if (csc == null) continue;
          csc.owner.TranslateToCreateTypeCall();
        }
      }