@@ -246,58 +246,48 @@ define(function(require, exports, module) {
246246 // @todo : handle enum elements
247247 var parseAst = function ( ast , item ) {
248248 _ . forEach ( ast , function ( ele ) {
249+ var toPush = {
250+ pos : { sl : ele . loc_row - 1 , sc : ele . loc_col - 1 } ,
251+ displayPos : { sl : ele . loc_row - 1 , sc : ele . loc_col - 1 } ,
252+ items : [ ] ,
253+ name : ele . name
254+ } ;
255+
249256 switch ( ele . cursor ) {
250257 // includes, no subs
251258 case completion_type . include_t :
252- item . items . push ( {
253- icon : "c_cpp_include" ,
254- name : "<" + ele . name + ">" ,
255- pos : { sl : ele . loc_row , sc : ele . loc_col } ,
256- displayPos : { ele . loc_row, sc : ele . loc_col }
257- } ) ;
259+ toPush . icon = "c_cpp_include" ;
260+ toPush . name = "<" + ele . name + ">" ;
261+
262+ item . items . push ( toPush ) ;
258263 break ;
259264
260265 // classes, subs maybe other classes, attributes or functions
261266 case completion_type . class_t :
262267 case completion_type . union_t :
263268 case completion_type . struct_t :
264269 case completion_type . enum_t : {
265- var it = {
266- icon : "c_cpp_class" ,
267- name : ele . name ,
268- pos : { ele. loc_row , sc : ele . loc_col } ,
269- displayPos : { ele . loc_row, sc : ele . loc_col } ,
270- items : [ ]
271- } ;
272-
273- parseAst ( ele . children , it ) ;
274- item . items . push ( it ) ;
270+ toPush . icon = "c_cpp_class" ;
271+
272+ parseAst ( ele . children , toPush ) ;
273+ item . items . push ( toPush ) ;
275274 } break ;
276275
277276 // attributes, no subs
278277 case completion_type . enum_static_t :
279278 case completion_type . attribute_t :
280- item . items . push ( {
281- icon : "property" ,
282- name : ele . name ,
283- pos : { ele. loc_row , sc : ele . loc_col } ,
284- displayPos : { ele . loc_row , sc : ele . loc_col }
285- } ) ;
279+ toPush . icon = "property" ;
280+ item . items . push ( toPush ) ;
286281 break ;
287282
288283 // functions and methods
289284 case completion_type . function_t :
290285 case completion_type . method_t : {
291- var it = {
292- icon : "method2" ,
293- name : ele . name + astParam ( ele . children ) ,
294- pos : { sl : 1 , sc : 1 } ,
295- displayPos : { sl : 1 , sc : 1 } ,
296- items : [ ]
297- } ;
298-
299- parseAst ( ele . children , it ) ;
300- item . items . push ( it ) ;
286+ toPush . icon = "method2" ;
287+ toPush . name = ele . name + astParam ( ele . children ) ;
288+
289+ parseAst ( ele . children , toPush ) ;
290+ item . items . push ( toPush ) ;
301291 } break ;
302292 }
303293 } ) ;
0 commit comments