Skip to content

Commit

Permalink
style: fix no-prototype-builtins linter rule violations, included rem…
Browse files Browse the repository at this point in the history
…oval of duplicate code in gdb.ts
  • Loading branch information
ssimek committed Jan 16, 2025
1 parent 2435a08 commit a839d95
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 47 deletions.
1 change: 0 additions & 1 deletion eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,6 @@ export default tseslint.config(
'@typescript-eslint/restrict-template-expressions': 'off', // 17 instances
'prefer-const': 'off', // 13 instances
'@typescript-eslint/require-await': 'off', // 11 instances
'no-prototype-builtins': 'off', // 10 instances
}
},
{
Expand Down
2 changes: 1 addition & 1 deletion src/frontend/configprovider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@ export class CortexDebugConfigurationProvider implements vscode.DebugConfigurati
}

private static adjustStrIntProp(obj: object, prop: string, where: string) {
if (!obj.hasOwnProperty(prop)) {
if (!(prop in obj)) {
return;
}
let val: any = obj[prop];
Expand Down
2 changes: 1 addition & 1 deletion src/frontend/rtos/rtos-chibios.ts
Original file line number Diff line number Diff line change
Expand Up @@ -307,7 +307,7 @@ export class RTOSChibiOS extends RTOSCommon.RTOSBase {
const currentThreadCtx = await this.getVarChildrenObj(thInfo['ctx-ref'], 'ctx');
const currentThreadCtxRegs = await this.getVarChildrenObj(currentThreadCtx['sp-ref'], 'sp');

stackInfo.stackTop = getNumberNVL(currentThreadCtxRegs.hasOwnProperty('r13-val') ? currentThreadCtxRegs['r13-val'] : currentThreadCtx['sp-val'], 0);
stackInfo.stackTop = getNumberNVL('r13-val' in currentThreadCtxRegs ? currentThreadCtxRegs['r13-val'] : currentThreadCtx['sp-val'], 0);
stackInfo.stackEnd = getNumberNVL(thInfo['wabase-val'], 0);

if (stackInfo.stackTop === 0 || stackInfo.stackEnd === 0) {
Expand Down
8 changes: 4 additions & 4 deletions src/frontend/rtos/rtos-embos.ts
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ export class RTOSEmbOS extends RTOSCommon.RTOSBase {

let isRunning: any = '0';

if (this.OSGlobalVal.hasOwnProperty('IsRunning-val')) {
if ('IsRunning-val' in this.OSGlobalVal) {
isRunning = this.OSGlobalVal['IsRunning-val'];
} else {
/* older embOS versions do not have IsRunning struct member */
Expand Down Expand Up @@ -217,10 +217,10 @@ export class RTOSEmbOS extends RTOSCommon.RTOSBase {
do {
let thName = '???';

if (curTaskObj.hasOwnProperty('sName-val')) {
if (typeof curTaskObj['sName-val'] === 'string') {
const matchName = curTaskObj['sName-val'].match(/"([^*]*)"$/);
thName = matchName ? matchName[1] : curTaskObj['sName-val'];
} else if (curTaskObj.hasOwnProperty('Name-val')) { /* older embOS versions used Name */
} else if (typeof curTaskObj['Name-val'] === 'string') { /* older embOS versions used Name */
const matchName = curTaskObj['Name-val'].match(/"([^*]*)"$/);
thName = matchName ? matchName[1] : curTaskObj['Name-val'];
}
Expand Down Expand Up @@ -373,7 +373,7 @@ export class RTOSEmbOS extends RTOSCommon.RTOSBase {
const StackSize = thInfo['StackSize-val'];
let EndOfStack: any;

if (thInfo.hasOwnProperty('pStackBase-val')) {
if ('pStackBase-val' in thInfo) {
EndOfStack = thInfo['pStackBase-val'];
} else {
/* older embOS versions used pStackBot instead of pStackBase */
Expand Down
40 changes: 10 additions & 30 deletions src/gdb.ts
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@ export class GDBDebugSession extends LoggingDebugSession {
private debugLogFd = -1;

protected variableHandles = new Handles<string | VariableObject | ExtendedVariable>(HandleRegions.VAR_HANDLES_START);
protected variableHandlesReverse: { [id: string]: number } = {};
protected variableHandlesReverse = new Map<string, number>();
protected quit: boolean;
protected attached: boolean;
protected started: boolean;
Expand Down Expand Up @@ -1964,7 +1964,7 @@ export class GDBDebugSession extends LoggingDebugSession {
name = fullName ? fullName : `${parent.name}.${name}`;
} else if (varRef >= HandleRegions.STACK_HANDLES_START && varRef < HandleRegions.STACK_HANDLES_FINISH) {
const tryName = this.createStackVarName(name, varRef);
if (this.variableHandlesReverse.hasOwnProperty(tryName)) {
if (this.variableHandlesReverse.has(tryName)) {
name = tryName;
}
[threadId, frameId] = decodeReference(varRef);
Expand Down Expand Up @@ -2689,7 +2689,7 @@ export class GDBDebugSession extends LoggingDebugSession {
threadId: number, frameId: number, isFloating: boolean): Promise<DebugProtocol.Variable> {
try {
let varObj: VariableObject;
let varId = this.variableHandlesReverse[gdbVarName];
let varId = this.variableHandlesReverse.get(gdbVarName);
let createNewVar = varId === undefined;
let updateError;
if (!createNewVar) {
Expand All @@ -2700,7 +2700,7 @@ export class GDBDebugSession extends LoggingDebugSession {
const inScope = MINode.valueOf(change, 'in_scope');
if (inScope === 'true') {
const name = MINode.valueOf(change, 'name');
const vId = this.variableHandlesReverse[name];
const vId = this.variableHandlesReverse.get(name);
const v = this.variableHandles.get(vId) as any;
v.applyChanges(change);
} else {
Expand Down Expand Up @@ -2851,12 +2851,10 @@ export class GDBDebugSession extends LoggingDebugSession {
}

private findOrCreateVariable(varObj: VariableObject): number {
let id: number;
if (this.variableHandlesReverse.hasOwnProperty(varObj.name)) {
id = this.variableHandlesReverse[varObj.name];
} else {
let id = this.variableHandlesReverse.get(varObj.name);
if (id === undefined) {
id = this.createVariable(varObj);
this.variableHandlesReverse[varObj.name] = id;
this.variableHandlesReverse.set(varObj.name, id);
}
return varObj.isCompound() ? id : 0;
}
Expand Down Expand Up @@ -3187,24 +3185,6 @@ export class GDBDebugSession extends LoggingDebugSession {
resolve();
return;
}
const createVariable = (arg, options?) => {
if (options) {
return this.variableHandles.create(new ExtendedVariable(arg, options));
} else {
return this.variableHandles.create(arg);
}
};

const findOrCreateVariable = (varObj: VariableObject): number => {
let id: number;
if (this.variableHandlesReverse.hasOwnProperty(varObj.name)) {
id = this.variableHandlesReverse[varObj.name];
} else {
id = createVariable(varObj);
this.variableHandlesReverse[varObj.name] = id;
}
return varObj.isCompound() ? id : 0;
};

// Spec says if 'frameId' is specified, evaluate in the scope specified or in the global scope. Well,
// we don't have a way to specify global scope ... use floating variable.
Expand All @@ -3225,7 +3205,7 @@ export class GDBDebugSession extends LoggingDebugSession {
const exprName = hasher.digest('hex');
const varObjName = `${args.context}_${exprName}`;
let varObj: VariableObject;
let varId = this.variableHandlesReverse[varObjName];
let varId = this.variableHandlesReverse.get(varObjName);
let createNewVar = varId === undefined;
let updateError;
if (!createNewVar) {
Expand All @@ -3236,7 +3216,7 @@ export class GDBDebugSession extends LoggingDebugSession {
const inScope = MINode.valueOf(change, 'in_scope');
if (inScope === 'true') {
const name = MINode.valueOf(change, 'name');
const vId = this.variableHandlesReverse[name];
const vId = this.variableHandlesReverse.get(name);
const v = this.variableHandles.get(vId) as any;
v.applyChanges(change);
} else {
Expand Down Expand Up @@ -3264,7 +3244,7 @@ export class GDBDebugSession extends LoggingDebugSession {
varObj = await this.miDebugger.varCreate(0, exp, varObjName, '@', threadId, frameId);
}

varId = findOrCreateVariable(varObj);
varId = this.findOrCreateVariable(varObj);
varObj.exp = exp;
varObj.id = varId;
} else if (!varObj) {
Expand Down
18 changes: 8 additions & 10 deletions src/live-watch-monitor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export interface NameToVarChangeInfo {
}
export class VariablesHandler {
public variableHandles = new Handles<VariableType>(256);
public variableHandlesReverse: { [id: string]: number } = {};
public variableHandlesReverse = new Map<string, number>();
public cachedChangeList: NameToVarChangeInfo | undefined;

constructor(
Expand Down Expand Up @@ -49,7 +49,7 @@ export class VariablesHandler {
this.cachedChangeList = undefined;
break;
}
const vId = this.variableHandlesReverse[name];
const vId = this.variableHandlesReverse.get(name);
const v = this.variableHandles.get(vId) as any;
v.applyChanges(change);
}
Expand All @@ -67,12 +67,10 @@ export class VariablesHandler {
}

public findOrCreateVariable(varObj: VariableObject): number {
let id: number;
if (this.variableHandlesReverse.hasOwnProperty(varObj.name)) {
id = this.variableHandlesReverse[varObj.name];
} else {
let id = this.variableHandlesReverse.get(varObj.name);
if (id === undefined) {
id = this.createVariable(varObj);
this.variableHandlesReverse[varObj.name] = id;
this.variableHandlesReverse.set(varObj.name, id);
}
return varObj.isCompound() ? id : 0;
}
Expand Down Expand Up @@ -121,7 +119,7 @@ export class VariablesHandler {
const exprName = hasher.digest('hex');
const varObjName = `${args.context}_${exprName}`;
let varObj: VariableObject;
let varId = this.variableHandlesReverse[varObjName];
let varId = this.variableHandlesReverse.get(varObjName);
let forceCreate = varId === undefined;
let updateError;
if (!forceCreate) {
Expand All @@ -140,7 +138,7 @@ export class VariablesHandler {
const inScope = MINode.valueOf(change, 'in_scope');
if (inScope === 'true') {
const name = MINode.valueOf(change, 'name');
const vId = this.variableHandlesReverse[name];
const vId = this.variableHandlesReverse.get(name);
const v = this.variableHandles.get(vId) as any;
v.applyChanges(change);
if (this.cachedChangeList) {
Expand Down Expand Up @@ -235,7 +233,7 @@ export class VariablesHandler {
const ret = [];
for (const key of keys) {
const gdbVaName = pVar.children[key];
const childId = this.variableHandlesReverse[gdbVaName];
const childId = this.variableHandlesReverse.get(gdbVaName);
if (childId === undefined) {
return undefined;
}
Expand Down

0 comments on commit a839d95

Please sign in to comment.