@bitloops/bl-transpiler
Version:
The one and only Bitloops Language transpiler
22 lines • 921 B
JavaScript
import { MissingIdentifierError } from '../../types.js';
import { IntermediateASTNode } from './IntermediateASTNode.js';
export class IntermediateASTIdentifierNode extends IntermediateASTNode {
constructor(nodeType, classNodeName, metadata) {
super(nodeType, metadata, classNodeName);
}
getIdentifierName() {
const identifierClassNodeName = this.getClassNodeName();
const identifierValue = this.getValue();
const identifierName = identifierValue[identifierClassNodeName];
return identifierName;
}
//TODO is this needed?
typeCheck(symbolTable) {
const identifierName = this.getIdentifierName();
const identifierType = symbolTable.lookup(identifierName);
if (!identifierType) {
throw new MissingIdentifierError(identifierName, this.getMetadata());
}
}
}
//# sourceMappingURL=IntermediateASTIdentifierNode.js.map