anchor.diff:      property Project: IDLScanResult read GetProject;
       property Source: TDLUIXLocation read GetSource;
       property Target: Nullable<TDLUIXLocation> read GetTarget write SetTarget;
  +    property SyntaxNode: TSyntaxNode read GetSyntaxNode;
  +    property NamedSyntaxNode: TSyntaxNode read GetNamedSyntaxNode;
     end; { TDLUIWorkerContext }
   
   { exports }
  
positive.code: 
  uses
    Spring,
    DelphiLens.Intf,
    DelphilensUI.UIXStorage,
    DelphiLensUI.UIXEngine.Intf;
  
  type
    IDLUIWorkerContext = interface ['{D27B5BBF-B172-49ED-86BE-FCBC2CB80AFA}']
      function  GetProject: IDLScanResult;
      function  GetSource: TDLUIXLocation;
      function  GetStorage: IDLUIXStorage;
      function  GetTarget: Nullable<TDLUIXLocation>;
      procedure SetTarget(const value: Nullable<TDLUIXLocation>);
    //
  
negative.code: 
  constructor TDLUIWorkerContext.Create(const AStorage: IDLUIXStorage; const AProject:
    IDLScanResult; const ASource: TDLUIXLocation);
  var
    unitInfo: TProjectIndexer.TUnitInfo;
  begin
    FStorage := AStorage;
    FProject := AProject;
    FSource := ASource;
    if AProject.ParsedUnits.Find(ASource.UnitName, unitInfo)
       and assigned(unitInfo.SyntaxTree)
    then
      FSyntaxNode := unitInfo.SyntaxTree.FindLocation(ASource.Line, ASource.Column);
    if assigned(FSyntaxNode) then
      FNamedSyntaxNode := FSyntaxNode.FindParentWithName;
  end; { TDLUIWorkerContext.Create }
  
  function TDLUIWorkerContext.GetNamedSyntaxNode: TSyntaxNode;
  begin
    Result := FNamedSyntaxNode;
  end; { TDLUIWorkerContext.GetNamedSyntaxNode }
  
  function TDLUIWorkerContext.GetProject: IDLScanResult;
  begin
    Result := FProject;
  end; { TDLUIWorkerContext.GetProject }
  
  function TDLUIWorkerContext.GetSource: TDLUIXLocation;
  begin
    Result := FSource;
  end; { TDLUIWorkerContext.GetSource }
  
  function TDLUIWorkerContext.GetStorage: IDLUIXStorage;
  begin
    Result := FStorage;
  end; { TDLUIWorkerContext.GetStorage }
  
  function TDLUIWorkerContext.GetSyntaxNode: TSyntaxNode;
  begin
    Result := FSyntaxNode;
  end; { TDLUIWorkerContext.GetSyntaxNode }
  
  function TDLUIWorkerContext.GetTarget: Nullable<TDLUIXLocation>;
  begin
    Result := FTarget;
  end; { TDLUIWorkerContext.GetTarget }
  
  procedure TDLUIWorkerContext.SetTarget(const value: Nullable<TDLUIXLocation>);
  begin
  