@@ -70,27 +70,40 @@ function mergeOverloadedMethods(data) {
7070 }
7171 } ;
7272
73- var extractConsts = function ( params ) {
74- params &&
75- params . forEach ( function ( param ) {
76- if ( param . type . split ( '|' ) . indexOf ( 'Constant' ) >= 0 ) {
77- var match ;
78- if ( classitem . name === 'endShape' && param . name === 'mode' ) {
79- match = 'CLOSE' ;
80- } else {
81- var constantRe = / e i t h e r \s + (?: [ A - Z 0 - 9 _ ] + \s * , ? \s * (?: o r ) ? \s * ) + / g;
82- var execResult = constantRe . exec ( param . description ) ;
83- match = execResult && execResult [ 0 ] ;
84- }
85- if ( match ) {
86- var reConst = / [ A - Z 0 - 9 _ ] + / g;
87- var matchConst ;
88- while ( ( matchConst = reConst . exec ( match ) ) !== null ) {
89- methodConsts [ matchConst ] = true ;
90- }
91- }
73+ var extractConsts = function ( param ) {
74+ if ( ! param . type ) {
75+ console . log ( param ) ;
76+ }
77+ if ( param . type . split ( '|' ) . indexOf ( 'Constant' ) >= 0 ) {
78+ var match ;
79+ if ( classitem . name === 'endShape' && param . name === 'mode' ) {
80+ match = 'CLOSE' ;
81+ } else {
82+ var constantRe = / e i t h e r \s + (?: [ A - Z 0 - 9 _ ] + \s * , ? \s * (?: o r ) ? \s * ) + / g;
83+ var execResult = constantRe . exec ( param . description ) ;
84+ match = execResult && execResult [ 0 ] ;
85+ if ( ! match ) {
86+ throw new Error (
87+ classitem . file +
88+ ':' +
89+ classitem . line +
90+ ', Constant-typed parameter ' +
91+ fullName +
92+ '(...' +
93+ param . name +
94+ '...) is missing valid value enumeration. ' +
95+ 'See inline_documentation.md#specify-parameters.'
96+ ) ;
97+ }
98+ }
99+ if ( match ) {
100+ var reConst = / [ A - Z 0 - 9 _ ] + / g;
101+ var matchConst ;
102+ while ( ( matchConst = reConst . exec ( match ) ) !== null ) {
103+ methodConsts [ matchConst ] = true ;
92104 }
93- } ) ;
105+ }
106+ }
94107 } ;
95108
96109 var processOverloadedParams = function ( params ) {
@@ -125,10 +138,10 @@ function mergeOverloadedMethods(data) {
125138 ) ;
126139 } else {
127140 paramNames [ param . name ] = param ;
141+ extractConsts ( param ) ;
128142 }
129143 } ) ;
130144
131- extractConsts ( params ) ;
132145 return params ;
133146 } ;
134147
@@ -182,7 +195,11 @@ function mergeOverloadedMethods(data) {
182195 method . overloads . push ( makeOverload ( classitem ) ) ;
183196 return false ;
184197 } else {
185- extractConsts ( classitem . params ) ;
198+ if ( classitem . params ) {
199+ classitem . params . forEach ( function ( param ) {
200+ extractConsts ( param ) ;
201+ } ) ;
202+ }
186203 methodsByFullName [ fullName ] = classitem ;
187204 }
188205
0 commit comments