@@ -584,13 +584,14 @@ class InferenceVisitorImpl extends InferenceVisitorBase
584
584
}
585
585
break ;
586
586
case ObjectAccessTargetKind .extensionMember:
587
+ case ObjectAccessTargetKind .inlineClassMember:
587
588
if (callMember.tearoffTarget != null &&
588
- callMember.extensionMethodKind == ProcedureKind .Method ) {
589
+ callMember.declarationMethodKind == ProcedureKind .Method ) {
589
590
operandType = callMember.getGetterType (this );
590
591
operand = new StaticInvocation (
591
592
callMember.tearoffTarget as Procedure ,
592
593
new Arguments (< Expression > [operand],
593
- types: callMember.inferredExtensionTypeArguments )
594
+ types: callMember.receiverTypeArguments )
594
595
..fileOffset = operand.fileOffset)
595
596
..fileOffset = operand.fileOffset;
596
597
}
@@ -610,6 +611,7 @@ class InferenceVisitorImpl extends InferenceVisitorBase
610
611
case ObjectAccessTargetKind .nullableRecordIndexed:
611
612
case ObjectAccessTargetKind .nullableRecordNamed:
612
613
case ObjectAccessTargetKind .recordNamed:
614
+ case ObjectAccessTargetKind .nullableInlineClassMember:
613
615
break ;
614
616
}
615
617
}
@@ -1045,7 +1047,7 @@ class InferenceVisitorImpl extends InferenceVisitorBase
1045
1047
readTarget.member as Procedure ,
1046
1048
new Arguments (< Expression > [
1047
1049
readReceiver,
1048
- ], types: readTarget.inferredExtensionTypeArguments )
1050
+ ], types: readTarget.receiverTypeArguments )
1049
1051
..fileOffset = node.readOffset)
1050
1052
..fileOffset = node.readOffset;
1051
1053
}
@@ -1090,7 +1092,7 @@ class InferenceVisitorImpl extends InferenceVisitorBase
1090
1092
new Arguments (< Expression > [
1091
1093
writeReceiver,
1092
1094
value,
1093
- ], types: writeTarget.inferredExtensionTypeArguments )
1095
+ ], types: writeTarget.receiverTypeArguments )
1094
1096
..fileOffset = node.writeOffset)
1095
1097
..fileOffset = node.writeOffset;
1096
1098
}
@@ -5540,13 +5542,15 @@ class InferenceVisitorImpl extends InferenceVisitorBase
5540
5542
break ;
5541
5543
case ObjectAccessTargetKind .extensionMember:
5542
5544
case ObjectAccessTargetKind .nullableExtensionMember:
5543
- assert (binaryTarget.extensionMethodKind != ProcedureKind .Setter );
5545
+ case ObjectAccessTargetKind .inlineClassMember:
5546
+ case ObjectAccessTargetKind .nullableInlineClassMember:
5547
+ assert (binaryTarget.declarationMethodKind != ProcedureKind .Setter );
5544
5548
binary = new StaticInvocation (
5545
5549
binaryTarget.member as Procedure ,
5546
5550
new Arguments (< Expression > [
5547
5551
left,
5548
5552
right,
5549
- ], types: binaryTarget.inferredExtensionTypeArguments )
5553
+ ], types: binaryTarget.receiverTypeArguments )
5550
5554
..fileOffset = fileOffset)
5551
5555
..fileOffset = fileOffset;
5552
5556
break ;
@@ -5682,12 +5686,14 @@ class InferenceVisitorImpl extends InferenceVisitorBase
5682
5686
break ;
5683
5687
case ObjectAccessTargetKind .extensionMember:
5684
5688
case ObjectAccessTargetKind .nullableExtensionMember:
5685
- assert (unaryTarget.extensionMethodKind != ProcedureKind .Setter );
5689
+ case ObjectAccessTargetKind .inlineClassMember:
5690
+ case ObjectAccessTargetKind .nullableInlineClassMember:
5691
+ assert (unaryTarget.declarationMethodKind != ProcedureKind .Setter );
5686
5692
unary = new StaticInvocation (
5687
5693
unaryTarget.member as Procedure ,
5688
5694
new Arguments (< Expression > [
5689
5695
expression,
5690
- ], types: unaryTarget.inferredExtensionTypeArguments )
5696
+ ], types: unaryTarget.receiverTypeArguments )
5691
5697
..fileOffset = fileOffset)
5692
5698
..fileOffset = fileOffset;
5693
5699
break ;
@@ -5795,12 +5801,14 @@ class InferenceVisitorImpl extends InferenceVisitorBase
5795
5801
break ;
5796
5802
case ObjectAccessTargetKind .extensionMember:
5797
5803
case ObjectAccessTargetKind .nullableExtensionMember:
5804
+ case ObjectAccessTargetKind .inlineClassMember:
5805
+ case ObjectAccessTargetKind .nullableInlineClassMember:
5798
5806
read = new StaticInvocation (
5799
5807
readTarget.member as Procedure ,
5800
5808
new Arguments (< Expression > [
5801
5809
readReceiver,
5802
5810
readIndex,
5803
- ], types: readTarget.inferredExtensionTypeArguments )
5811
+ ], types: readTarget.receiverTypeArguments )
5804
5812
..fileOffset = fileOffset)
5805
5813
..fileOffset = fileOffset;
5806
5814
break ;
@@ -5934,11 +5942,13 @@ class InferenceVisitorImpl extends InferenceVisitorBase
5934
5942
break ;
5935
5943
case ObjectAccessTargetKind .extensionMember:
5936
5944
case ObjectAccessTargetKind .nullableExtensionMember:
5937
- assert (writeTarget.extensionMethodKind != ProcedureKind .Setter );
5945
+ case ObjectAccessTargetKind .inlineClassMember:
5946
+ case ObjectAccessTargetKind .nullableInlineClassMember:
5947
+ assert (writeTarget.declarationMethodKind != ProcedureKind .Setter );
5938
5948
write = new StaticInvocation (
5939
5949
writeTarget.member as Procedure ,
5940
5950
new Arguments (< Expression > [receiver, index, value],
5941
- types: writeTarget.inferredExtensionTypeArguments )
5951
+ types: writeTarget.receiverTypeArguments )
5942
5952
..fileOffset = fileOffset)
5943
5953
..fileOffset = fileOffset;
5944
5954
break ;
@@ -6056,13 +6066,15 @@ class InferenceVisitorImpl extends InferenceVisitorBase
6056
6066
break ;
6057
6067
case ObjectAccessTargetKind .extensionMember:
6058
6068
case ObjectAccessTargetKind .nullableExtensionMember:
6059
- switch (readTarget.extensionMethodKind) {
6069
+ case ObjectAccessTargetKind .inlineClassMember:
6070
+ case ObjectAccessTargetKind .nullableInlineClassMember:
6071
+ switch (readTarget.declarationMethodKind) {
6060
6072
case ProcedureKind .Getter :
6061
6073
read = new StaticInvocation (
6062
6074
readTarget.member as Procedure ,
6063
6075
new Arguments (< Expression > [
6064
6076
receiver,
6065
- ], types: readTarget.inferredExtensionTypeArguments )
6077
+ ], types: readTarget.receiverTypeArguments )
6066
6078
..fileOffset = fileOffset)
6067
6079
..fileOffset = fileOffset;
6068
6080
break ;
@@ -6071,7 +6083,7 @@ class InferenceVisitorImpl extends InferenceVisitorBase
6071
6083
readTarget.tearoffTarget as Procedure ,
6072
6084
new Arguments (< Expression > [
6073
6085
receiver,
6074
- ], types: readTarget.inferredExtensionTypeArguments )
6086
+ ], types: readTarget.receiverTypeArguments )
6075
6087
..fileOffset = fileOffset)
6076
6088
..fileOffset = fileOffset;
6077
6089
readResult = instantiateTearOff (readType, typeContext, read);
@@ -6241,11 +6253,13 @@ class InferenceVisitorImpl extends InferenceVisitorBase
6241
6253
break ;
6242
6254
case ObjectAccessTargetKind .extensionMember:
6243
6255
case ObjectAccessTargetKind .nullableExtensionMember:
6256
+ case ObjectAccessTargetKind .inlineClassMember:
6257
+ case ObjectAccessTargetKind .nullableInlineClassMember:
6244
6258
if (forEffect) {
6245
6259
write = new StaticInvocation (
6246
6260
writeTarget.member as Procedure ,
6247
6261
new Arguments (< Expression > [receiver, value],
6248
- types: writeTarget.inferredExtensionTypeArguments )
6262
+ types: writeTarget.receiverTypeArguments )
6249
6263
..fileOffset = fileOffset)
6250
6264
..fileOffset = fileOffset;
6251
6265
// The generate invocation has a void return type.
@@ -6257,7 +6271,7 @@ class InferenceVisitorImpl extends InferenceVisitorBase
6257
6271
writeTarget.member as Procedure ,
6258
6272
new Arguments (
6259
6273
< Expression > [receiver, createVariableGet (valueVariable)],
6260
- types: writeTarget.inferredExtensionTypeArguments )
6274
+ types: writeTarget.receiverTypeArguments )
6261
6275
..fileOffset = fileOffset)
6262
6276
..fileOffset = fileOffset,
6263
6277
const VoidType ());
0 commit comments