mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-23 20:59:19 +02:00
pastojs: modeswitch OmitRTTI
git-svn-id: trunk@40343 -
This commit is contained in:
parent
1f061d0517
commit
4dfb738130
@ -1090,7 +1090,8 @@ const
|
|||||||
msNestedComment,
|
msNestedComment,
|
||||||
msExternalClass,
|
msExternalClass,
|
||||||
msArrayOperators,
|
msArrayOperators,
|
||||||
msIgnoreAttributes];
|
msIgnoreAttributes,
|
||||||
|
msOmitRTTI];
|
||||||
|
|
||||||
msAllPas2jsBoolSwitchesReadOnly = [
|
msAllPas2jsBoolSwitchesReadOnly = [
|
||||||
bsLongStrings
|
bsLongStrings
|
||||||
|
@ -167,7 +167,8 @@ const
|
|||||||
'ArrayOperators',
|
'ArrayOperators',
|
||||||
'ExternalClass',
|
'ExternalClass',
|
||||||
'PrefixedAttributes',
|
'PrefixedAttributes',
|
||||||
'IgnoreAttributes'
|
'IgnoreAttributes',
|
||||||
|
'OmitRTTI'
|
||||||
);
|
);
|
||||||
|
|
||||||
PCUDefaultBoolSwitches: TBoolSwitches = [
|
PCUDefaultBoolSwitches: TBoolSwitches = [
|
||||||
|
@ -678,6 +678,7 @@ type
|
|||||||
Procedure TestRTTI_Class_Property;
|
Procedure TestRTTI_Class_Property;
|
||||||
Procedure TestRTTI_Class_PropertyParams;
|
Procedure TestRTTI_Class_PropertyParams;
|
||||||
Procedure TestRTTI_Class_OtherUnit_TypeAlias;
|
Procedure TestRTTI_Class_OtherUnit_TypeAlias;
|
||||||
|
Procedure TestRTTI_Class_OmitRTTI;
|
||||||
Procedure TestRTTI_IndexModifier;
|
Procedure TestRTTI_IndexModifier;
|
||||||
Procedure TestRTTI_StoredModifier;
|
Procedure TestRTTI_StoredModifier;
|
||||||
Procedure TestRTTI_DefaultValue;
|
Procedure TestRTTI_DefaultValue;
|
||||||
@ -20594,6 +20595,35 @@ begin
|
|||||||
'']));
|
'']));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TTestModule.TestRTTI_Class_OmitRTTI;
|
||||||
|
begin
|
||||||
|
Converter.Options:=Converter.Options-[coNoTypeInfo];
|
||||||
|
StartProgram(false);
|
||||||
|
Add([
|
||||||
|
'{$modeswitch omitrtti}',
|
||||||
|
'type',
|
||||||
|
' TObject = class',
|
||||||
|
' private',
|
||||||
|
' FA: byte;',
|
||||||
|
' published',
|
||||||
|
' property A: byte read FA write FA;',
|
||||||
|
' end;',
|
||||||
|
'begin']);
|
||||||
|
ConvertProgram;
|
||||||
|
CheckSource('TestRTTI_Class_OmitRTTI',
|
||||||
|
LinesToStr([ // statements
|
||||||
|
'rtl.createClass($mod, "TObject", null, function () {',
|
||||||
|
' this.$init = function () {',
|
||||||
|
' this.FA = 0;',
|
||||||
|
' };',
|
||||||
|
' this.$final = function () {',
|
||||||
|
' };',
|
||||||
|
'});',
|
||||||
|
'']),
|
||||||
|
LinesToStr([ // $mod.$main
|
||||||
|
'']));
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TTestModule.TestRTTI_IndexModifier;
|
procedure TTestModule.TestRTTI_IndexModifier;
|
||||||
begin
|
begin
|
||||||
Converter.Options:=Converter.Options-[coNoTypeInfo];
|
Converter.Options:=Converter.Options-[coNoTypeInfo];
|
||||||
@ -21339,15 +21369,16 @@ procedure TTestModule.TestRTTI_LocalTypes;
|
|||||||
begin
|
begin
|
||||||
Converter.Options:=Converter.Options-[coNoTypeInfo];
|
Converter.Options:=Converter.Options-[coNoTypeInfo];
|
||||||
StartProgram(false);
|
StartProgram(false);
|
||||||
Add('procedure DoIt;');
|
Add([
|
||||||
Add('type');
|
'procedure DoIt;',
|
||||||
Add(' integer = longint;');
|
'type',
|
||||||
Add(' TPoint = record');
|
' integer = longint;',
|
||||||
Add(' x,y: integer;');
|
' TPoint = record',
|
||||||
Add(' end;');
|
' x,y: integer;',
|
||||||
Add('begin');
|
' end;',
|
||||||
Add('end;');
|
'begin',
|
||||||
Add('begin');
|
'end;',
|
||||||
|
'begin']);
|
||||||
ConvertProgram;
|
ConvertProgram;
|
||||||
CheckSource('TestRTTI_LocalTypes',
|
CheckSource('TestRTTI_LocalTypes',
|
||||||
LinesToStr([ // statements
|
LinesToStr([ // statements
|
||||||
|
Loading…
Reference in New Issue
Block a user