Skip to content

Commit 76dd14c

Browse files
committed
Fix reading marshalling from field reference in another file
1 parent 1ae391e commit 76dd14c

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

DelegateMarshalling.Parser.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -255,8 +255,10 @@ CancellationToken cancellationToken
255255
var fieldDeclaration = fieldReference.Field.DeclaringSyntaxReferences[0].GetSyntax(cancellationToken);
256256
var equalsValueClause = fieldDeclaration.ChildNodes().OfType<EqualsValueClauseSyntax>()
257257
.FirstOrDefault();
258-
if (equalsValueClause is null ||
259-
fieldReference.SemanticModel!.GetOperation(equalsValueClause, cancellationToken) is not
258+
SemanticModel? semanticModel = equalsValueClause is not null ?
259+
fieldReference.SemanticModel!.Compilation.GetSemanticModel(equalsValueClause.SyntaxTree) :
260+
null;
261+
if (semanticModel?.GetOperation(equalsValueClause!, cancellationToken) is not
260262
IFieldInitializerOperation fieldInitializer)
261263
{
262264
return null;

0 commit comments

Comments
 (0)