UNPKG

earl-lang

Version:

Earl Bahasa Pemrograman Alur Kerja

36 lines (27 loc) 961 B
// modules/panggilMetode.js const { memory } = require('../memory'); const { runEarl } = require('../pemroses'); async function panggilMetode(tokens, modules, context) { const namaInstance = tokens[1].replace(/:/g, ''); const namaMethod = tokens[2]; const instance = memory[namaInstance]; if (!instance || !instance.__tipe) { console.error(`Instance '${namaInstance}' tidak ditemukan.`); return; } const kelas = memory[instance.__tipe]; const metodeBody = kelas.metode[namaMethod]; if (!metodeBody) { console.error(`Metode '${namaMethod}' tidak ditemukan di kelas '${instance.__tipe}'.`) return; } const kode = metodeBody; const subContext = { index: 0, lines: [kode], lingkup: [{ ini: instance }], dariMetode: true }; await runEarl(kode, modules, subContext); } module.exports = { panggilMetode };