| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- 'code checks if objects are passed by reference
- SuperStrict
- Framework Brl.Standardio
- Type TMyObject
- field prop:int = 10
- field stringProp:string = "unmodified"
- End Type
- local obj:TMyObject = new TMyObject
- Function Modify:int(obj:TMyObject)
- obj.prop = 20
- End Function
- Function ModifyVar:int(obj:TMyObject var)
- obj.prop = 30
- End Function
- Function ModifyVarNew:int(obj:TMyObject var)
- obj = New TMyObject
- obj.prop = 40
- End Function
- Function ModifyProp:int(val:int var)
- val = 50
- End Function
- 'this should do not change the given param
- Function ModifyNoChange:int(val:int)
- val = 60
- End Function
- 'this should do not change the given param
- Function ModifyString:int(val:string var)
- val = "modified"
- End Function
- 'this should do not change the given param
- Function ModifyStringNoChange:int(val:string)
- val = "modified"
- End Function
- print obj.prop
- Modify(obj)
- print obj.prop
- ModifyVar(obj)
- print obj.prop
- ModifyVarNew(obj)
- print obj.prop
- ModifyProp(obj.prop)
- print obj.prop
- ModifyNoChange(obj.prop)
- print obj.prop
- ModifyStringNoChange(obj.stringProp)
- print obj.stringProp
- ModifyString(obj.stringProp)
- print obj.stringProp
|