This commit is contained in:
Ivan Bondarev 2024-01-14 14:03:47 +01:00
parent cea1d58af6
commit be92ef2104
7 changed files with 12 additions and 0 deletions

Binary file not shown.

View file

@ -0,0 +1,6 @@
//!Имя библиотеки не может быть пустым
procedure p1; external '';
begin
end.

View file

@ -18297,6 +18297,8 @@ namespace PascalABCCompiler.TreeConverter
}
else
AddError(get_location(_external_directive.modulename), "STRING_CONSTANT_OR_IDENTIFIER_EXPECTED");
if (string.IsNullOrEmpty(module_name))
AddError(get_location(_external_directive.modulename), "DLLNAME_CANNOT_BE_EMPTY");
if (_external_directive.name == null)
{
name = context.converted_func_stack.top().name;

View file

@ -63,6 +63,7 @@ EXTENSION_CONSTRUCTOR_NOT_ALLOWED=Cannot declare extensions-constructors
CLASS_MEMBER_{0}_EXPECTED='{0}' must be method or constructor
DESTRUCTOR_MUST_HAVE_NAME=Destructor must have name
STRING_CONSTANT_EXPECTED=String constant expected
DLLNAME_CANNOT_BE_EMPTY=Library name cannot be empty
STRING_CONSTANT_OR_IDENTIFIER_EXPECTED=String constant or identifier expected
FUNCTION_MUST_HAVE_DLLIMPORT_ATTRIBUTE=DllImport attribute expected
EXPECTED_ATTRIBUTE_INITIALIZER=Attribute initializer expected

View file

@ -63,6 +63,7 @@ EXTENSION_CONSTRUCTOR_NOT_ALLOWED=Определение extensions-констр
CLASS_MEMBER_{0}_EXPECTED={0} должен быть методом или конструктором
DESTRUCTOR_MUST_HAVE_NAME=Деструктор должен иметь имя
STRING_CONSTANT_EXPECTED=Ожидалась строковая константа
DLLNAME_CANNOT_BE_EMPTY=Имя библиотеки не может быть пустым
STRING_CONSTANT_OR_IDENTIFIER_EXPECTED=Ожидались строковая константа или идентификатор
FUNCTION_MUST_HAVE_DLLIMPORT_ATTRIBUTE=Подпрограмма должна иметь атрибут DllImport
EXPECTED_ATTRIBUTE_INITIALIZER=Ожидался инициализатор атрибута

View file

@ -170,6 +170,7 @@ NON_PUBLIC_RECORD_CONSTRUCTORS_NOT_ALLOWED=Записи могут иметь т
EXIT_BREAK_CONTINUE_IN_FINALLY_BLOCK=Использование exit, break и continue в блоке finally недопустимо
ANONYMOUS_DELEGATES_WITH_GENERIC_PARAMS_NOT_ALLOWED=Нельзя вывести тип анонимного делегата с генерик-параметрами. Укажите тип переменной явно.
CANNOT_IMPLEMENT_METHODS_IN_OTHER_MODULE=Нельзя реализовывать метод из другого модуля
DLLNAME_CANNOT_BE_EMPTY=Имя библиотеки не может быть пустым
%PREFIX%=COMPILATIONERROR_
UNIT_MODULE_EXPECTED_LIBRARY_FOUND=Очікувався модуль, а зустріли бібліотеку
ASSEMBLY_{0}_READING_ERROR=Помилка при читанні збірки '{0}'

View file

@ -178,6 +178,7 @@ NON_PUBLIC_RECORD_CONSTRUCTORS_NOT_ALLOWED=记录不能有非公共的默认构
EXIT_BREAK_CONTINUE_IN_FINALLY_BLOCK=finally 中不允许退出、中断和继续
ANONYMOUS_DELEGATES_WITH_GENERIC_PARAMS_NOT_ALLOWED=无法推断具有泛型参数的匿名委托的类型。 显式声明变量类型。
CANNOT_IMPLEMENT_METHODS_IN_OTHER_MODULE=Can not implement methods in other module
DLLNAME_CANNOT_BE_EMPTY=Library name cannot be empty
%PREFIX%=COMPILATIONERROR_
UNIT_MODULE_EXPECTED_LIBRARY_FOUND=需要单元,找到库
ASSEMBLY_{0}_READING_ERROR=读取程序集 '{0}' 时出错