@@ -340,7 +340,7 @@ void VisitArgs(CallExpr callExpr, IReadOnlyList<Expr>? args = null)
340
340
341
341
if ( subExpr is CXXThisExpr )
342
342
{
343
- var referenceTypeName = GetTypeName ( callExpr , context : null , referenceType , ignoreTransparentStructsWhereRequired : true , out _ ) ;
343
+ var referenceTypeName = GetTypeName ( callExpr , context : null , type : referenceType , ignoreTransparentStructsWhereRequired : true , isTemplate : false , nativeTypeName : out _ ) ;
344
344
345
345
outputBuilder . AddUsingDirective ( "System.Runtime.CompilerServices" ) ;
346
346
outputBuilder . Write ( '(' ) ;
@@ -443,6 +443,12 @@ private void VisitCharacterLiteral(CharacterLiteral characterLiteral)
443
443
targetTypeName = GetRemappedTypeName ( implicitCastExpr , context : null , targetType , out _ , skipUsing : true ) ;
444
444
targetTypeNumBits = targetType . Handle . NumBits ;
445
445
}
446
+ else if ( IsPrevContextStmt < BinaryOperator > ( out var binaryOperator , out _ ) )
447
+ {
448
+ var targetType = binaryOperator . Type ;
449
+ targetTypeName = GetRemappedTypeName ( implicitCastExpr , context : null , targetType , out _ , skipUsing : true ) ;
450
+ targetTypeNumBits = targetType . Handle . NumBits ;
451
+ }
446
452
else if ( PreviousContext . Cursor is VarDecl varDecl )
447
453
{
448
454
var targetType = varDecl . Type ;
@@ -2106,7 +2112,7 @@ private void VisitReturnStmt(ReturnStmt returnStmt)
2106
2112
2107
2113
if ( subExpr is CXXThisExpr )
2108
2114
{
2109
- var referenceTypeName = GetTypeName ( returnStmt , context : null , referenceType , ignoreTransparentStructsWhereRequired : true , out _ ) ;
2115
+ var referenceTypeName = GetTypeName ( returnStmt , context : null , type : referenceType , ignoreTransparentStructsWhereRequired : true , isTemplate : false , nativeTypeName : out _ ) ;
2110
2116
2111
2117
outputBuilder . AddUsingDirective ( "System.Runtime.CompilerServices" ) ;
2112
2118
outputBuilder . Write ( '(' ) ;
0 commit comments