Internal Compiler Error Nemerle 1.1.660
От: _d_m_  
Дата: 08.04.12 07:09
Оценка:
Как дальше жить?
Путем отрезания кусков кода было локализовано до вот такого маленького куска:
using Nemerle;
using Nemerle.Collections;
using Nemerle.Text;
using Nemerle.Utility;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Data.SqlClient;

namespace Asd
{
    public class ClassA
    {
        protected static КэшКоманд : Dictionary[string, SqlCommand] = Dictionary(8);
    }

    public abstract class ClassB[TypeT] : ClassA
    {
        private static ПолучитьКомВыборкиЭлем(_именаПолейКлюча : array[string]) : SqlCommand
        {
            mutable команда;
            unless( КэшКоманд.TryGetValue("asd", out команда) ) {
                команда = SqlCommand();
            }
            команда;
        }
    }
}


C:\Program Files (x86)\Nemerle\Net-4.0\Nemerle.MSBuild.targets(219,9): error : internal compiler error: got ArgumentException (Заданное поле должно быть объявлено в определении базового типа.
Имя параметра: field)
в System.Reflection.Emit.TypeBuilder.GetField(Type type, FieldInfo field)
в Nemerle.Compiler.ILEmitter.FrameworkGetField(Type t, FieldInfo m)
в Nemerle.Compiler.ILEmitter.GetFieldInfo(Type _from_type, IField meth)
в Nemerle.Compiler.ILEmitter.emit(TExpr expr)
в Nemerle.Compiler.ILEmitter.emit_and_convert_to_address(TExpr base_object)
в Nemerle.Compiler.ILEmitter.emit(TExpr expr)
в Nemerle.Compiler.ILEmitter.emit_debug_info(DebugInfo di)
в Nemerle.Compiler.ILEmitter.emit(TExpr expr)
в Nemerle.Compiler.ILEmitter.emit_exprs_push(LocalBuilder[] local_variables, list`1 exprs)
в Nemerle.Compiler.ILEmitter._N_emit_branch_72080(_N_closure_71914 _N_emit_cp_72079, TExpr expr, Label else_label, Location debug_loc)
в Nemerle.Compiler.ILEmitter.emit(TExpr expr)
в Nemerle.Compiler.ILEmitter.emit(TExpr expr)
в Nemerle.Compiler.ILEmitter.emit_debug_info(DebugInfo di)
в Nemerle.Compiler.ILEmitter.emit(TExpr expr)
в Nemerle.Compiler.ILEmitter.emit(TExpr expr)
в Nemerle.Compiler.ILEmitter.emit(TExpr expr)
в Nemerle.Compiler.ILEmitter.emit_debug_info(DebugInfo di)
в Nemerle.Compiler.ILEmitter.emit(TExpr expr)
в Nemerle.Compiler.ILEmitter.emit(TExpr expr)
в Nemerle.Compiler.ILEmitter.Run()
в Nemerle.Compiler.MethodBuilder._N__N_lambda__67615__67722.apply_void()
в Nemerle.Compiler.TypeBuilder.BeforeFinalizeType()
в Nemerle.Compiler.TypeBuilder.EmitImplementation()
в Nemerle.Compiler.TypesManager._N_emit_impl__60297.apply_void(TypeBuilder ti)
в Nemerle.Compiler.TypesManager._N_maybe_f__60540.apply_void(TypeBuilder ti)
в Nemerle.Collections.NList.Iter[T](list`1 l, FunctionVoid`1 f)
в Nemerle.Compiler.TypesManager.Iter(list`1 builders, FunctionVoid`1 f)
в Nemerle.Compiler.TypesManager.compile_all_tyinfos(Boolean aux_phase)
в Nemerle.Compiler.TypesManager._N__N_lambda__59721__59824.apply_void()
в Nemerle.Compiler.Solver.Enqueue(FunctionVoid action)
в Nemerle.Compiler.ManagerClass.Run()
в Nemerle.CommandlineCompiler.MainClass.main_with_catching()

... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.