浏览代码

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