Files
TheDeclineOfWarriors/Assets/FishNet/CodeGenerating/cecil-0.11.4/Mono.Cecil/CallSite.cs
T
2026-03-30 20:11:57 +07:00

105 lines
2.8 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;
using System.Text;
namespace MonoFN.Cecil
{
public sealed class CallSite : IMethodSignature
{
private readonly MethodReference signature;
public bool HasThis
{
get { return signature.HasThis; }
set { signature.HasThis = value; }
}
public bool ExplicitThis
{
get { return signature.ExplicitThis; }
set { signature.ExplicitThis = value; }
}
public MethodCallingConvention CallingConvention
{
get { return signature.CallingConvention; }
set { signature.CallingConvention = value; }
}
public bool HasParameters
{
get { return signature.HasParameters; }
}
public Collection<ParameterDefinition> Parameters
{
get { return signature.Parameters; }
}
public TypeReference ReturnType
{
get { return signature.MethodReturnType.ReturnType; }
set { signature.MethodReturnType.ReturnType = value; }
}
public MethodReturnType MethodReturnType
{
get { return signature.MethodReturnType; }
}
public string Name
{
get { return string.Empty; }
set { throw new InvalidOperationException(); }
}
public string Namespace
{
get { return string.Empty; }
set { throw new InvalidOperationException(); }
}
public ModuleDefinition Module
{
get { return ReturnType.Module; }
}
public IMetadataScope Scope
{
get { return signature.ReturnType.Scope; }
}
public MetadataToken MetadataToken
{
get { return signature.token; }
set { signature.token = value; }
}
public string FullName
{
get
{
StringBuilder signature = new();
signature.Append(ReturnType.FullName);
this.MethodSignatureFullName(signature);
return signature.ToString();
}
}
internal CallSite()
{
signature = new();
signature.token = new(TokenType.Signature, 0);
}
public CallSite(TypeReference returnType) : this()
{
if (returnType == null)
throw new ArgumentNullException("returnType");
signature.ReturnType = returnType;
}
public override string ToString()
{
return FullName;
}
}
}