File tree Expand file tree Collapse file tree 4 files changed +26
-2
lines changed
Expand file tree Collapse file tree 4 files changed +26
-2
lines changed Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ namespace ScriptEngine
77{
88 class CodePositionInfo
99 {
10+ public string ModuleName { get ; set ; }
1011 public int LineNumber { get ; set ; }
1112 public string Code { get ; set ; }
1213 }
Original file line number Diff line number Diff line change @@ -80,7 +80,16 @@ private ModuleHandle Compile(ICodeSource source)
8080
8181 var compiler = new Compiler . Compiler ( ) ;
8282 ModuleImage compiledImage ;
83- compiledImage = compiler . Compile ( parser , _currentContext ) ;
83+ try
84+ {
85+ compiledImage = compiler . Compile ( parser , _currentContext ) ;
86+ }
87+ catch ( ScriptException e )
88+ {
89+ e . ModuleName = source . SourceDescription ;
90+ throw ;
91+ }
92+
8493 foreach ( var item in _predefinedVariables )
8594 {
8695 var varDef = _scope . GetVariable ( item ) ;
Original file line number Diff line number Diff line change @@ -349,6 +349,7 @@ private void MainCommandLoop()
349349 private void SetScriptExceptionSource ( RuntimeException exc )
350350 {
351351 exc . LineNumber = _lineNumber ;
352+ exc . ModuleName = _module . ModuleInfo . ModuleName ;
352353 if ( _module . ModuleInfo != null )
353354 {
354355 exc . Code = _module . ModuleInfo . CodeIndexer . GetCodeLine ( _lineNumber ) ;
Original file line number Diff line number Diff line change @@ -57,11 +57,24 @@ internal set
5757 }
5858 }
5959
60+ public string ModuleName
61+ {
62+ get
63+ {
64+ return _codePosition . ModuleName ;
65+ }
66+ internal set
67+ {
68+ _codePosition . ModuleName = value ;
69+ }
70+ }
71+
6072 public override string Message
6173 {
6274 get
6375 {
64- return String . Format ( "{{Ошибка в строке {0}: {1}}}\n {2}" ,
76+ return String . Format ( "{{Модуль {0} / Ошибка в строке: {1} / {2}}}\n {3}" ,
77+ _codePosition . ModuleName ,
6578 _codePosition . LineNumber ,
6679 base . Message ,
6780 _codePosition . Code ) ;
You can’t perform that action at this time.
0 commit comments