84 lines
1.9 KiB
C#
84 lines
1.9 KiB
C#
|
//
|
||
|
// Author:
|
||
|
// Jb Evain (jbevain@gmail.com)
|
||
|
//
|
||
|
// Copyright (c) 2008 - 2015 Jb Evain
|
||
|
// Copyright (c) 2008 - 2011 Novell, Inc.
|
||
|
//
|
||
|
// Licensed under the MIT/X11 license.
|
||
|
//
|
||
|
|
||
|
using MonoFN.Collections.Generic;
|
||
|
using System;
|
||
|
|
||
|
namespace MonoFN.Cecil {
|
||
|
|
||
|
public abstract class MethodSpecification : MethodReference {
|
||
|
|
||
|
readonly MethodReference method;
|
||
|
|
||
|
public MethodReference ElementMethod {
|
||
|
get { return method; }
|
||
|
}
|
||
|
|
||
|
public override string Name {
|
||
|
get { return method.Name; }
|
||
|
set { throw new InvalidOperationException (); }
|
||
|
}
|
||
|
|
||
|
public override MethodCallingConvention CallingConvention {
|
||
|
get { return method.CallingConvention; }
|
||
|
set { throw new InvalidOperationException (); }
|
||
|
}
|
||
|
|
||
|
public override bool HasThis {
|
||
|
get { return method.HasThis; }
|
||
|
set { throw new InvalidOperationException (); }
|
||
|
}
|
||
|
|
||
|
public override bool ExplicitThis {
|
||
|
get { return method.ExplicitThis; }
|
||
|
set { throw new InvalidOperationException (); }
|
||
|
}
|
||
|
|
||
|
public override MethodReturnType MethodReturnType {
|
||
|
get { return method.MethodReturnType; }
|
||
|
set { throw new InvalidOperationException (); }
|
||
|
}
|
||
|
|
||
|
public override TypeReference DeclaringType {
|
||
|
get { return method.DeclaringType; }
|
||
|
set { throw new InvalidOperationException (); }
|
||
|
}
|
||
|
|
||
|
public override ModuleDefinition Module {
|
||
|
get { return method.Module; }
|
||
|
}
|
||
|
|
||
|
public override bool HasParameters {
|
||
|
get { return method.HasParameters; }
|
||
|
}
|
||
|
|
||
|
public override Collection<ParameterDefinition> Parameters {
|
||
|
get { return method.Parameters; }
|
||
|
}
|
||
|
|
||
|
public override bool ContainsGenericParameter {
|
||
|
get { return method.ContainsGenericParameter; }
|
||
|
}
|
||
|
|
||
|
internal MethodSpecification (MethodReference method)
|
||
|
{
|
||
|
Mixin.CheckMethod (method);
|
||
|
|
||
|
this.method = method;
|
||
|
this.token = new MetadataToken (TokenType.MethodSpec);
|
||
|
}
|
||
|
|
||
|
public sealed override MethodReference GetElementMethod ()
|
||
|
{
|
||
|
return method.GetElementMethod ();
|
||
|
}
|
||
|
}
|
||
|
}
|