anchor.diff:            restStr := restStr + descStr + ' | ' + paramParser(Copy(SourceTxt[i+iPlus], SourceTxt[i+iPlus].IndexOf('(') + 2,
                                                                     SourceTxt[i+iPlus].IndexOf(')') - (
                                                                     SourceTxt[i+iPlus].IndexOf('(') + 1))) + ' | ';
  -          restStr := restStr.TrimRight([')', ';']) + ' | ';
           end else
           begin
             restStr := ' | ' + Copy(SourceTxt[i+iPlus], SourceTxt[i+iPlus].IndexOf('.') + 2,
  
positive.code:     function paramParser(aString: String): String;
    end;
  
    tParamHolder = Record
      Name: String;
      varType: Integer;
    end;
  
negative.code:   isType: Boolean;
    splitList, paramList, typeList: TStringList;
    resultStr, varTypeName: String;
    paramHolder: Array of TParamHolder;
  begin
    try
      splitList   := TStringList.Create;
      paramList   := TStringList.Create;
      typeList    := TStringList.Create;
      resultStr   := '';
      // If not set to -1 it skips the first variable
      nextType    := -1;
  
      splitList.AddStrings(aString.Split([' ']));
  
      // Re-combine type arrays
      for i := 0 to splitList.Count - 1 do
      begin
        splitList[i] := splitList[i].TrimRight([',', ':', ';']);
  