diff --git a/codechicken/multipart/MultipartGenerator.scala b/codechicken/multipart/MultipartGenerator.scala index 7527ff6..47b85d2 100644 --- a/codechicken/multipart/MultipartGenerator.scala +++ b/codechicken/multipart/MultipartGenerator.scala @@ -165,6 +165,9 @@ object MultipartGenerator def registerPassThroughInterface(s_interface:String, client:Boolean, server:Boolean) { val tType = factory.generatePassThroughTrait(s_interface) + if(tType == null) + return + if(client) { if(interfaceTraitMap_c.contains(s_interface)) diff --git a/codechicken/multipart/asm/ASMMixinFactory.scala b/codechicken/multipart/asm/ASMMixinFactory.scala index 9268ef7..4270e0c 100644 --- a/codechicken/multipart/asm/ASMMixinFactory.scala +++ b/codechicken/multipart/asm/ASMMixinFactory.scala @@ -53,7 +53,7 @@ object ASMMixinFactory extends IMultipartFactory class SuperSet(types:Seq[String], client:Boolean) { -import SuperSet._ + import SuperSet._ val set = baseType+:types.sorted def baseType = if(client) TileMultipartClientType else TileMultipartType @@ -197,6 +197,10 @@ import SuperSet._ val idesc = "L"+iname+";" val inode = classNode(s_interface) + if(inode == null) { + System.out.println("Unable to generate pass through trait for: "+s_interface+" class not found.") + return null + } if((inode.access&ACC_INTERFACE) == 0) throw new IllegalArgumentException(s_interface+" is not an interface.") val cw = new CC_ClassWriter(ASM4)