import { Types } from './../../typeSystem/types';
export class Function {
constructor(name, returnType, formalParameters, commandBlock) {
this.name = name;
this.returnType = returnType;
this.formalParameters = formalParameters;
this.commandBlock = commandBlock;
this._sourceInfo = null;
}
get isMain () {
return this.name === null && this.returnType.isCompatible(Types.VOID);
}
get commands () {
return this.commandBlock.commands;
}
get variablesDeclarations () {
return this.commandBlock.variables;
}
set sourceInfo (sourceInfo) {
this._sourceInfo = sourceInfo;
}
get sourceInfo () {
return this._sourceInfo;
}
}