mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-20 09:49:08 +02:00
* require that class methods are "static" for Java classes
git-svn-id: branches/jvmbackend@18345 -
This commit is contained in:
parent
83dc297346
commit
e269f68359
@ -1403,7 +1403,7 @@ parser_e_implements_no_mapping=03313_E_Interface "$1" can't have method resoluti
|
|||||||
% \end{description}
|
% \end{description}
|
||||||
# Type Checking
|
# Type Checking
|
||||||
#
|
#
|
||||||
# 04100 is the last used one
|
# 04103 is the last used one
|
||||||
#
|
#
|
||||||
% \section{Type checking errors}
|
% \section{Type checking errors}
|
||||||
% This section lists all errors that can occur when type checking is
|
% This section lists all errors that can occur when type checking is
|
||||||
@ -1761,6 +1761,9 @@ type_e_class_helper_must_extend_subclass=04101_E_Derived class helper must exten
|
|||||||
type_e_record_helper_must_extend_same_record=04102_E_Derived record helper must extend "$1"
|
type_e_record_helper_must_extend_same_record=04102_E_Derived record helper must extend "$1"
|
||||||
% If a record helper inherits from another record helper it must extend the same
|
% If a record helper inherits from another record helper it must extend the same
|
||||||
% record that the parent record helper extended.
|
% record that the parent record helper extended.
|
||||||
|
type_e_java_class_method_not_static=04103_E_Java class methods have to be static
|
||||||
|
% All methods in Java are either regular (virtual) methods, or static class
|
||||||
|
% methods. It is not possible to declare non-static class methods.
|
||||||
%
|
%
|
||||||
% \end{description}
|
% \end{description}
|
||||||
#
|
#
|
||||||
|
@ -498,6 +498,7 @@ const
|
|||||||
type_e_record_type_expected=04100;
|
type_e_record_type_expected=04100;
|
||||||
type_e_class_helper_must_extend_subclass=04101;
|
type_e_class_helper_must_extend_subclass=04101;
|
||||||
type_e_record_helper_must_extend_same_record=04102;
|
type_e_record_helper_must_extend_same_record=04102;
|
||||||
|
type_e_java_class_method_not_static=04103;
|
||||||
sym_e_id_not_found=05000;
|
sym_e_id_not_found=05000;
|
||||||
sym_f_internal_error_in_symtablestack=05001;
|
sym_f_internal_error_in_symtablestack=05001;
|
||||||
sym_e_duplicate_id=05002;
|
sym_e_duplicate_id=05002;
|
||||||
@ -900,9 +901,9 @@ const
|
|||||||
option_info=11024;
|
option_info=11024;
|
||||||
option_help_pages=11025;
|
option_help_pages=11025;
|
||||||
|
|
||||||
MsgTxtSize = 61005;
|
MsgTxtSize = 61050;
|
||||||
|
|
||||||
MsgIdxMax : array[1..20] of longint=(
|
MsgIdxMax : array[1..20] of longint=(
|
||||||
26,89,314,103,85,54,111,23,202,63,
|
26,89,314,104,85,54,111,23,202,63,
|
||||||
49,20,1,1,1,1,1,1,1,1
|
49,20,1,1,1,1,1,1,1,1
|
||||||
);
|
);
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -706,6 +706,10 @@ implementation
|
|||||||
if is_java_class_or_interface(pd.struct) then
|
if is_java_class_or_interface(pd.struct) then
|
||||||
begin
|
begin
|
||||||
include(pd.procoptions,po_java);
|
include(pd.procoptions,po_java);
|
||||||
|
{ In java, all methods are either regular virtual methods,
|
||||||
|
or static class methods }
|
||||||
|
if [po_staticmethod,po_classmethod]*pd.procoptions=[po_classmethod] then
|
||||||
|
messagepos(pd.fileinfo,type_e_java_class_method_not_static);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user