- TypeDesc[] constructorParameters = new TypeDesc[parameterTypeDescs.length+1];
- constructorParameters[0] = FACT_ID_TYPE;
- for(int i=0;i<parameterTypeDescs.length;++i)
- constructorParameters[i+1] = parameterTypeDescs[i];
- MethodBuilderBase mb = factClassBuilder.addConstructor(Opcodes.ACC_PUBLIC, constructorParameters);
+ ArrayList<TypeDesc> constructorParameters = new ArrayList<TypeDesc>(parameterTypeDescs.length+1);
+ constructorParameters.add(FACT_ID_TYPE);
+ for(TypeDesc typeDesc : parameterTypeDescs) {
+ if(typeDesc.equals(TypeDesc.VOID))
+ continue;
+ constructorParameters.add(typeDesc);
+ }
+ MethodBuilderBase mb = factClassBuilder.addConstructor(Opcodes.ACC_PUBLIC, constructorParameters.toArray(new TypeDesc[constructorParameters.size()]));