fix #1800
This commit is contained in:
parent
5c7f2d29d7
commit
acfab8fcf6
7
TestSuite/errors/err0311.pas
Normal file
7
TestSuite/errors/err0311.pas
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
type
|
||||
I0 = interface
|
||||
const x = 5;
|
||||
end;
|
||||
|
||||
begin
|
||||
end.
|
||||
|
|
@ -11096,6 +11096,11 @@ namespace PascalABCCompiler.TreeConverter
|
|||
|
||||
public override void visit(SyntaxTree.simple_const_definition _simple_const_definition)
|
||||
{
|
||||
if (context.converting_block() == block_type.type_block &&
|
||||
context.converted_type.IsInterface)
|
||||
{
|
||||
AddError(get_location(_simple_const_definition), "INVALID_INTERFACE_MEMBER");
|
||||
}
|
||||
constant_definition_node cdn = context.add_const_definition(_simple_const_definition.const_name.name, get_location(_simple_const_definition.const_name));
|
||||
cdn.const_value = convert_strong_to_constant_node(_simple_const_definition.const_value);
|
||||
cdn.const_value.SetType(DeduceType(cdn.const_value.type, cdn.const_value.location));
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ TEMPLATE_ARGUMENTS_COUNT_MISMATCH=Неправильное число парам
|
|||
TEMPLATE_PARAMETER_{0}_REDEFINITION=Повторное описание параметра {0}
|
||||
INHERITED_CONSTRUCTOR_CALL_MUST_BE_FIRST=Вызов конструктора предка должен быть первым в теле конструктора
|
||||
INHERITED_CONSTRUCTOR_CALL_EXPECTED=Необходимо вызвать конструктор предка
|
||||
INVALID_INTERFACE_MEMBER=Члены интерфейса не могут иметь определение
|
||||
INVALID_INTERFACE_MEMBER=Члены интерфейса не могут иметь поля, константы и реализацию методов
|
||||
{0}_IS_NOT_INTERFACE={0} не является интерфейсом
|
||||
INTERFACE_FUNCTION_WITH_BODY=Нельзя определять тело функции или процедуры интерфейса
|
||||
CONSTRUCTOR_IN_INTERFACE=Интерфейс не может содержать конструкторы
|
||||
|
|
|
|||
Loading…
Reference in a new issue