логический тип в инт

This commit is contained in:
2025-03-28 20:01:17 +03:00
parent ef5bd5b1a8
commit 18227f565a
5 changed files with 16 additions and 19 deletions

11
.idea/workspace.xml generated
View File

@@ -7,13 +7,10 @@
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment=""> <list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/SapforData/Loops/Json/LoopJson.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/Project/db_project_info.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/Project/db_project_info.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/SapforData/Functions/FuncCall.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/SapforData/Functions/FuncCall.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/SPF_GetGraphLoops.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/SPF_GetGraphLoops.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/SapforData/Functions/FuncCallH.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/SapforData/Functions/FuncCallH.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/Files/DBProjectFile.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/Files/DBProjectFile.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/SapforData/Functions/FuncInfo.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/SapforData/Functions/FuncInfo.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/SapforData/FileObject.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/SapforData/FileObject.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/SapforData/Loops/Json/LoopsJson.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/SapforData/Loops/Json/LoopsJson.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/SapforData/Loops/Loop.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/SapforData/Loops/Loop.java" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />

View File

@@ -777,8 +777,8 @@ public class db_project_info extends DBObject {
if (call.funcName.equals(decl1.funcName)) { if (call.funcName.equals(decl1.funcName)) {
if (!decl1.own_calls.containsKey(call.file)) if (!decl1.own_calls.containsKey(call.file))
decl1.own_calls.put(call.file, new Vector<>()); decl1.own_calls.put(call.file, new Vector<>());
if (decl1.needToInline) call.Select(true); if (decl1.needToInline==1) call.Select(true);
call.canBeInlined = !decl1.doNotInline; call.canBeInlined = (decl1.doNotInline==1)?0:1;
decl1.own_calls.get(call.file).add(call); decl1.own_calls.get(call.file).add(call);
node.add(new DefaultMutableTreeNode(call)); node.add(new DefaultMutableTreeNode(call));
} }

View File

@@ -14,7 +14,7 @@ public class FuncCall extends FileObjectWithMessages{
@Expose @Expose
public String funcName = ""; //не нужны дополнительные поля.имя функции это уже ключ. public String funcName = ""; //не нужны дополнительные поля.имя функции это уже ключ.
@Expose @Expose
public boolean canBeInlined = false; public int canBeInlined = 0;
@Expose @Expose
public int parent_offset = 0; public int parent_offset = 0;
//--- //---
@@ -31,7 +31,7 @@ public class FuncCall extends FileObjectWithMessages{
} }
@Override @Override
public boolean isSelectionEnabled() { public boolean isSelectionEnabled() {
return canBeInlined; return canBeInlined!=0;
} }
@Override @Override
public String getSelectionText() { public String getSelectionText() {

View File

@@ -24,7 +24,7 @@ public class FuncCallH extends FuncCall {
file = funcInfo.file; file = funcInfo.file;
line = funcInfo.line; line = funcInfo.line;
funcName = funcInfo.funcName; funcName = funcInfo.funcName;
canBeInlined = true; canBeInlined = 1;
parent_offset = 0; parent_offset = 0;
} }
@Override @Override

View File

@@ -18,11 +18,11 @@ public class FuncInfo extends FileObjectWithMessages {
@Expose @Expose
public FunctionType type; public FunctionType type;
@Expose @Expose
public boolean doNotInline; public int doNotInline;
@Expose @Expose
public boolean doNotAnalyze; public int doNotAnalyze;
@Expose @Expose
public boolean needToInline; public int needToInline;
@Expose @Expose
public FuncParam parameters; public FuncParam parameters;
//вызовы функций в теле этой функции //вызовы функций в теле этой функции
@@ -38,9 +38,9 @@ public class FuncInfo extends FileObjectWithMessages {
funcName = f_name; funcName = f_name;
lineEnd = Integer.parseInt(splited[1]); lineEnd = Integer.parseInt(splited[1]);
calls_number.Set(Integer.parseInt(splited[2])); calls_number.Set(Integer.parseInt(splited[2]));
needToInline = (Integer.parseInt(splited[3])) != 0; needToInline = Integer.parseInt(splited[3]);
doNotInline = (Integer.parseInt(splited[4])) != 0; doNotInline = Integer.parseInt(splited[4]);
doNotAnalyze = (Integer.parseInt(splited[5])) != 0; doNotAnalyze = Integer.parseInt(splited[5]);
//в си это поле isMain //в си это поле isMain
type = ((Integer.parseInt(splited[6])) != 0) ? FunctionType.Main : FunctionType.Default; type = ((Integer.parseInt(splited[6])) != 0) ? FunctionType.Main : FunctionType.Default;
parameters = new FuncParam(); parameters = new FuncParam();
@@ -55,7 +55,7 @@ public class FuncInfo extends FileObjectWithMessages {
public FuncInfo(String f_name, FunctionType type_in) { public FuncInfo(String f_name, FunctionType type_in) {
funcName = f_name; funcName = f_name;
type = type_in; type = type_in;
doNotInline = true; doNotInline = 1;
} }
//-- //--
@Override @Override