--- parser3/src/classes/op.C 2009/08/08 13:30:20 1.197 +++ parser3/src/classes/op.C 2010/05/20 04:36:36 1.199 @@ -5,7 +5,7 @@ Author: Alexandr Petrosian (http://paf.design.ru) */ -static const char * const IDENT_OP_C="$Date: 2009/08/08 13:30:20 $"; +static const char * const IDENT_OP_C="$Date: 2010/05/20 04:36:36 $"; #include "classes.h" #include "pa_vmethod_frame.h" @@ -66,6 +66,7 @@ public: Untaint_lang_name2enum() { #define ULN(name, LANG) \ put(String::Body(name), (value_type)(String::L_##LANG)); + ULN("clean", CLEAN); ULN("as-is", AS_IS); ULN("optimized-as-is", AS_IS|String::L_OPTIMIZE_BIT); ULN("file-spec", FILE_SPEC); @@ -283,7 +284,9 @@ static void _while(Request& r, MethodPar static void _use(Request& r, MethodParams& params) { Value& vfile=params.as_no_junction(0, FILE_NAME_MUST_NOT_BE_CODE); - r.use_file(r.main_class, vfile.as_string()); + + // _use could be called from the parser3 method only, so caller is always defined + r.use_file(r.main_class, vfile.as_string(), r.get_method_filename(r.get_method_frame()->caller()->junction.method)); } static void set_skip(Request& r, Request::Skip askip) {