From 8c05df28f2ba8dc7880cb0da5b119e9fcff0e96b Mon Sep 17 00:00:00 2001 From: Andrew Binstock <920630+platypusguy@users.noreply.github.com> Date: Sat, 23 Dec 2023 22:17:50 -0800 Subject: [PATCH] JACOBIN-418 Tightened up FetchMethodAndCP() to prepare for more unit tests. --- src/classloader/classes.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/classloader/classes.go b/src/classloader/classes.go index b932b704..0d32e8ec 100644 --- a/src/classloader/classes.go +++ b/src/classloader/classes.go @@ -212,8 +212,11 @@ func FetchMethodAndCP(className, methName, methType string) (MTentry, error) { if methName == "main" { // the starting className is always loaded, so if main() isn't found // right away, just bail. + noMainError(origClassName) - shutdown.Exit(shutdown.JVM_EXCEPTION) + // noMainError() calls shutdown.Exit(). However, in test mode, shutdown.Eexit() doesn't exit, + // so the following error return is needed + return MTentry{}, errors.New("Error: main() method not found in class " + origClassName + "\n") } _ = log.Log("FetchMethodAndCP: LoadClassFromNameOnly for "+className+" failed: "+err.Error(), log.WARNING) _ = log.Log(err.Error(), log.SEVERE)