#if !NET_4_0
delegate int GetILOffsetFunc (ILGenerator ig);
GetILOffsetFunc get_il_offset_func;
-#endif
- delegate Guid GetGuidFunc (ModuleBuilder mb);
+ delegate Guid GetGuidFunc (ModuleBuilder mb);
GetGuidFunc get_guid_func;
+#endif
ModuleBuilder module_builder;
public void WriteSymbolFile ()
{
- Guid guid = get_guid_func (module_builder);
+ Guid guid;
+#if NET_4_0
+ guid = module_builder.ModuleVersionId;
+#else
+ guid = get_guid_func (module_builder);
+#endif
WriteSymbolFile (guid);
}
public bool Initialize ()
{
- MethodInfo mi;
#if !NET_4_0
+ MethodInfo mi;
+
mi = typeof (ILGenerator).GetMethod (
"Mono_GetCurrentOffset",
BindingFlags.Static | BindingFlags.NonPublic);
get_il_offset_func = (GetILOffsetFunc) System.Delegate.CreateDelegate (
typeof (GetILOffsetFunc), mi);
-#endif
mi = typeof (ModuleBuilder).GetMethod (
"Mono_GetGuid",
get_guid_func = (GetGuidFunc) System.Delegate.CreateDelegate (
typeof (GetGuidFunc), mi);
+#endif
Location.DefineSymbolDocuments (this);
-
return true;
}
}
symwriter.DefineCapturedScope (scope_id, id, captured_name);
}
- public static void OpenCompilerGeneratedBlock (ILGenerator ig)
+ public static void OpenCompilerGeneratedBlock (EmitContext ec)
{
if (symwriter != null) {
- int offset = symwriter.GetILOffset (ig);
+ int offset = symwriter.GetILOffset (ec.ig);
symwriter.OpenCompilerGeneratedBlock (offset);
}
}
- public static void CloseCompilerGeneratedBlock (ILGenerator ig)
+ public static void CloseCompilerGeneratedBlock (EmitContext ec)
{
if (symwriter != null) {
- int offset = symwriter.GetILOffset (ig);
+ int offset = symwriter.GetILOffset (ec.ig);
symwriter.CloseCompilerGeneratedBlock (offset);
}
}
- public static void StartIteratorBody (ILGenerator ig)
+ public static void StartIteratorBody (EmitContext ec)
{
if (symwriter != null) {
- int offset = symwriter.GetILOffset (ig);
+ int offset = symwriter.GetILOffset (ec.ig);
symwriter.StartIteratorBody (offset);
}
}
- public static void EndIteratorBody (ILGenerator ig)
+ public static void EndIteratorBody (EmitContext ec)
{
if (symwriter != null) {
- int offset = symwriter.GetILOffset (ig);
+ int offset = symwriter.GetILOffset (ec.ig);
symwriter.EndIteratorBody (offset);
}
}
- public static void StartIteratorDispatcher (ILGenerator ig)
+ public static void StartIteratorDispatcher (EmitContext ec)
{
if (symwriter != null) {
- int offset = symwriter.GetILOffset (ig);
+ int offset = symwriter.GetILOffset (ec.ig);
symwriter.StartIteratorDispatcher (offset);
}
}
- public static void EndIteratorDispatcher (ILGenerator ig)
+ public static void EndIteratorDispatcher (EmitContext ec)
{
if (symwriter != null) {
- int offset = symwriter.GetILOffset (ig);
+ int offset = symwriter.GetILOffset (ec.ig);
symwriter.EndIteratorDispatcher (offset);
}
}