Пример #1
0
        public ClassBuilder(CompilerModule compilerModule, Module module, string name, Type baseType)
        {
            if ((module != null) && (module.Parent != null))
            {
                name = module.Namespace + "." + name;
            }

            if ((baseType != typeof(RuntimeObject)) && !baseType.IsSubclassOf(typeof(RuntimeObject)))
            {
                throw new Exception();
            }

            while (compilerModule.ModuleBuilder.GetType(name) != null)
            {
                name = "_" + name;
            }

            typeBuilder = compilerModule.ModuleBuilder.DefineType(
                name,
                TypeAttributes.Public,
                baseType);

            typeBuilder.DefineField("pattern", typeof(Pattern),
                                    FieldAttributes.Public | FieldAttributes.Static);
        }
Пример #2
0
 public ClassBuilder(CompilerModule compilerModule, Module module, string name, Type baseType)
 {
     if ((module != null) && (module.Parent != null))
         name = module.Namespace + "." + name;
     
     if ((baseType != typeof(RuntimeObject)) && !baseType.IsSubclassOf(typeof(RuntimeObject)))
         throw new Exception();
     
     while (compilerModule.ModuleBuilder.GetType(name) != null)
         name = "_" + name;
     
     typeBuilder = compilerModule.ModuleBuilder.DefineType(
         name,
         TypeAttributes.Public,
         baseType);
     
     typeBuilder.DefineField("pattern", typeof(Pattern),
         FieldAttributes.Public | FieldAttributes.Static);
 }