Declare scoped locals on first assignment

This commit is contained in:
Yoshi Askharoun
2025-09-21 21:25:27 -05:00
parent 88acf9c402
commit e689e8d3c9
2 changed files with 34 additions and 5 deletions
+4
View File
@@ -25,6 +25,7 @@ internal record IrisObject(object Object, TypeSchema Type)
else if (objIn is ExpressionSyntax expr)
{
type ??= GuessExpressionReturnType(expr, context);
return new(obj, type);
}
if (objIn is Disassembler.RawConstantInfo constantInfo)
@@ -40,6 +41,9 @@ internal record IrisObject(object Object, TypeSchema Type)
private static TypeSchema GuessExpressionReturnType(ExpressionSyntax expr, DecompileContext ctx)
{
if (expr is ParenthesizedExpressionSyntax parenExpr)
expr = parenExpr.Expression;
if (expr is MemberAccessExpressionSyntax memberAccessExpression)
{
// TODO: Handle member access on instance methods