/// <summary>
 /// Конструктор класса.
 /// </summary>
 /// <param name="inc_method">Метод получения следующего значения порядкового типа.</param>
 /// <param name="dec_method">Метод получения предыдущего значения порядкового типа.</param>
 /// <param name="lower_eq_method">Метод сравнения двух значений данного типа. Принимает два значения перечислимого типа и возвращаит true если левое меньше или равро правого. Иначе false.</param>
 /// <param name="greater_eq_method">Метод сравнения двух значений данного типа. Принимает два значения перечислимого типа и возвращаит true если левое больше или равро правого. Иначе false.</param>
 /// <param name="lower_value">Наименьшее значени перечислимого типа.</param>
 /// <param name="upper_value">Наибольшее значение перечеслимого типа.</param>
 /// <param name="value_to_int">Метод преобразования значения перечислимого типа в целое число.</param>
 /// <param name="ordinal_type_to_int_method">Делегат, который позволяет преобразовывать значение перечислимого типа в целое во время компиляции.</param>
 public ordinal_type_interface(function_node inc_method, function_node dec_method,
                               function_node inc_value_method, function_node dec_value_method,
                               function_node lower_eq_method, function_node greater_eq_method,
                               function_node lower_method, function_node greater_method,
                               constant_node lower_value, constant_node upper_value,
                               function_node value_to_int, ordinal_type_to_int ordinal_type_to_int_method)
 {
     _inc_method          = inc_method;
     _dec_method          = dec_method;
     _inc_value_method    = inc_value_method;
     _dec_value_method    = dec_value_method;
     _lower_eq_method     = lower_eq_method;
     _greater_eq_method   = greater_eq_method;
     _lower_method        = lower_method;
     _greater_method      = greater_method;
     _lower_value         = lower_value;
     _upper_value         = upper_value;
     _value_to_int        = value_to_int;
     _ordinal_type_to_int = ordinal_type_to_int_method;
 }
Example #2
0
 /// <summary>
 /// Конструктор узла.
 /// </summary>
 /// <param name="name">Имя константы.</param>
 /// <param name="cn">Значение константы.</param>
 /// <param name="loc">Расположение константы.</param>
 public constant_definition_node(string name, constant_node cn, location loc)
 {
     _name = name;
     _cn   = cn;
     _loc  = loc;
 }
Example #3
0
 /// <summary>
 /// Конструктор класса.
 /// </summary>
 /// <param name="name">Имя константы.</param>
 /// <param name="cn">Значение константы.</param>
 /// <param name="loc">Расположение константы.</param>
 /// <param name="comprehensive_function">Функция, содержащая константу.</param>
 public function_constant_definition(string name, constant_node cn, location loc, common_function_node comprehensive_function) :
     base(name, cn, loc)
 {
     _comprehensive_function = comprehensive_function;
 }
Example #4
0
 /// <summary>
 /// Конструктор класса.
 /// </summary>
 public compiled_class_constant_definition(System.Reflection.FieldInfo fi, constant_node cn)
     : base(fi.Name, cn, null)
 {
     _comprehensive_type = compiled_type_node.get_type_node(fi.DeclaringType);
     _fi = fi;
 }
Example #5
0
 /// <summary>
 /// Конструктор класса.
 /// </summary>
 /// <param name="name">Имя константы.</param>
 /// <param name="cn">Значение константы.</param>
 /// <param name="loc">Расположение константы.</param>
 /// <param name="comprehensive_type">Тип, содержащий константу.</param>
 public class_constant_definition(string name, constant_node cn, location loc, common_type_node comprehensive_type, field_access_level field_access_level) :
     base(name, cn, loc)
 {
     _comprehensive_type = comprehensive_type;
     _fal = field_access_level;
 }
Example #6
0
 /// <summary>
 /// Конструктор класса.
 /// </summary>
 /// <param name="name">Имя константы.</param>
 /// <param name="cn">Значени константы.</param>
 /// <param name="loc">Расположение определения константы.</param>
 /// <param name="comprehensive_namespace">Пространство имен в котором определена константа.</param>
 public namespace_constant_definition(string name, constant_node cn, location loc, common_namespace_node comprehensive_namespace) :
     base(name, cn, loc)
 {
     _comprehensive_namespace = comprehensive_namespace;
 }