Remove ClassInitializer attributes.
* AssemblyInfo.cs.in: remove the ignore attr from the assemblies. * glib/ClassInitializerAttribute.cs: remove obsolete method target attr. * glib/IgnoreClassInitializersAttribute.cs: remove. * glib/Makefile.am: update sources and stop copying AssemblyInfo.cs around. * glib/Object.cs: remove the obsolete ClassInitializer fallback mechanism.
This commit is contained in:
parent
f125031297
commit
7cdaf34aa2
5 changed files with 5 additions and 83 deletions
|
@ -3,4 +3,3 @@ using System.Runtime.CompilerServices;
|
||||||
|
|
||||||
[assembly:AssemblyVersion("@API_VERSION@")]
|
[assembly:AssemblyVersion("@API_VERSION@")]
|
||||||
[assembly:AssemblyDelaySign(false)]
|
[assembly:AssemblyDelaySign(false)]
|
||||||
[assembly:GLib.IgnoreClassInitializers]
|
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
// ClassInitializerAttribute.cs
|
|
||||||
//
|
|
||||||
// Author: Mike Kestner <mkestner@novell.com>
|
|
||||||
//
|
|
||||||
// Copyright (c) 2004 Novell, Inc.
|
|
||||||
//
|
|
||||||
// This program is free software; you can redistribute it and/or
|
|
||||||
// modify it under the terms of version 2 of the Lesser GNU General
|
|
||||||
// Public License as published by the Free Software Foundation.
|
|
||||||
//
|
|
||||||
// This program is distributed in the hope that it will be useful,
|
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
// Lesser General Public License for more details.
|
|
||||||
//
|
|
||||||
// You should have received a copy of the GNU Lesser General Public
|
|
||||||
// License along with this program; if not, write to the
|
|
||||||
// Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
// Boston, MA 02111-1307, USA.
|
|
||||||
|
|
||||||
|
|
||||||
namespace GLib {
|
|
||||||
|
|
||||||
using System;
|
|
||||||
|
|
||||||
[Obsolete ("Replaced by TypeInitializerAttribute")]
|
|
||||||
public sealed class ClassInitializerAttribute : Attribute
|
|
||||||
{
|
|
||||||
public ClassInitializerAttribute () {}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,31 +0,0 @@
|
||||||
// IgnoreClassInitializersAttribute.cs
|
|
||||||
//
|
|
||||||
// Author: Mike Kestner <mkestner@novell.com>
|
|
||||||
//
|
|
||||||
// Copyright (c) 2007 Novell, Inc.
|
|
||||||
//
|
|
||||||
// This program is free software; you can redistribute it and/or
|
|
||||||
// modify it under the terms of version 2 of the Lesser GNU General
|
|
||||||
// Public License as published by the Free Software Foundation.
|
|
||||||
//
|
|
||||||
// This program is distributed in the hope that it will be useful,
|
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
// Lesser General Public License for more details.
|
|
||||||
//
|
|
||||||
// You should have received a copy of the GNU Lesser General Public
|
|
||||||
// License along with this program; if not, write to the
|
|
||||||
// Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
// Boston, MA 02111-1307, USA.
|
|
||||||
|
|
||||||
|
|
||||||
namespace GLib {
|
|
||||||
|
|
||||||
using System;
|
|
||||||
|
|
||||||
[AttributeUsage (AttributeTargets.Assembly)]
|
|
||||||
public sealed class IgnoreClassInitializersAttribute : Attribute
|
|
||||||
{
|
|
||||||
public IgnoreClassInitializersAttribute () {}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -10,7 +10,7 @@ pkgconfig_DATA = glib-sharp-3.0.pc
|
||||||
gapidir = $(datadir)/gapi-3.0
|
gapidir = $(datadir)/gapi-3.0
|
||||||
gapi_DATA = glib-api.xml
|
gapi_DATA = glib-api.xml
|
||||||
|
|
||||||
CLEANFILES = $(ASSEMBLY) $(ASSEMBLY).mdb AssemblyInfo.cs $(POLICY_ASSEMBLIES) $(POLICY_CONFIGS)
|
CLEANFILES = $(ASSEMBLY) $(ASSEMBLY).mdb $(POLICY_ASSEMBLIES) $(POLICY_CONFIGS)
|
||||||
DISTCLEANFILES = $(ASSEMBLY).config
|
DISTCLEANFILES = $(ASSEMBLY).config
|
||||||
|
|
||||||
POLICY_ASSEMBLIES = $(addsuffix .$(ASSEMBLY), $(addprefix policy., $(POLICY_VERSIONS)))
|
POLICY_ASSEMBLIES = $(addsuffix .$(ASSEMBLY), $(addprefix policy., $(POLICY_VERSIONS)))
|
||||||
|
@ -22,7 +22,6 @@ sources = \
|
||||||
Argv.cs \
|
Argv.cs \
|
||||||
Boxed.cs \
|
Boxed.cs \
|
||||||
CDeclCallbackAttribute.cs \
|
CDeclCallbackAttribute.cs \
|
||||||
ClassInitializerAttribute.cs \
|
|
||||||
ConnectBeforeAttribute.cs \
|
ConnectBeforeAttribute.cs \
|
||||||
DefaultSignalHandlerAttribute.cs \
|
DefaultSignalHandlerAttribute.cs \
|
||||||
DelegateWrapper.cs \
|
DelegateWrapper.cs \
|
||||||
|
@ -39,7 +38,6 @@ sources = \
|
||||||
GType.cs \
|
GType.cs \
|
||||||
GTypeAttribute.cs \
|
GTypeAttribute.cs \
|
||||||
Idle.cs \
|
Idle.cs \
|
||||||
IgnoreClassInitializersAttribute.cs \
|
|
||||||
InitiallyUnowned.cs \
|
InitiallyUnowned.cs \
|
||||||
IOChannel.cs \
|
IOChannel.cs \
|
||||||
IWrapper.cs \
|
IWrapper.cs \
|
||||||
|
@ -79,7 +77,7 @@ sources = \
|
||||||
Value.cs \
|
Value.cs \
|
||||||
Variant.cs
|
Variant.cs
|
||||||
|
|
||||||
build_sources = $(addprefix $(srcdir)/, $(sources)) AssemblyInfo.cs
|
build_sources = $(addprefix $(srcdir)/, $(sources)) $(top_builddir)/AssemblyInfo.cs
|
||||||
dist_sources = $(sources)
|
dist_sources = $(sources)
|
||||||
|
|
||||||
EXTRA_DIST = \
|
EXTRA_DIST = \
|
||||||
|
@ -88,10 +86,7 @@ EXTRA_DIST = \
|
||||||
glib-sharp-3.0.pc.in \
|
glib-sharp-3.0.pc.in \
|
||||||
glib-api.xml
|
glib-api.xml
|
||||||
|
|
||||||
AssemblyInfo.cs: $(top_builddir)/AssemblyInfo.cs
|
$(ASSEMBLY): $(build_sources) $(SNK)
|
||||||
cp $(top_builddir)/AssemblyInfo.cs .
|
|
||||||
|
|
||||||
$(ASSEMBLY): $(build_sources) $(SNK) AssemblyInfo.cs
|
|
||||||
@rm -f $(ASSEMBLY).mdb
|
@rm -f $(ASSEMBLY).mdb
|
||||||
$(CSC) $(CSFLAGS) -keyfile:$(SNK) -unsafe -nowarn:0169,0612,0618 -out:$(ASSEMBLY) -target:library $(references) $(build_sources)
|
$(CSC) $(CSFLAGS) -keyfile:$(SNK) -unsafe -nowarn:0169,0612,0618 -out:$(ASSEMBLY) -target:library $(references) $(build_sources)
|
||||||
|
|
||||||
|
|
|
@ -151,7 +151,7 @@ namespace GLib {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void InvokeClassInitializers (GType gtype, System.Type t)
|
private static void InvokeTypeInitializers (GType gtype, System.Type t)
|
||||||
{
|
{
|
||||||
object[] parms = {gtype, t};
|
object[] parms = {gtype, t};
|
||||||
|
|
||||||
|
@ -162,16 +162,6 @@ namespace GLib {
|
||||||
if (m != null)
|
if (m != null)
|
||||||
m.Invoke (null, parms);
|
m.Invoke (null, parms);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (Type curr = t; curr != typeof(GLib.Object); curr = curr.BaseType) {
|
|
||||||
|
|
||||||
if (curr.Assembly.IsDefined (typeof (IgnoreClassInitializersAttribute), false))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
foreach (MethodInfo minfo in curr.GetMethods(flags))
|
|
||||||
if (minfo.IsDefined (typeof (ClassInitializerAttribute), true))
|
|
||||||
minfo.Invoke (null, parms);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Key: The pointer to the ParamSpec of the property
|
// Key: The pointer to the ParamSpec of the property
|
||||||
|
@ -376,7 +366,7 @@ namespace GLib {
|
||||||
}
|
}
|
||||||
AddProperties (gtype, t, is_first_subclass);
|
AddProperties (gtype, t, is_first_subclass);
|
||||||
ConnectDefaultHandlers (gtype, t);
|
ConnectDefaultHandlers (gtype, t);
|
||||||
InvokeClassInitializers (gtype, t);
|
InvokeTypeInitializers (gtype, t);
|
||||||
AddInterfaces (gtype, t);
|
AddInterfaces (gtype, t);
|
||||||
return gtype;
|
return gtype;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue