pastojs: modeswitch OmitRTTI

git-svn-id: trunk@40343 -
This commit is contained in:
Mattias Gaertner 2018-11-17 21:31:45 +00:00
parent 1f061d0517
commit 4dfb738130
3 changed files with 44 additions and 11 deletions

View File

@ -1090,7 +1090,8 @@ const
msNestedComment,
msExternalClass,
msArrayOperators,
msIgnoreAttributes];
msIgnoreAttributes,
msOmitRTTI];
msAllPas2jsBoolSwitchesReadOnly = [
bsLongStrings

View File

@ -167,7 +167,8 @@ const
'ArrayOperators',
'ExternalClass',
'PrefixedAttributes',
'IgnoreAttributes'
'IgnoreAttributes',
'OmitRTTI'
);
PCUDefaultBoolSwitches: TBoolSwitches = [

View File

@ -678,6 +678,7 @@ type
Procedure TestRTTI_Class_Property;
Procedure TestRTTI_Class_PropertyParams;
Procedure TestRTTI_Class_OtherUnit_TypeAlias;
Procedure TestRTTI_Class_OmitRTTI;
Procedure TestRTTI_IndexModifier;
Procedure TestRTTI_StoredModifier;
Procedure TestRTTI_DefaultValue;
@ -20594,6 +20595,35 @@ begin
'']));
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;
begin
Converter.Options:=Converter.Options-[coNoTypeInfo];
@ -21339,15 +21369,16 @@ procedure TTestModule.TestRTTI_LocalTypes;
begin
Converter.Options:=Converter.Options-[coNoTypeInfo];
StartProgram(false);
Add('procedure DoIt;');
Add('type');
Add(' integer = longint;');
Add(' TPoint = record');
Add(' x,y: integer;');
Add(' end;');
Add('begin');
Add('end;');
Add('begin');
Add([
'procedure DoIt;',
'type',
' integer = longint;',
' TPoint = record',
' x,y: integer;',
' end;',
'begin',
'end;',
'begin']);
ConvertProgram;
CheckSource('TestRTTI_LocalTypes',
LinesToStr([ // statements