浏览代码

Fixed generation of super expr. Fixes #422.

woollybah 6 年之前
父节点
当前提交
cee6c5a76e
共有 1 个文件被更改,包括 8 次插入0 次删除
  1. 8 0
      ctranslator.bmx

+ 8 - 0
ctranslator.bmx

@@ -1326,6 +1326,14 @@ t:+"NULLNULLNULL"
 						Return decl.munged + Bra(TransSubExpr( lhs ))
 						Return decl.munged + Bra(TransSubExpr( lhs ))
 					End If
 					End If
 
 
+				Else If TInvokeSuperExpr(lhs) Then
+				
+					Local lvar:String = CreateLocal(lhs, False, False)
+					Local lvarInit:String = Bra(lvar + " = " + lhs.Trans())
+					
+					Local class:String = Bra(lvarInit + "->clas" + tSuper)
+					Return class + "->" + TransFuncPrefix(decl.scope, decl) + FuncDeclMangleIdent(decl)+TransArgs( args,decl, lvar )
+
 				Else
 				Else
 					InternalErr "TCTranslator.TransFunc"
 					InternalErr "TCTranslator.TransFunc"
 				End If
 				End If