fix #1345
This commit is contained in:
parent
35182456a1
commit
053d012565
7
TestSuite/errors/err0307.pas
Normal file
7
TestSuite/errors/err0307.pas
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
type
|
||||
I1 = interface
|
||||
procedure operator+=(x, y: I1);
|
||||
end;
|
||||
|
||||
begin
|
||||
end.
|
||||
|
|
@ -9823,6 +9823,8 @@ namespace PascalABCCompiler.TreeConverter
|
|||
definition_node def_temp = null;
|
||||
SyntaxTree.template_type_name ttn = null;
|
||||
bool is_operator = _method_name.meth_name is SyntaxTree.operator_name_ident;
|
||||
if (is_operator && context.converted_type != null && context.converted_type.IsInterface)
|
||||
AddError(get_location(_method_name), "OPERATORS_IN_INTERFACES_NOT_ALLOWED");
|
||||
SyntaxTree.Operators op = PascalABCCompiler.SyntaxTree.Operators.Undefined;
|
||||
if(is_operator)
|
||||
op=(_method_name.meth_name as SyntaxTree.operator_name_ident).operator_type;
|
||||
|
|
|
|||
|
|
@ -159,6 +159,7 @@ INTERFACE_PROPERTIES_CANNOT_BE_STATIC=Interface properties can not be static
|
|||
ARRAY_RANK_CANNOT_BE_GREATER_32=Rank of multidimensional unsized array cannot be greater 32
|
||||
CANNOT_GET_POINTER_TO_DISPOSE=Cannot get a pointer to intrinsic procedure Dispose
|
||||
USING_{0}_NOT_ALLOWED_IN_THIS_CONTEXT=Using of {0} is not allowed in this context
|
||||
OPERATORS_IN_INTERFACES_NOT_ALLOWED=Interfaces can not contain operators
|
||||
%PREFIX%=COMPILATIONERROR_
|
||||
UNIT_MODULE_EXPECTED_LIBRARY_FOUND=Unit expected, library found
|
||||
ASSEMBLY_{0}_READING_ERROR=Error by reading assembly '{0}'
|
||||
|
|
|
|||
|
|
@ -154,6 +154,7 @@ INTERFACE_PROPERTIES_CANNOT_BE_STATIC=Свойства интерфейса не
|
|||
ARRAY_RANK_CANNOT_BE_GREATER_32=Размерность многомерного динамического массива не может быть больше 32
|
||||
CANNOT_GET_POINTER_TO_DISPOSE=Нельзя получить указатель на процедуру Dispose
|
||||
USING_{0}_NOT_ALLOWED_IN_THIS_CONTEXT=Использование {0} недопустимо в данном контексте
|
||||
OPERATORS_IN_INTERFACES_NOT_ALLOWED=Интерфейсы не могут содержать операторы
|
||||
%PREFIX%=COMPILATIONERROR_
|
||||
UNIT_MODULE_EXPECTED_LIBRARY_FOUND=Ожидался модуль, а встречена библиотека
|
||||
ASSEMBLY_{0}_READING_ERROR=Ошибка при чтении сборки '{0}'
|
||||
|
|
|
|||
|
|
@ -151,6 +151,7 @@ INTERFACE_PROPERTIES_CANNOT_BE_STATIC=Свойства интерфейса не
|
|||
ARRAY_RANK_CANNOT_BE_GREATER_32=Размерность многомерного динамического массива не может быть больше 32
|
||||
CANNOT_GET_POINTER_TO_DISPOSE=Нельзя получить указатель на процедуру Dispose
|
||||
USING_{0}_NOT_ALLOWED_IN_THIS_CONTEXT=Использование {0} недопустимо в данном контексте
|
||||
OPERATORS_IN_INTERFACES_NOT_ALLOWED=Интерфейсы не могут содержать операторы
|
||||
%PREFIX%=COMPILATIONERROR_
|
||||
UNIT_MODULE_EXPECTED_LIBRARY_FOUND=Очікувався модуль, а зустріли бібліотеку
|
||||
ASSEMBLY_{0}_READING_ERROR=Помилка при читанні збірки '{0}'
|
||||
|
|
|
|||
Loading…
Reference in a new issue