- Changed name of workaround base class to make it easier to spot them.

- Added EditorBrowsable(Never) to prevent the workaround base class from showing up in intellisense.
This commit is contained in:
jfrijters 2009-05-17 05:56:37 +00:00
Родитель fccc39b788
Коммит d22c138c8a
1 изменённых файлов: 3 добавлений и 2 удалений

Просмотреть файл

@ -80,13 +80,14 @@ namespace IKVM.Internal
} }
if (methods != null) if (methods != null)
{ {
string name = "__" + Name + "__WorkaroundBaseClass"; string name = "__WorkaroundBaseClass__." + Name;
while (!classLoader.GetTypeWrapperFactory().ReserveName(name)) while (!classLoader.GetTypeWrapperFactory().ReserveName(name))
{ {
name += "_"; name = "_" + name;
} }
TypeBuilder typeBuilder = classLoader.GetTypeWrapperFactory().ModuleBuilder.DefineType(name, TypeAttributes.Public | TypeAttributes.Abstract, base.GetBaseTypeForDefineType()); TypeBuilder typeBuilder = classLoader.GetTypeWrapperFactory().ModuleBuilder.DefineType(name, TypeAttributes.Public | TypeAttributes.Abstract, base.GetBaseTypeForDefineType());
AttributeHelper.HideFromJava(typeBuilder); AttributeHelper.HideFromJava(typeBuilder);
AttributeHelper.SetEditorBrowsableNever(typeBuilder);
workaroundBaseClass = new WorkaroundBaseClass(typeBuilder, methods.ToArray()); workaroundBaseClass = new WorkaroundBaseClass(typeBuilder, methods.ToArray());
List<MethodWrapper> constructors = new List<MethodWrapper>(); List<MethodWrapper> constructors = new List<MethodWrapper>();
foreach (MethodWrapper mw in baseTypeWrapper.GetMethods()) foreach (MethodWrapper mw in baseTypeWrapper.GetMethods())