Переглянути джерело

Fixed issue with function pointer fields in index expression.

woollybah 9 роки тому
батько
коміт
95e7568acf
1 змінених файлів з 6 додано та 4 видалено
  1. 6 4
      ctranslator.bmx

+ 6 - 4
ctranslator.bmx

@@ -955,10 +955,12 @@ t:+"NULLNULLNULL"
 						EmitDebugNullObjectError(loc)
 					End If
 
-					'Local class:String = Bra("(" + obj + loc +")->clas" + tSuper)
-					'Local class:String = Bra("&" + decl.scope.munged)
-					Local class:String = Bra(loc + "->clas" + tSuper)
-					Return class + "->" + TransFuncPrefix(decl.scope, decl) + FuncDeclMangleIdent(decl)+TransArgs( args,decl, loc )
+					If decl.attrs & FUNC_PTR Then
+						Return loc + "->" + decl.munged+TransArgs( args,decl, Null)
+					Else
+						Local class:String = Bra(loc + "->clas" + tSuper)
+						Return class + "->" + TransFuncPrefix(decl.scope, decl) + FuncDeclMangleIdent(decl)+TransArgs( args,decl, loc )
+					End If
 				Else
 					InternalErr
 				End If