tsl-devkit/lsp-server/test/test_provider/fixtures/main_unit.tsf

79 lines
1.3 KiB
Plaintext

unit MainUnit;
interface
uses WorkspaceUnit, SystemUnit;
type Widget = class
public
function Create(a: integer; b: string = "x");
function Foo(x: integer): integer;
class function StaticFoo(y: integer): integer;
property Prop: integer read FProp;
private
FProp: integer;
FieldVal: string;
end;
type Plain = class
public
function Create();
end;
function UnitFunc(a: integer): integer;
var UnitVar: integer;
implementation
function Widget.Create(a: integer; b: string = "x");
begin
end;
function Widget.Foo(x: integer): integer;
begin
return x;
end;
class function Widget.StaticFoo(y: integer): integer;
begin
return y;
end;
function Plain.Create();
begin
end;
function UnitFunc(a: integer): integer;
begin
return a;
end;
function TestCompletions(obj: Widget; aliased: MainUnit.Widget; unit_inst: WorkspaceUnit.WorkspaceUnitClass);
begin
obj := new Widget;
aliased := createobject("MainUnit.Widget");
unit_inst := createobject("WorkspaceUnit.WorkspaceUnitClass");
class(Widget).Sta;
new Wid;
new unit(MainUnit).Wid;
new MainUnit.Wid;
createobject(Wid);
createobject("Wid");
createobject(MainUnit.Wid);
unit(MainUnit).Uni;
MainUnit.Uni;
obj.Fo;
aliased.Fo;
unit_inst.Wor;
fun;
UnitF;
end;
procedure TestDefinitions();
begin
UnitFunc(1);
WorkspaceFunc();
SystemUnit;
end;
end.