Ticket #2433 (closed bug: obsolete)

Opened 15 years ago

Last modified 13 years ago

immutable collections -- get index misbehavior

Reported by: stefan Owned by: stefan
Priority: major Milestone:
Component: uncategorized Version: 2.0
Keywords: Cc:
Category: unknown Effort:
Importance: Ticket_group: immutable collections
Estimated Number of Hours: 0 Add Hours to Ticket: 0
Billable?: yes Total Hours: 0
Analysis_owners: stefan Design_owners: stefan
Imp._owners: stefan Test_owners:
Analysis_reviewers: pap Changelog: Changelog
Design_reviewers: meddle Imp._reviewers: meddle
Test_reviewers: Analysis_score: 3.5
Design_score: 4 Imp._score: 4
Test_score: 0

Description (last modified by stefan) (diff)

There is inconsistency with the method get(K) of ImmTreeMap class - when the provided key is missing, it throws an exception. Needed behavior is to return null.
wiki page: IMM_COLLECTIONS_REFACTOR. Review usage - calling of this method.

Attachments

2433_de_fi.patch (62.9 KB) - added by stefan 15 years ago.

Change History

comment:1 Changed 15 years ago by stefan

  • Status changed from new to s1b_analysis_finished

comment:2 Changed 15 years ago by stefan

  • Ticket_group set to immutable collections
  • Description modified (diff)

comment:3 Changed 15 years ago by pap

  • Status changed from s1b_analysis_finished to new
  • Analysis_reviewers set to pap
  • Analysis_score changed from 0 to 2
  • Actually the problem is not with this method.
  • The problem is in ImmTreeMap.get(key) that throws when queried for a nonexistent key.
  • Instead of that it should return null.
  • Also it is advisable that the usages of this method are reviewed and simplified as now they all explicitly call contains. And this should be pointed as a requirement.

comment:4 Changed 15 years ago by stefan

  • Status changed from new to s1b_analysis_finished
  • Description modified (diff)

comment:5 Changed 15 years ago by pap

  • Analysis_score changed from 2 to 3.5
  • Better now.
  • I accept it.

comment:6 Changed 15 years ago by stefan

  • Status changed from s1b_analysis_finished to s2a_design_started

comment:7 Changed 15 years ago by stefan

  • Status changed from s2a_design_started to s2b_design_finished

problem is in the if clause in the get() method. Now is fixed. All of the recurrences of use of the method are reviewed and fixed. Patch is uploaded.

Changed 15 years ago by stefan

comment:8 Changed 15 years ago by stefan

  • Status changed from s2b_design_finished to s2c_design_ok

comment:9 Changed 15 years ago by stefan

  • Owner set to stefan
  • Status changed from s2c_design_ok to s3a_implementation_started

comment:10 Changed 15 years ago by stefan

  • Design_owners set to stefan
  • Status changed from s3a_implementation_started to s3b_implementation_finished
  • Imp._owners set to stefan

comment:11 Changed 15 years ago by meddle

  • Status changed from s3b_implementation_finished to s3c_implementation_ok
  • Design_score changed from 0 to 4
  • Design_reviewers set to meddle
  • Imp._score changed from 0 to 4
  • Imp._reviewers set to meddle

Merged into the trunk at [9155].

A lot of nothing to say :)

4p

comment:12 Changed 13 years ago by meddle

  • Status changed from s3c_implementation_ok to closed
  • Resolution set to obsolete

Closing all the tickets before M Y1

Note: See TracTickets for help on using tickets.