public ProcessingEntry( MethodBase method, CodeGenerationResult result) { Method = method; Result = result; }
public ProcessingEntry( MethodBase method, CompilationStackLocation compilationStackLocation, CodeGenerationResult result) { Method = method; CompilationStackLocation = compilationStackLocation; Result = result; }
/// <summary> /// Internal method used for code generation. /// </summary> /// <param name="method">The method.</param> /// <returns>The generation future.</returns> internal CodeGenerationResult GenerateCode(MethodBase method) { var result = new CodeGenerationResult(method); lock (processingSyncObject) { processing.Push(new ProcessingEntry(method, result)); Monitor.Pulse(processingSyncObject); } return(result); }
/// <summary> /// Internal method used for code generation. /// </summary> /// <param name="method">The method.</param> /// <returns>The generation future.</returns> internal CodeGenerationResult GenerateCode(MethodBase method) { var result = new CodeGenerationResult(method); lock (processingSyncObject) { driverNotifier.Reset(); processing.Push(new ProcessingEntry( method, new CompilationStackLocation(new Method.MethodLocation(method)), result)); Monitor.Pulse(processingSyncObject); } return(result); }