1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- {****************************************************************}
- { CODE GENERATOR TEST PROGRAM }
- { By Carl Eric Codere }
- {****************************************************************}
- { NODE TESTED : secondloadvmt() }
- {****************************************************************}
- { DEFINES: }
- { FPC = Target is FreePascal compiler }
- {****************************************************************}
- { REMARKS : Tested with Delphi 3 as reference implementation }
- {****************************************************************}
- program tloadvmt;
- {$ifdef fpc}
- {$mode objfpc}
- {$endif}
- const
- RESULT_STRING = 'Hello world';
- Type
- TAObject = class(TObject)
- a : longint;
- end;
- TBObject = Class(TAObject)
- b : longint;
- s : shortstring;
- constructor create(c: longint);
- function getstring : shortstring;
- end;
- procedure fail;
- begin
- WriteLn('Failure.');
- halt(1);
- end;
- constructor tbobject.create(c:longint);
- begin
- taobject.create;
- b:=c;
- s:=RESULT_STRING;
- end;
- function tbobject.getstring : shortstring;
- begin
- getstring := s;
- end;
- var
- bobj: TBobject;
- i: integer;
- l : longint;
- Begin
- i:=$7f;
- Write('Secondloadvmt test...');
- bobj:=TBobject.create(i);
- if bobj.getstring <> RESULT_STRING then
- fail
- else
- WriteLn('Success!');
- end.
|