|
@@ -6,79 +6,55 @@ Namespace test
|
|
|
|
|
|
Extern
|
|
|
|
|
|
-Global G:Float
|
|
|
+Enum E="test::E"
|
|
|
|
|
|
-Function F()
|
|
|
+ V1
|
|
|
+ V2
|
|
|
|
|
|
-Enum E
|
|
|
- E1
|
|
|
- E2
|
|
|
- E3
|
|
|
End
|
|
|
|
|
|
-'alternate way to do 'c-style' enums...
|
|
|
-Const E1:E="E::E1"
|
|
|
-Const E2:E="E::E2"
|
|
|
-Const E3:E="E::E3"
|
|
|
+Enum E2="test::E2::"
|
|
|
|
|
|
-Class C
|
|
|
+ V1
|
|
|
+ V2
|
|
|
|
|
|
- Method New()
|
|
|
-
|
|
|
- Method New( d:D )
|
|
|
-
|
|
|
- Method E() Extension="glue_E"
|
|
|
-
|
|
|
End
|
|
|
|
|
|
-Class D Extends C
|
|
|
+Class C Extends Void="test::C"
|
|
|
|
|
|
- Method New()
|
|
|
-
|
|
|
- Method M()
|
|
|
-
|
|
|
- Method M2:Void Ptr( str:CString )
|
|
|
+ Class D
|
|
|
+ Function F()
|
|
|
+ End
|
|
|
|
|
|
-End
|
|
|
-
|
|
|
-Class T Extends Void
|
|
|
+ Field P:Int
|
|
|
|
|
|
- Method New()
|
|
|
+ Global G:Int
|
|
|
|
|
|
- Method New( x:Int )
|
|
|
+ Const T:Int
|
|
|
|
|
|
- Operator=:Bool( t:T )="operator=="
|
|
|
-
|
|
|
- Function Destroy( t:T )="delete"
|
|
|
+ Method M()
|
|
|
|
|
|
+ Function F()
|
|
|
End
|
|
|
|
|
|
Public
|
|
|
|
|
|
Function Main()
|
|
|
|
|
|
- Print Int( E.E1 ) '0
|
|
|
- Print Int( E.E2 ) '1
|
|
|
- Print Int( E.E3 ) '2
|
|
|
-
|
|
|
- F() '::F()
|
|
|
-
|
|
|
- New C 'C::C()
|
|
|
- New C( New D ) 'C::C(), D::D(), C::C( D* )
|
|
|
- New D 'C::C(), D::D()
|
|
|
+ Local c:=New C
|
|
|
|
|
|
- Local s:=String.FromCString( New D().M2( "Hello!" ) ) 'C::C(), D::D()
|
|
|
- Print s 'Goodbye!
|
|
|
-
|
|
|
- New T 'T::T()
|
|
|
- New T( 10 ) 'T::T( int )
|
|
|
-
|
|
|
- Local t:=New T 'T::T()
|
|
|
+ Local p:=c.P
|
|
|
+ Local g:=C.G
|
|
|
+ Local t:=C.T
|
|
|
+
|
|
|
+ c.M()
|
|
|
+ C.F()
|
|
|
+ C.D.F()
|
|
|
|
|
|
- If t=t Print "Yes" 'T::operator==(T*), "Yes"
|
|
|
+ Local v1:=E.V1
|
|
|
+ Local v2:=E.V2
|
|
|
|
|
|
- T.Destroy( t ) 'T::~T()
|
|
|
+ Local t1:=E2.V1
|
|
|
+ Local t2:=E2.V2
|
|
|
|
|
|
- New C().E() 'C::C(), ::glue_E()
|
|
|
End
|
|
|
-
|