Added support for defining non-virtual methods in map.xml.

This commit is contained in:
jfrijters 2008-02-09 17:38:41 +00:00
Родитель c5ca5009ae
Коммит 74b3ed1921
1 изменённых файлов: 14 добавлений и 5 удалений

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

@ -432,6 +432,14 @@ namespace IKVM.Internal
}
}
else if(!isConstructor)
{
// NOTE we're abusing the MethodAttributes.NewSlot and Modifiers.Final combination to mean non-virtual
if((modifiers & Modifiers.Final) != 0 && (attribs & MethodAttributes.NewSlot) != 0 && (attribs & MethodAttributes.Virtual) == 0)
{
// remove NewSlot, because it doesn't make sense on a non-virtual method
attribs &= ~MethodAttributes.NewSlot;
}
else
{
attribs |= MethodAttributes.Virtual;
if((modifiers & Modifiers.Final) != 0)
@ -443,6 +451,7 @@ namespace IKVM.Internal
attribs |= MethodAttributes.Abstract;
}
}
}
if((modifiers & Modifiers.Synchronized) != 0)
{
throw new NotImplementedException();