fix #1113
This commit is contained in:
parent
051b867a4d
commit
ea4e70e540
|
|
@ -2,7 +2,7 @@
|
|||
// This CSharp output file generated by Gardens Point LEX
|
||||
// Version: 1.1.3.301
|
||||
// Machine: IVAN-PC
|
||||
// DateTime: 26.08.2018 14:17:42
|
||||
// DateTime: 27.08.2018 21:05:56
|
||||
// UserName: Ivan
|
||||
// GPLEX input file <ABCPascal.lex>
|
||||
// GPLEX frame file <embedded resource>
|
||||
|
|
|
|||
|
|
@ -3639,6 +3639,10 @@ attribute_variable
|
|||
{
|
||||
$$ = new attribute(null, $1 as named_type_reference, $2 as expression_list, @$);
|
||||
}
|
||||
| template_type optional_expr_list_with_bracket
|
||||
{
|
||||
$$ = new attribute(null, $1 as named_type_reference, $2 as expression_list, @$);
|
||||
}
|
||||
;
|
||||
|
||||
dotted_identifier
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
12
TestSuite/errors/err0260.pas
Normal file
12
TestSuite/errors/err0260.pas
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
type
|
||||
TMyAttribute<T> = class(System.Attribute)
|
||||
end;
|
||||
|
||||
ByteAttribute = TMyAttribute<byte>;
|
||||
|
||||
[ByteAttribute()]
|
||||
TClass = class
|
||||
end;
|
||||
|
||||
begin
|
||||
end.
|
||||
|
|
@ -11596,6 +11596,8 @@ namespace PascalABCCompiler.TreeConverter
|
|||
}
|
||||
else
|
||||
AddError(get_location(attr.qualifier), "ATTRIBUTE_QUALIFIER_MUST_BE_FIRST");
|
||||
if (tn.is_generic_type_instance || tn.is_generic_type_definition)
|
||||
AddError(get_location(attr), "ATTRIBUTE_CANNOT_BE_GENERIC");
|
||||
check_for_usage_attribute(ctn, targets, tn.name, get_location(attr), qualifier);
|
||||
|
||||
attribute_converted = false;
|
||||
|
|
|
|||
|
|
@ -141,6 +141,7 @@ ABSTRACT_CLASS_CANNOT_BE_SEALED=Abstract classes can not be sealed
|
|||
EXPRESSION_EXPECTED=Expression expected
|
||||
CLASS_ATTRIBUTE_NOT_ALLOWED_IN_CLASS_PREDEFINTIONS=Can not declare class attributes in class predefintions
|
||||
GENERIC_RECORDS_CANNOT_HAVE_EXPLICIT_LAYOUT=Generic-records can not have attribute LayoutKind.&Explicit
|
||||
ATTRIBUTE_CANNOT_BE_GENERIC=Attributes cannot be generic
|
||||
%PREFIX%=COMPILATIONERROR_
|
||||
UNIT_MODULE_EXPECTED_LIBRARY_FOUND=Unit expected, library found
|
||||
ASSEMBLY_{0}_READING_ERROR=Error by reading assembly '{0}'
|
||||
|
|
|
|||
|
|
@ -136,6 +136,7 @@ ABSTRACT_CLASS_CANNOT_BE_SEALED=Абстрактный класс не може
|
|||
EXPRESSION_EXPECTED=Ожидалось выражение
|
||||
CLASS_ATTRIBUTE_NOT_ALLOWED_IN_CLASS_PREDEFINTIONS=Недопустимо определять атрибуты класса в его предописании
|
||||
GENERIC_RECORDS_CANNOT_HAVE_EXPLICIT_LAYOUT=Генерик-записи не могут иметь атрибут LayoutKind.&Explicit
|
||||
ATTRIBUTE_CANNOT_BE_GENERIC=Атрибуты не могут быть генерик-классами
|
||||
%PREFIX%=COMPILATIONERROR_
|
||||
UNIT_MODULE_EXPECTED_LIBRARY_FOUND=Ожидался модуль, а встречена библиотека
|
||||
ASSEMBLY_{0}_READING_ERROR=Ошибка при чтении сборки '{0}'
|
||||
|
|
|
|||
|
|
@ -134,6 +134,7 @@ ABSTRACT_CLASS_CANNOT_BE_SEALED=Абстрактный класс не може
|
|||
EXPRESSION_EXPECTED=Ожидалось выражение
|
||||
CLASS_ATTRIBUTE_NOT_ALLOWED_IN_CLASS_PREDEFINTIONS=Недопустимо определять атрибуты класса в его предописании
|
||||
GENERIC_RECORDS_CANNOT_HAVE_EXPLICIT_LAYOUT=Генерик-записи не могут иметь атрибут LayoutKind.&Explicit
|
||||
ATTRIBUTE_CANNOT_BE_GENERIC=Атрибуты не могут быть генерик-классами
|
||||
%PREFIX%=COMPILATIONERROR_
|
||||
UNIT_MODULE_EXPECTED_LIBRARY_FOUND=Очікувався модуль, а зустріли бібліотеку
|
||||
ASSEMBLY_{0}_READING_ERROR=Помилка при читанні збірки '{0}'
|
||||
|
|
|
|||
Loading…
Reference in a new issue