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, msNestedComment,
msExternalClass, msExternalClass,
msArrayOperators, msArrayOperators,
msIgnoreAttributes]; msIgnoreAttributes,
msOmitRTTI];
msAllPas2jsBoolSwitchesReadOnly = [ msAllPas2jsBoolSwitchesReadOnly = [
bsLongStrings bsLongStrings

View File

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

View File

@ -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