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