Exemple #1
0
        public DelegateType get_handler_type()
        {
            var type_sym    = (ObjectTypeSymbol)signal_symbol.parent_symbol;
            var sender_type = SemanticAnalyzer.get_data_type_for_symbol(type_sym);
            var result      = new DelegateType(signal_symbol.get_delegate(sender_type, this));

            result.value_owned = true;

            if (result.delegate_symbol.get_type_parameters().Count > 0)
            {
                foreach (var type_param in type_sym.get_type_parameters())
                {
                    var type_arg = new GenericType(type_param);
                    type_arg.value_owned = true;
                    result.add_type_argument(type_arg);
                }
            }

            return(result);
        }