The Parse function returns a reference to the function. You can call this function. Longer equivalent form:
var
FunctionReference: ISmartPointer<TSQLStatement>;
SQLStatement: TSQLStatement;
begin
{ Parse returns a reference to a function. Store that function reference in FunctionReference }
FunctionReference := TSQLParser.Parse(qry.SQL.Text);
{ The referenced function returns an object. Store that object in SQLStatement }
SQLStatement := FunctionReference();
{ Call the GetWhereClause method on the stored object }
SQLStatement.GetWhereClause();
The line in the question is just a shorter version that does not use explicit variables to store intermediate results.
source
share