Buggy code:
public final class LambdaExpression implements IDefaultContext , IValue , IValued , IClassCompilable { public static final Handle BOOTSTRAP = new Handle ( ClassFormat . H_INVOKESTATIC , "dyvil//runtime//LambdaMetafactory" , "metafactory" , ( "(Ljava//lang//invoke//MethodHandles$Lookup;" + ( ( ( ( ( "Ljava//lang//String;" + "Ljava//lang//invoke//MethodType;" ) + "Ljava//lang//invoke//MethodType;" ) + "Ljava//lang//invoke//MethodHandle;" ) + "Ljava//lang//invoke//MethodType;)" ) + "Ljava//lang//invoke//CallSite;" ) ) ) ; protected ICodePosition position ; protected IParameter [ ] parameters ; protected int parameterCount ; protected IValue value ; protected IType type ; private IType returnType ; protected IMethod method ; private CaptureVariable [ ] capturedFields ; private int capturedFieldCount ; private IClass thisClass ; private String owner ; private String name ; private String lambdaDesc ; public LambdaExpression ( ICodePosition position ) { } public LambdaExpression ( ICodePosition position , IParameter param ) { } public LambdaExpression ( ICodePosition position , IParameter [ ] params , int paramCount ) { } @ Override public ICodePosition getPosition ( ) { } @ Override public int valueTag ( ) { } @ Override public void setInnerIndex ( String internalName , int index ) { } @ Override public boolean isPrimitive ( ) { } @ Override public void setValue ( IValue value ) { } @ Override public IValue getValue ( ) { } public void setMethod ( IMethod method ) { } public IMethod getMethod ( ) { } public IType getReturnType ( ) { } public void setReturnType ( IType returnType ) { } @ Override public void setType ( IType type ) { } @ Override public IType getType ( ) { } @ Override public IValue withType ( IType type , ITypeContext typeContext , MarkerList markers , IContext context ) { } private void inferTypes ( MarkerList markers ) { } @ Override public boolean isType ( IType type ) { } @ Override public float getTypeMatch ( IType type ) { } @ Override public IDataMember resolveField ( Name name ) { } @ Override public IAccessible getAccessibleThis ( IClass type ) { } @ Override public IVariable capture ( IVariable variable ) { } @ Override public void resolveTypes ( MarkerList markers , IContext context ) { } @ Override public IValue resolve ( MarkerList markers , IContext context ) { } @ Override public void checkTypes ( MarkerList markers , IContext context ) { } @ Override public void check ( MarkerList markers , IContext context ) { } @ Override public IValue foldConstants ( ) { } @ Override public IValue cleanup ( IContext context , IClassCompilableList compilableList ) { } @ Override public void writeExpression ( MethodWriter writer ) throws BytecodeException { } @ Override public void writeStatement ( MethodWriter writer ) throws BytecodeException { } private String getInvokeDescriptor ( ) { } private String getSpecialDescriptor ( ) { } private String getLambdaDescriptor ( ) { } @ Override public void write ( ClassWriter writer ) throws BytecodeException { } @ Override public void toString ( String prefix , StringBuilder buffer ) { if ( ( this . parameterCount ) == 1 ) { IParameter param = this . parameters [ 0 ] ; <START_BUG> if ( ( param . getType ( ) ) == ( Types . UNKNOWN ) ) { <END_BUG> buffer . append ( '(' ) ; param . toString ( prefix , buffer ) ; buffer . append ( ')' ) ; } else { buffer . append ( param . getName ( ) ) ; } buffer . append ( '<seq2seq4repair_space>' ) ; } else if ( ( this . parameterCount ) > 1 ) { buffer . append ( '(' ) ; IParameter first = this . parameters [ 0 ] ; if ( ( first . getType ( ) ) == ( Types . UNKNOWN ) ) { buffer . append ( first . getName ( ) ) ; for ( int i = 1 ; i < ( this . parameterCount ) ; i ++ ) { buffer . append ( ",<seq2seq4repair_space>" ) . append ( this . parameters [ i ] . getName ( ) ) ; } } else { Util . astToString ( prefix , this . parameters , this . parameterCount , ",<seq2seq4repair_space>" , buffer ) ; } buffer . append ( ")<seq2seq4repair_space>" ) ; } buffer . append ( lambdaSeperator ) ; this . value . toString ( prefix , buffer ) ; } }

Fix:
if ( ( param . getType ( ) ) != ( Types . UNKNOWN ) ) {