Ejemplo n.º 1
0
 public ProcessingEntry(
     MethodBase method,
     CodeGenerationResult result)
 {
     Method = method;
     Result = result;
 }
Ejemplo n.º 2
0
 public ProcessingEntry(
     MethodBase method,
     CompilationStackLocation compilationStackLocation,
     CodeGenerationResult result)
 {
     Method = method;
     CompilationStackLocation = compilationStackLocation;
     Result = result;
 }
Ejemplo n.º 3
0
        /// <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);
        }
Ejemplo n.º 4
0
        /// <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);
        }