public void RegisterReference(IReplaceableReference reference)
 {
     var registry = registries[reference.ReferenceType];
     if (!registry.ContainsKey(reference))
     {
         log.WriteTrace("Registering '{0}'.", TraceHelper.GetDebuggerDisplay(reference));
         registry.Add(reference, null);
     }
 }
        public ReplacementMethodConstructionContext(IMetadataHost host, IMethodReference originalCall, IMethodDefinition fakeMethod, BlockStatement block, ILogger log, IReplaceableReference originalReference)
        {
            this.host = host;
            this.block = block;
            this.log = log;
            this.originalReference = originalReference;
            this.originalCall = originalCall;

            fakeMethodParameters = fakeMethod.Parameters;
            returnType = fakeMethod.Type;
        }
        public ReplacementMethodConstructionContext(IMetadataHost host, IFieldReference originalField, IMethodDefinition fakeMethod, BlockStatement block, bool isAssignment, ILogger log, IReplaceableReference originalReference)
        {
            this.host = host;
            this.block = block;
            this.originalField = originalField;
            this.isAssignment = isAssignment;
            this.log = log;
            this.originalReference = originalReference;

            fakeMethodParameters = fakeMethod.Parameters;
            returnType = fakeMethod.Type;
        }
 public void RegisterReplacement(IReplaceableReference originalReference, IMethodReference replacement)
 {
     registries[originalReference.ReferenceType][originalReference] = replacement;
 }
 public bool IsRegistered(IReplaceableReference reference)
 {
     return registries[reference.ReferenceType].ContainsKey(reference);
 }
 public IMethodReference GetReplacement(IReplaceableReference reference)
 {
     return registries[reference.ReferenceType][reference];
 }