This commit is contained in:
Mikhalkovich Stanislav 2019-02-22 19:32:28 +03:00
parent 8ae23cfaba
commit 7955456216
4 changed files with 15 additions and 3 deletions

View file

@ -0,0 +1,3 @@
begin
var x := [];
end.

View file

@ -15951,7 +15951,14 @@ namespace PascalABCCompiler.TreeConverter
if (_var_def_statement.vars_type == null && _var_def_statement.inital_value is SyntaxTree.function_lambda_definition)
AddError(get_location(_var_def_statement.inital_value), "IMPOSSIBLE_TO_INFER_TYPES_IN_LAMBDA"); //lroman//
bool is_event = _var_def_statement.is_event;
if (_var_def_statement.vars_type == null && _var_def_statement.inital_value is SyntaxTree.pascal_set_constant pc)
{
if (pc.values==null || pc.values.Count == 0)
AddError(get_location(_var_def_statement.inital_value), "IMPOSSIBLE_TO_INFER_SET_TYPE");
}
bool is_event = _var_def_statement.is_event;
if (context.converting_block() == block_type.type_block &&
context.converted_type.IsInterface && !is_event)

View file

@ -18,4 +18,5 @@ ENUMS_CANNOT_BE_GENERIC=Enumerator type cannot be generic
PROGRAM_NAME_FOR_TYPE_NAME_IS_PROHIBITED=The name 'program' is prohibited as type name
DEFAULT_PARAMS_IN_DELEGATE_TYPE=Procedure type cannot have default parameters
CONSTRUCTOR_CALL_FOR_DELEGATE_TYPES_IS_FORBIDDEN=Constructor call for delegate types is forbidden
SELF_NOT_ALLOWED_IN_METHOD_PARAMS=Self is not allowed as method parameter name
SELF_NOT_ALLOWED_IN_METHOD_PARAMS=Self is not allowed as method parameter name
IMPOSSIBLE_TO_INFER_SET_TYPE=Impossible to infer set type

View file

@ -19,4 +19,5 @@ ENUMS_CANNOT_BE_GENERIC=Перечислимый тип не может быть
PROGRAM_NAME_FOR_TYPE_NAME_IS_PROHIBITED=Имя 'program' запрещено в качестве имени типа
DEFAULT_PARAMS_IN_DELEGATE_TYPE=В процедурном типе не могут быть параметры по умолчанию
CONSTRUCTOR_CALL_FOR_DELEGATE_TYPES_IS_FORBIDDEN=Для типов делегатов запрещен вызов конструктора. Вместо этого присвойте делегату имя подпрограммы или имя другого делегата
SELF_NOT_ALLOWED_IN_METHOD_PARAMS=Параметр метода не может иметь имя Self
SELF_NOT_ALLOWED_IN_METHOD_PARAMS=Параметр метода не может иметь имя Self
IMPOSSIBLE_TO_INFER_SET_TYPE=Нельзя вычислить тип множества