Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 20 additions & 20 deletions src/backend/gdb_expansion.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ const pointerCombineChar = ".";
export function isExpandable(value: string): number {
let match;
value = value.trim();
if (value.length == 0) return 0;
if (value.length === 0) return 0;
else if (value.startsWith("{...}")) return 2; // lldb string/array
else if (value[0] == '{') return 1; // object
else if (value[0] === '{') return 1; // object
else if (value.startsWith("true")) return 0;
else if (value.startsWith("false")) return 0;
else if (match = nullpointerRegex.exec(value)) return 0;
Expand All @@ -33,7 +33,7 @@ export function isExpandable(value: string): number {
export function expandValue(variableCreate: (arg: VariableObject | string, options?: any) => any, value: string, root: string = "", extra: any = undefined): any {
const parseCString = () => {
value = value.trim();
if (value[0] != '"' && value[0] != '\'')
if (value[0] !== '"' && value[0] !== '\'')
return "";
let stringEnd = 1;
let inString = true;
Expand All @@ -43,9 +43,9 @@ export function expandValue(variableCreate: (arg: VariableObject | string, optio
while (inString) {
if (escaped)
escaped = false;
else if (remaining[0] == '\\')
else if (remaining[0] === '\\')
escaped = true;
else if (remaining[0] == charStr)
else if (remaining[0] === charStr)
inString = false;

remaining = remaining.substring(1);
Expand Down Expand Up @@ -87,17 +87,17 @@ export function expandValue(variableCreate: (arg: VariableObject | string, optio

const parseTupleOrList = () => {
value = value.trim();
if (value[0] != '{')
if (value[0] !== '{')
return undefined;
const oldContent = value;
value = value.substring(1).trim();
if (value[0] == '}') {
if (value[0] === '}') {
value = value.substring(1).trim();
return [];
}
if (value.startsWith("...")) {
value = value.substring(3).trim();
if (value[0] == '}') {
if (value[0] === '}') {
value = value.substring(1).trim();
return <any> "<...>";
}
Expand All @@ -107,14 +107,14 @@ export function expandValue(variableCreate: (arg: VariableObject | string, optio
const newValPos2 = value.indexOf(",");
const newValPos3 = value.indexOf("}");
let newValPos = newValPos1;
if (newValPos2 != -1 && newValPos2 < newValPos1)
if (newValPos2 !== -1 && newValPos2 < newValPos1)
newValPos = newValPos2;
if (newValPos != -1 && eqPos > newValPos || eqPos == -1 || eqPos > newValPos3 && newValPos2 != -1 || value.startsWith("std::")) { // is value list
if (newValPos !== -1 && eqPos > newValPos || eqPos === -1 || eqPos > newValPos3 && newValPos2 !== -1 || value.startsWith("std::")) { // is value list
const values = [];
stack.push("[0]");
let val = parseValue();
stack.pop();
if(typeof val == "string" && val.endsWith('>')){
if(typeof val === "string" && val.endsWith('>')){
val = val.substring(0, val.length - 2);
}
values.push(createValue("[0]", val));
Expand Down Expand Up @@ -150,7 +150,7 @@ export function expandValue(variableCreate: (arg: VariableObject | string, optio
let primitive: any;
let match;
value = value.trim();
if (value.length == 0)
if (value.length === 0)
primitive = undefined;
else if (value.startsWith("true")) {
primitive = "true";
Expand Down Expand Up @@ -191,9 +191,9 @@ export function expandValue(variableCreate: (arg: VariableObject | string, optio

parseValue = () => {
value = value.trim();
if (value[0] == '"')
if (value[0] === '"')
return parseCString();
else if (value[0] == '{')
else if (value[0] === '{')
return parseTupleOrList();
else if(value.startsWith("std::")){
const eqPos = value.indexOf("=");
Expand Down Expand Up @@ -225,21 +225,21 @@ export function expandValue(variableCreate: (arg: VariableObject | string, optio

createValue = (name: string, val: any) => {
let ref = 0;
if (typeof val == "object") {
if (typeof val === "object") {
ref = variableCreate(val);
val = "Object";
} else if (typeof val == "string" && val.startsWith("*0x")) {
} else if (typeof val === "string" && val.startsWith("*0x")) {
if (extra && MINode.valueOf(extra, "arg") == "1") {
ref = variableCreate(getNamespace("*(" + name), { arg: true });
val = "<args>";
} else {
ref = variableCreate(getNamespace("*" + name));
val = "Object@" + val;
}
} else if (typeof val == "string" && val.startsWith("@0x")) {
} else if (typeof val === "string" && val.startsWith("@0x")) {
ref = variableCreate(getNamespace("*&" + name.substring(1)));
val = "Ref" + val;
} else if (typeof val == "string" && val.startsWith("<...>")) {
} else if (typeof val === "string" && val.startsWith("<...>")) {
ref = variableCreate(getNamespace(name));
val = "...";
}
Expand All @@ -255,15 +255,15 @@ export function expandValue(variableCreate: (arg: VariableObject | string, optio

parseCommaValue = () => {
value = value.trim();
if (value[0] != ',')
if (value[0] !== ',')
return undefined;
value = value.substring(1).trim();
return parseValue();
};

parseCommaResult = (pushToStack: boolean = false) => {
value = value.trim();
if (value[0] != ',')
if (value[0] !== ',')
return undefined;
value = value.substring(1).trim();
return parseResult(pushToStack);
Expand Down
Loading