@@ -218,6 +218,18 @@ SyntaxAnalysis.prototype.AnalyseModule = function (sourceCode, initValueTable, t
218218 state = stInVarsDef ;
219219 }
220220 break ;
221+ } else {
222+ while ( ( Matches = this . RE_CALL . exec ( str ) ) != null )
223+ {
224+ if ( Matches [ 1 ] . charAt ( 0 ) == "." ) {
225+ continue ;
226+ }
227+ moduleContext . CallsPosition . push ( { "call" : Matches [ 1 ] , "line" : i , "character" : Lines [ i ] . indexOf ( Matches [ 1 ] ) } ) ;
228+ if ( moduleContext . _CallsUpper . indexOf ( Matches [ 1 ] . toUpperCase ( ) ) >= 0 ) { continue } ;
229+ moduleContext . Calls . push ( Matches [ 1 ] ) ;
230+ moduleContext . _CallsUpper . push ( Matches [ 1 ] . toUpperCase ( ) ) ;
231+
232+ }
221233 }
222234 break ;
223235 case stInProc :
@@ -340,8 +352,8 @@ _1CModule.prototype.getMethodByLineNumber = function (lineNo) {
340352(строка, в которой находится курсор). */
341353_1CModule . prototype . getActiveLineMethod = function ( ) {
342354 throw ( "Not implement" ) ;
343- var pos = this . textWindow . GetCaretPos ( ) ;
344- return this . getMethodByLineNumber ( pos . beginRow ) ;
355+ /*let pos = this.textWindow.GetCaretPos();
356+ return this.getMethodByLineNumber(pos.beginRow);*/
345357}
346358
347359//// } _1CModule
@@ -362,6 +374,10 @@ function _1CModuleContextDescription(initValueTable) {
362374
363375 // Ассоциативный массив Имя переменной -> Тип переменной (пока тип всегда null).
364376 this . _moduleVarsTypes = { } ;
377+ this . Calls = new Array ( ) ;
378+ this . _CallsUpper = new Array ( ) ;
379+ this . CallsPosition = new Array ( ) ;
380+
365381 this . db = new Loki ( 'loki.json' ) ;
366382
367383
@@ -370,32 +386,18 @@ function _1CModuleContextDescription(initValueTable) {
370386 {
371387 this . _vtAllMethods = this . db . addCollection ( "ValueTable" ) ;
372388
373- // var v8Type_String = v8New('TypeDescription', 'Строка', undefined, v8New('StringQualifiers', 255));
374- // var v8Type_Number = v8New('TypeDescription', 'Число', v8New('NumberQualifiers', 10, 0));
375- // var v8Type_Boolean = v8New('TypeDescription', 'Булево');
376-
377- // this._vtAllMethods = v8New('ValueTable');
378- // var cols = this._vtAllMethods.Columns;
379- // // Добавляем колонки.
380- // cols.Add('Name', v8Type_String, 'Имя процедуры/функции');
381- // cols.Add('IsProc', v8Type_Boolean, 'Процедура');
382- // cols.Add('StartLine', v8Type_Number, 'N первой строки');
383- // cols.Add('EndLine', v8Type_Number, 'N последней строки');
384- // cols.Add('Context', v8Type_String, 'Контекст компиляции модуля');
385- //
386- // cols.Add('_method'); // _1CMethodDescription
387389 }
388390}
389391
390392_1CModuleContextDescription . prototype . NewString = function ( ) {
391393
392394 return {
393395 name :"" , //'Имя процедуры/функции'
394- isproc :false , //'Процедура = false , Функция = true
396+ isproc :false , //'Процедура = true , Функция = false
395397 line :0 , //начало
396398 endline :0 , //конец процедуры
397399 context :"" , //'Контекст компиляции модуля'
398- _method :"" ,
400+ _method :"" , // object
399401 isexport : false ,
400402 description : ""
401403
0 commit comments