передача смешения при точечной подстановке процедур.v++
This commit is contained in:
@@ -8,6 +8,7 @@ import Visual_DVM_2021.Passes.Pass_2021;
|
||||
public class FuncCall extends FileObjectWithMessages {
|
||||
public String funcName = ""; //не нужны дополнительные поля.имя функции это уже ключ.
|
||||
public boolean canBeInlined = false;
|
||||
public FuncInfo parent = null;
|
||||
public FuncCall(DBProjectFile father_in, String funcName_in, int line_in) {
|
||||
super(father_in, line_in);
|
||||
funcName = funcName_in;
|
||||
@@ -34,4 +35,7 @@ public class FuncCall extends FileObjectWithMessages {
|
||||
UI.Info("Для подстановки функций требуется выполнить проход " + Utils.DQuotes(PassCode_2021.SPF_GetGraphFunctions.getDescription()));
|
||||
}
|
||||
}
|
||||
public int getInlineOffset(){
|
||||
return parent.line-line;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ public class Visualiser extends Component {
|
||||
//http://www.seostella.com/ru/article/2012/02/05/formatirovanie-daty-v-java.html
|
||||
@Override
|
||||
public void GetVersionInfo() {
|
||||
version = 1033;
|
||||
version = 1034;
|
||||
String pattern = "MMM dd yyyy HH:mm:ss";
|
||||
DateFormat df = new SimpleDateFormat(pattern, Locale.ENGLISH);
|
||||
date_text = df.format(getClassBuildTime());
|
||||
|
||||
@@ -85,6 +85,7 @@ public class SPF_GetGraphFunctions extends SapforAnalysis {
|
||||
int c_line = Integer.parseInt(splited[idx.Inc()]);
|
||||
//-
|
||||
FuncCall fc = new FuncCall(file, call_name, c_line);
|
||||
fc.parent = nf;
|
||||
nf.calls.add(fc);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ public class SPF_InlineProcedure extends SapforFilesModification {
|
||||
protected boolean canStart(Object... args) throws Exception {
|
||||
if (super.canStart(args) && (call = (args.length > 0) ? (FuncCall) args[0] : null) != null) {
|
||||
addOpt1 = call.funcName + "|" + Current.getFile().name;
|
||||
addOpt2 = String.valueOf(call.line);
|
||||
addOpt2 = String.valueOf(call.getInlineOffset());
|
||||
Global.changeSetting(SettingName.PARSE_FOR_INLINE, "1");
|
||||
// Pass_2021.passes.get(PassCode_2021.UpdateSetting).Do(SettingName.PARSE_FOR_INLINE, "1");
|
||||
SPF_ParseFilesWithOrder.silent = true;
|
||||
|
||||
@@ -31,7 +31,7 @@ public class SPF_InlineProcedures extends SapforTransformation {
|
||||
Result.add(String.valueOf(selected_children.size()));
|
||||
for (FuncCall fc : selected_children) {
|
||||
Result.add(fc.file);
|
||||
Result.add(String.valueOf(fc.line));
|
||||
Result.add(String.valueOf(fc.getInlineOffset()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user