X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=mate.git;a=blobdiff_plain;f=Mate%2FClassPool.hs;h=ad290542d7167c57b8a4a9b29efbd149d71d212b;hp=62eb38375398a6fa86f9e4dcda4cbfb443686ff2;hb=03ddf0056a8ebae7ce10d694bbf906c276677a33;hpb=bc05c4601a08bc81f459b98ac54575fd4b56fb48 diff --git a/Mate/ClassPool.hs b/Mate/ClassPool.hs index 62eb383..ad29054 100644 --- a/Mate/ClassPool.hs +++ b/Mate/ClassPool.hs @@ -254,16 +254,13 @@ loadAndInitClass path = do -- execute class initializer case lookupMethod "" (ciFile ci) of Just m -> do - method <- parseMethod (ciFile ci) "" $ MethodSignature [] ReturnsVoid - case method of - Just rawmethod -> do - let mi = MethodInfo "" path (methodSignature m) - entry <- compileBB rawmethod mi - addMethodRef entry mi [path] - printfCp "executing static initializer from %s now\n" (toString path) - executeFuncPtr entry - printfCp "static initializer from %s done\n" (toString path) - Nothing -> error "readClass: static initializer not found (WTF?). abort" + rawmethod <- parseMethod (ciFile ci) "" $ MethodSignature [] ReturnsVoid + let mi = MethodInfo "" path (methodSignature m) + entry <- compileBB rawmethod mi + addMethodRef entry mi [path] + printfCp "executing static initializer from %s now\n" (toString path) + executeFuncPtr entry + printfCp "static initializer from %s done\n" (toString path) Nothing -> return () class_map' <- getClassMap