forked from cosmonaut/wraith-lang
62 lines
974 B
OpenEdge ABL
62 lines
974 B
OpenEdge ABL
struct YourStruct
|
|
{
|
|
yourInt: int;
|
|
}
|
|
|
|
struct MyStruct
|
|
{
|
|
myInt: int;
|
|
myBool: bool;
|
|
yourStructReference: Reference<YourStruct>;
|
|
yourStruct: YourStruct;
|
|
|
|
Increment(): void
|
|
{
|
|
myInt = myInt + 1;
|
|
}
|
|
|
|
Decrement(): void
|
|
{
|
|
myInt = myInt - 1;
|
|
}
|
|
|
|
static MyFunction(input: int): int
|
|
{
|
|
return input * 2;
|
|
}
|
|
}
|
|
|
|
struct Program
|
|
{
|
|
static Main(): int
|
|
{
|
|
myStruct: MyStruct;
|
|
myReference: Reference<MyStruct>;
|
|
myInt: int;
|
|
|
|
myReference = alloc MyStruct;
|
|
|
|
myInt = MyStruct.MyFunction(2);
|
|
|
|
myStruct.myInt = myInt;
|
|
myStruct.Increment();
|
|
|
|
if (myStruct.myInt < 5)
|
|
{
|
|
myStruct.Increment();
|
|
}
|
|
else if (myStruct.myInt > 10)
|
|
{
|
|
myStruct.Decrement();
|
|
}
|
|
else
|
|
{
|
|
myStruct.myInt = 4;
|
|
}
|
|
|
|
Console.PrintLine("%i", myStruct.myInt);
|
|
|
|
return 0;
|
|
}
|
|
}
|