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();
}
}