123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- <rtl code>
- var m1 = function (){
- var ci = 123;
- function Base(){
- this.i = 0;
- }
- function T(){
- Base.call(this);
- }
- RTL$.extend(T, Base);
- function TPA(){
- }
- function TPB(){
- Base.call(this);
- }
- RTL$.extend(TPB, Base);
- function ExportPointerOnly(){
- Base.call(this);
- }
- RTL$.extend(ExportPointerOnly, Base);
- var i = 0;
- function anonymous$1(){
- this.i = 0;
- }
- var pr = null;
- var pr2 = null;
- function p(){
- }
- function makeTPA(){
- var result = null;
- result = new TPA();
- return result;
- }
- function makeTPB(){
- var result = null;
- result = new TPB();
- return result;
- }
- function constructor(){
- }
- function prototype(){
- }
- pr = new anonymous$1();
- return {
- ci: ci,
- Base: Base,
- T: T,
- TPA: TPA,
- TPB: TPB,
- ExportPointerOnly: ExportPointerOnly,
- i: function(){return i;},
- pr: function(){return pr;},
- pr2: function(){return pr2;},
- p: p,
- makeTPA: makeTPA,
- makeTPB: makeTPB,
- constructor$: constructor,
- prototype$: prototype
- }
- }();
- var m2 = function (m1){
- function T(){
- m1.T.call(this);
- this.i2 = 0;
- }
- RTL$.extend(T, m1.T);
- var r = new m1.T();
- var r2 = new T();
- var pb = null;
- var ptr = null;
- var ptr2 = null;
- var ptrA = null;
- function p(i/*INTEGER*/){
- }
- function ref(i/*VAR INTEGER*/){
- }
- function castToImportedPointer(p/*PBase*/){
- var p2 = null;
- if (p instanceof m1.ExportPointerOnly){
- p2 = p;
- RTL$.assert(RTL$.typeGuard(p2, m1.ExportPointerOnly) != null);
- }
- }
- ptr = new m1.T();
- pb = ptr;
- RTL$.typeGuard(pb, m1.T).i = 123;
- ptr2 = new T();
- ptr2.i = 1;
- ptr2.i2 = 2;
- ptrA = m1.makeTPA();
- m1.p();
- p(m1.i());
- p(m1.ci);
- ref(RTL$.makeRef(m1.pr2(), "i"));
- }(m1);
- var m3 = function (m1, m2){
- function T(){
- m2.T.call(this);
- }
- RTL$.extend(T, m2.T);
- var r = new m2.T();
- var r2 = new T();
- var a = RTL$.makeArray(3, function(){return new m2.Base();});
- var ptr = null;
- var pb = null;
- var pTPB = null;
- ptr = new m2.T();
- pb = ptr;
- RTL$.typeGuard(pb, m2.T).i = 123;
- pb = m2.makeTPB();
- pTPB = RTL$.typeGuard(pb, m2.TPB);
- m2.p();
- }(m2, m1);
|