diff --git a/lib/jsduck/process/ext4_events.rb b/lib/jsduck/process/ext4_events.rb index 78f5f84dd95af3e6c742d2e95fa0e1556ebb741b..302060b97a721b866ab9e2f916ed294f22ceba14 100644 --- a/lib/jsduck/process/ext4_events.rb +++ b/lib/jsduck/process/ext4_events.rb @@ -34,7 +34,8 @@ module JsDuck :tagname => :params, :name => "eOpts", :type => "Object", - :doc => "The options object passed to {@link Ext.util.Observable#addListener}." + :doc => "The options object passed to {@link Ext.util.Observable#addListener}.", + :ext4_auto_param => true, } end diff --git a/lib/jsduck/process/inherit_members.rb b/lib/jsduck/process/inherit_members.rb index 8c1813ee62b8a419ea47203c2f42ae6a242b63e4..29a9b160ba43e28caca1e8b91c7d0af8626bced8 100644 --- a/lib/jsduck/process/inherit_members.rb +++ b/lib/jsduck/process/inherit_members.rb @@ -92,8 +92,8 @@ module JsDuck end def inherit_params?(m, parent) - # ignore the eOpts auto-inserted param of Ext4-style events - params = (m[:params] || []).reject {|p| p[:name] == "eOpts" } + # ignore the auto-inserted param of Ext4-style events + params = (m[:params] || []).reject {|p| p[:ext4_auto_param] } if params.length > 0 && !auto?(m, :params) # member itself has params and these are not auto-detected diff --git a/spec/aggregator_ext4_events_spec.rb b/spec/aggregator_ext4_events_spec.rb index 549d3c9a8be5a8e1afc1dce0a905810d18ec907b..6c137ab928d653cf04aacfd85c25af27d591e73b 100644 --- a/spec/aggregator_ext4_events_spec.rb +++ b/spec/aggregator_ext4_events_spec.rb @@ -34,6 +34,10 @@ describe JsDuck::Aggregator do it "with standard description" do event[:params][2][:doc].should =~ /The options object passed to.*addListener/ end + + it "with special :ext4event flag" do + event[:params][2][:ext4_auto_param].should == true + end end describe "When some class defined with Ext.define" do