Browse Source

Weird fix!

Mark Sibly 8 years ago
parent
commit
f7d14fba3d

+ 1 - 0
src/mx2cc/class.monkey2

@@ -331,6 +331,7 @@ Class ClassType Extends Type
 					If Not flist2 Continue
 						
 					For Local func2:=Eachin flist2.funcs
+						
 						If Not flist.FindFunc( func2.ftype )
 							flist.PushFunc( func2 )
 						Endif

+ 1 - 1
src/mx2cc/mx2cc.monkey2

@@ -25,7 +25,7 @@ Global StartDir:String
 
 'Const TestArgs:="mx2cc makemods -target=ios std"' std"
  
-Const TestArgs:="mx2cc makeapp -target=desktop src/mx2cc/test.monkey2"
+Const TestArgs:="mx2cc makeapp -target=desktop -apptype=console -run src/mx2cc/test.monkey2"
 
 'To build with old mx2cc...
 '

+ 21 - 4
src/mx2cc/test.monkey2

@@ -1,11 +1,28 @@
 
-#Import "<mojo>"
+#Import "<std>"
 
-Using mojo..
+Using std..
 
-Class C
-	Field image:Image=Null
+Struct btVec3
+	
+End
+
+Struct Vec3<T> Extension
+	
+	Operator To:btVec3()
+		Return New btVec3
+	End
+
+End
+
+Function Test( v:btVec3 )
 End
 
 Function Main()
+	
+	Print "Hello World!"
+
+	Local t:=New Vec3f
+	Test( t )
+	
 End

+ 75 - 2
src/mx2cc/test2.monkey2

@@ -1,3 +1,76 @@
-Class Widgets
-	Field checkBox:CheckButton
+Namespace bullet
+
+#Import "<libc>"
+#Import "<std>"
+
+Using std.geom
+
+Extern
+
+Struct btVector3
+	
+	Field x:Float="m_floats[0]"
+	Field y:Float="m_floats[1]"
+	Field z:Float="m_floats[2]"
+	
+	Method New()
+	
+	Method New( x:Float,y:Float,z:Float )
+	
+End
+
+Class btObject Extends Void
+	
+	Method destroy() Extension="delete"
+End
+
+
+Class btBroadphaseInterface Extends btObject
+End
+Class btDbvtBroadphase Extends btBroadphaseInterface
+End
+Class btMultiSapBroadphase Extends btBroadphaseInterface
+End
+Class btSimpleBroadphase Extends btBroadphaseInterface
+End
+
+Class btCollisionConfiguration Extends btObject
+End
+Class btDefaultCollisionConfiguration Extends btCollisionConfiguration
+End
+
+Class btConstraintSolver Extends btObject
+End
+Class btSequentialImpulseConstraintSolver Extends btConstraintSolver
+End
+
+Class btDispatcher Extends btObject
+End
+Class btCollisionDispatcher Extends btDispatcher
+	
+	Method New( collisionConfiguration:btCollisionConfiguration )
+End
+
+Class btCollisionWorld Extends btObject
+End
+Class btDynamicsWorld Extends btCollisionWorld
+	
+	Method setGravity( gravity:btVector3 )
+	
+	Method getGravity:btVector3()
+End
+Class btDiscreteDynamicsWorld Extends btDynamicsWorld
+	
+	Method New( dispatcher:btDispatcher,pairCache:btBroadphaseInterface,contraintSolver:btConstraintSolver,collisionConfiguration:btCollisionConfiguration )
+		
+End
+
+Public
+
+Struct Vec3<T> Extension
+	
+	Operator To:btVector3()
+		Return New btVector3( x,y,z )
+	End
+
 End

+ 5 - 0
src/mx2cc/translator_cpp.monkey2

@@ -426,10 +426,15 @@ Class Translator_CPP Extends Translator
 				If Not flist Or it.Key="new" Continue
 				
 				For Local func:=Eachin flist.funcs
+				
+					If func.IsGeneric Continue
+					
 					If Not func.IsMethod Or func.scope<>ctype.superType.scope Continue
+					
 					Local sym:=FuncName( func )
 					If done[sym] Continue
 					done[sym]=True
+					
 					Emit( "using "+superName+"::"+sym+";" )
 				Next
 			Next