Buggy code:
@ Override public void setParameters ( IParameter [ ] parameters , int parameterCount ) { } @ Override public int parameterCount ( ) { } @ Override public void setParameter ( int index , IParameter param ) { } @ Override public void addParameter ( IParameter param ) { } @ Override public IParameter getParameter ( int index ) { } @ Override public IParameter [ ] getParameters ( ) { } @ Override public boolean addRawAnnotation ( String type ) { } @ Override public ElementType getAnnotationType ( ) { } @ Override public void exceptionCount ( ) { } @ Override public void setException ( int index , IType exception ) { } @ Override public void addException ( IType exception ) { } @ Override public IType getException ( int index ) { } @ Override public void setValue ( IValue statement ) { } @ Override public IValue getValue ( ) { } @ Override public void resolveTypes ( MarkerList markers , IContext context ) { } @ Override public void resolve ( MarkerList markers , IContext context ) { } private void resolveSuperConstructors ( MarkerList markers , IContext context ) { } private IValue initializer ( ICodePosition position , MarkerList markers , IClass iclass , IArguments arguments , boolean isSuper ) { } @ Override public void checkTypes ( MarkerList markers , IContext context ) { } @ Override public void check ( MarkerList markers , IContext context ) { } @ Override public void foldConstants ( ) { } @ Override public boolean isStatic ( ) { } @ Override public IDyvilHeader getHeader ( ) { } @ Override public IClass getThisClass ( ) { } @ Override public Package resolvePackage ( Name name ) { } @ Override public IClass resolveClass ( Name name ) { } @ Override public ITypeVariable resolveTypeVariable ( Name name ) { } @ Override public IField resolveField ( Name name ) { } @ Override public void getMethodMatches ( List < MethodMatch > list , IValue instance , Name name , IArguments arguments ) { } @ Override public void getConstructorMatches ( List < ConstructorMatch > list , IArguments arguments ) { } @ Override public boolean handleException ( IType type ) { } @ Override public byte getVisibility ( IClassMember member ) { } @ Override public int getSignatureMatch ( IArguments arguments ) { } @ Override public void checkArguments ( MarkerList markers , ICodePosition position , IContext context , IArguments arguments ) { } @ Override public void checkCall ( MarkerList markers , ICodePosition position , IContext context , IArguments arguments ) { } @ Override public String getDescriptor ( ) { } @ Override public String getSignature ( ) { } @ Override public String [ ] getExceptions ( ) { } @ Override public void write ( ClassWriter writer ) throws BytecodeException { } @ Override public void write ( ClassWriter writer , IValue instanceFields ) throws BytecodeException { int modifiers = ( this . modifiers ) & 65535 ; if ( ( this . value ) == null ) { modifiers |= Modifiers . ABSTRACT ; } MethodWriter mw = new dyvil . tools . compiler . backend . MethodWriterImpl ( writer , writer . visitMethod ( modifiers , "<init>" , this . getDescriptor ( ) , this . getSignature ( ) , this . getExceptions ( ) ) ) ; mw . setThisType ( this . theClass . getInternalName ( ) ) ; for ( int i = 0 ; i < ( this . annotationCount ) ; i ++ ) { this . annotations [ i ] . write ( mw ) ; } if ( ( ( this . modifiers ) & ( Modifiers . INLINE ) ) == ( Modifiers . INLINE ) ) { mw . addAnnotation ( "Ldyvil//annotation//inline;" , false ) ; } if ( ( ( this . modifiers ) & ( Modifiers . DEPRECATED ) ) == ( Modifiers . DEPRECATED ) ) { mw . addAnnotation ( "Ljava//lang//Deprecated;" , true ) ; } if ( ( ( this . modifiers ) & ( Modifiers . SEALED ) ) == ( Modifiers . SEALED ) ) { mw . addAnnotation ( "Ldyvil//annotation//sealed;" , false ) ; } for ( int i = 0 ; i < ( this . parameterCount ) ; i ++ ) { this . parameters [ i ] . write ( mw ) ; } Label start = new Label ( ) ; Label end = new Label ( ) ; if ( ( this . value ) != null ) { mw . begin ( ) ; mw . writeLabel ( start ) ; if ( instanceFields != null ) { instanceFields . writeStatement ( mw ) ; } this . value . writeStatement ( mw ) ; mw . writeLabel ( end ) ; mw . end ( VOID ) ; } if ( ( ( this . modifiers ) & ( Modifiers . STATIC ) ) == 0 ) { <START_BUG> mw . writeLocal ( 0 , "this" , this . theClass . getInternalName ( ) , null , start , end ) ; <END_BUG> } for ( int i = 0 ; i < ( this . parameterCount ) ; i ++ ) { IParameter param = this . parameters [ i ] ; mw . writeLocal ( param . getIndex ( ) , param . getName ( ) . qualified , param . getDescription ( ) , param . getSignature ( ) , start , end ) ; } } @ Override public void writeCall ( MethodWriter writer , IArguments arguments , IType type ) throws BytecodeException { } @ Override public void writeInvoke ( MethodWriter writer ) throws BytecodeException { } @ Override public void writeArguments ( MethodWriter writer , IArguments arguments ) throws BytecodeException { } @ Override public void toString ( String prefix , StringBuilder buffer ) { } }

Fix:
mw . writeLocal ( 0 , "this" , ( ( 'L' + ( this . theClass . getInternalName ( ) ) ) + ';' ) , null , start , end ) ;