summaryrefslogtreecommitdiffstats
path: root/extensions/TrackingFlags/lib/Flag.pm
diff options
context:
space:
mode:
authorUpasana <upasana-me@users.noreply.github.com>2018-03-05 00:58:41 +0100
committerDylan William Hardison <dylan@hardison.net>2018-03-05 00:58:41 +0100
commited53ecda0546d6c639fa3d227a59ace4d57b81a5 (patch)
treee716548b5b3b6129396bb559ab2acb32fcfad09d /extensions/TrackingFlags/lib/Flag.pm
parent456dd5df6dfc799d72d446541ce5da147917db6e (diff)
downloadbugzilla-ed53ecda0546d6c639fa3d227a59ace4d57b81a5.tar.gz
bugzilla-ed53ecda0546d6c639fa3d227a59ace4d57b81a5.tar.xz
Bug 1273381 - Improve bugzilla object performance by using Class::XSAccessor for object accessors
Diffstat (limited to 'extensions/TrackingFlags/lib/Flag.pm')
-rw-r--r--extensions/TrackingFlags/lib/Flag.pm11
1 files changed, 9 insertions, 2 deletions
diff --git a/extensions/TrackingFlags/lib/Flag.pm b/extensions/TrackingFlags/lib/Flag.pm
index 82c0314e3..f54e42a7a 100644
--- a/extensions/TrackingFlags/lib/Flag.pm
+++ b/extensions/TrackingFlags/lib/Flag.pm
@@ -376,8 +376,16 @@ sub set_is_active { $_[0]->set('is_active', $_[1]); }
#### Accessors ####
###############################
+use constant ID_FIELD => 'field_id';
+
+use Class::XSAccessor {
+ accessors => {
+ id => __PACKAGE__->ID_FIELD,
+ name => __PACKAGE__->NAME_FIELD,
+ },
+};
+
sub flag_id { return $_[0]->{'id'}; }
-sub name { return $_[0]->{'name'}; }
sub description { return $_[0]->{'description'}; }
sub flag_type { return $_[0]->{'type'}; }
sub sortkey { return $_[0]->{'sortkey'}; }
@@ -460,7 +468,6 @@ sub activity_count {
# Here we return 'field_id' instead of the real
# id as we want other Bugzilla code to treat this
# as a Bugzilla::Field object in certain places.
-sub id { return $_[0]->{'field_id'}; }
sub type { return FIELD_TYPE_EXTENSION; }
sub legal_values { return $_[0]->values; }
sub custom { return 1; }