anchor.diff:      OpenDialog1: TOpenDialog;
       procedure OpenDelphiUnit1Click(Sender: TObject);
     private
  -     function Parse(const FileName: string): string;
  -     procedure HandleMessage(Sender: TObject; const Typ: TMessageEventType; const Msg: string; X, Y: Integer);
  +    function Parse(const FileName: string): string;
     public
       { Public declarations }
     end;
   
     TIncludeHandler = class(TInterfacedObject, IIncludeHandler)
  +  private
  +    FPath: string;
  +  public
  +    constructor Create(const Path: string);
       function GetIncludeFileContent(const FileName: string): string;
     end;
   
  
positive.code: implementation
  
  uses
    DelphiAST, DelphiAST.Writer, DelphiAST.Classes;
  
  {$IFNDEF FPC}
    {$R *.dfm}
  
negative.code:   {$R *.lfm}
  {$ENDIF}
  
  function TForm1.Parse(const FileName: string): string;
  var
    SyntaxTree: TSyntaxNode;
  begin
    Result := '';
    SyntaxTree := TPasSyntaxTreeBuilder.Run(FileName, False,
      TIncludeHandler.Create(ExtractFilePath(FileName)));
    try
      Result := TSyntaxTreeWriter.ToXML(SyntaxTree, True);
    finally
      SyntaxTree.Free;
    end;
  end;
  
  procedure TForm1.OpenDelphiUnit1Click(Sender: TObject);
  