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

Class() private method

private Class ( Context context, AST id, TypeExpression superTypeExpression, TypeExpression interfaces, Block body, FieldAttributes attributes, bool isAbstract, bool isFinal, bool isStatic, bool isInterface, CustomAttributeList customAttributes ) : Microsoft.JScript.Vsa
context Context
id AST
superTypeExpression TypeExpression
interfaces TypeExpression
body Block
attributes FieldAttributes
isAbstract bool
isFinal bool
isStatic bool
isInterface bool
customAttributes CustomAttributeList
return Microsoft.JScript.Vsa
      internal Class(Context context, AST id, TypeExpression superTypeExpression, TypeExpression[] interfaces, Block body, 
        FieldAttributes attributes, bool isAbstract, bool isFinal, bool isStatic, bool isInterface, CustomAttributeList customAttributes)
        : base(context) {
        this.name = id.ToString();
        this.superTypeExpression = superTypeExpression;
        this.interfaces = interfaces;
        this.body = body;
        this.enclosingScope = (ScriptObject)Globals.ScopeStack.Peek(1);
        this.attributes = TypeAttributes.Class|TypeAttributes.Serializable;
        this.SetAccessibility(attributes);
        if (isAbstract)
          this.attributes |= TypeAttributes.Abstract;
        this.isAbstract = isAbstract || isInterface;
        this.isAlreadyPartiallyEvaluated = false;
        if (isFinal)
          this.attributes |= TypeAttributes.Sealed;
        if (isInterface)
          this.attributes |= TypeAttributes.Interface | TypeAttributes.Abstract;
        this.isCooked = false;
        this.cookedType = null;
        this.isExpando = false;
        this.isInterface = isInterface;
        this.isStatic = isStatic;
        this.needsEngine = !isInterface;
        this.validOn = (AttributeTargets)0;
        this.allowMultiple = true;
        this.classob = (ClassScope)Globals.ScopeStack.Peek();
        this.classob.name = this.name;
        this.classob.owner = this;
        this.implicitDefaultConstructor = null;
        if (!isInterface && !(this is EnumDeclaration))
          this.SetupConstructors();
        this.EnterNameIntoEnclosingScopeAndGetOwnField(id, isStatic);
        this.fields = this.classob.GetMemberFields();
        this.superClass = null;
        this.superIR = null;
        this.superMembers = null;
        this.firstIndex = null;
        this.fieldInitializer = null;
        this.customAttributes = customAttributes;
        this.clsCompliance = CLSComplianceSpec.NotAttributed;
        this.generateCodeForExpando = false;
        this.expandoItemProp = null;
        this.getHashTableMethod = null;
        this.getItem = null;
        this.setItem = null;
      }