resolve method
Implementation
@override
void resolve() {
super.resolve();
if (closure != null && classId != null && klass == null && !isField) {
klass = closure!.closure!.memberGet(classId!, isRecursive: true);
}
if (klass != null) {
if (klass!.isExternal &&
category != FunctionCategory.getter &&
category != FunctionCategory.setter) {
if (isStatic || category == FunctionCategory.constructor) {
final funcName = id != null ? '$classId.$id' : classId!;
externalFunc = klass!.externalClass!.memberGet(funcName);
} else {
// for instance members, are handled within HTExternalInstance class.
}
}
} else if (isExternal) {
// free external function & external struct method are handled here.
final funcName = classId != null ? '$classId.$id' : id!;
externalFunc = interpreter.fetchExternalFunction(funcName);
}
}