Buggy code:
public static BcelShadow makeConstructorCall ( BcelWorld world , LazyMethodGen enclosingMethod , InstructionHandle callHandle , BcelShadow enclosingShadow ) { } public static BcelShadow makeMethodCall ( BcelWorld world , LazyMethodGen enclosingMethod , InstructionHandle callHandle , BcelShadow enclosingShadow ) { } public static BcelShadow makeShadowForMethodCall ( BcelWorld world , LazyMethodGen enclosingMethod , InstructionHandle callHandle , BcelShadow enclosingShadow , Kind kind , ResolvedMember sig ) { } public static BcelShadow makeFieldGet ( BcelWorld world , LazyMethodGen enclosingMethod , InstructionHandle getHandle , BcelShadow enclosingShadow ) { } public static BcelShadow makeFieldSet ( BcelWorld world , LazyMethodGen enclosingMethod , InstructionHandle setHandle , BcelShadow enclosingShadow ) { } public static void retargetAllBranches ( InstructionHandle from , InstructionHandle to ) { } public boolean terminatesWithReturn ( ) { } public boolean arg0HoldsThis ( ) { } private BcelVar thisVar = null ; private BcelVar targetVar = null ; private BcelVar [ ] argVars = null ; private Map kindedAnnotationVars = null ; private Map thisAnnotationVars = null ; private Map targetAnnotationVars = null ; private Map [ ] argAnnotationVars = null ; private Map withinAnnotationVars = null ; private Map withincodeAnnotationVars = null ; public Var getThisVar ( ) { } public Var getThisAnnotationVar ( TypeX forAnnotationType ) { } public Var getTargetVar ( ) { } public Var getTargetAnnotationVar ( TypeX forAnnotationType ) { } public Var getArgVar ( int i ) { } public Var getArgAnnotationVar ( int i , TypeX forAnnotationType ) { } public Var getKindedAnnotationVar ( TypeX forAnnotationType ) { } public Var getWithinAnnotationVar ( TypeX forAnnotationType ) { } public Var getWithinCodeAnnotationVar ( TypeX forAnnotationType ) { } private BcelVar thisJoinPointVar = null ; private boolean isThisJoinPointLazy ; private int lazyTjpConsumers = 0 ; private BcelVar thisJoinPointStaticPartVar = null ; public final Var getThisJoinPointStaticPartVar ( ) { } public final Var getThisEnclosingJoinPointStaticPartVar ( ) { } public void requireThisJoinPoint ( boolean hasGuardTest ) { } public Var getThisJoinPointVar ( ) { } void initializeThisJoinPoint ( ) { } private boolean checkLazyTjp ( ) { } InstructionList loadThisJoinPoint ( ) { } InstructionList createThisJoinPoint ( ) { } public BcelVar getThisJoinPointStaticPartBcelVar ( ) { } public BcelVar getThisJoinPointStaticPartBcelVar ( final boolean isEnclosingJp ) { } public BcelVar getThisEnclosingJoinPointStaticPartBcelVar ( ) { } public Member getEnclosingCodeSignature ( ) { } private InstructionList makeArgsObjectArray ( ) { } private void initializeThisVar ( ) { } public void initializeTargetVar ( ) { } public TypeX ensureTargetTypeIsCorrect ( TypeX tx ) { } public void initializeArgVars ( ) { } public void initializeForAroundClosure ( ) { } public void initializeThisAnnotationVars ( ) { } public void initializeTargetAnnotationVars ( ) { } public void initializeArgAnnotationVars ( ) { } public void initializeKindedAnnotationVars ( ) { } ResolvedMember findMethod2 ( ResolvedMember [ ] rm , Member sig ) { } private ResolvedMember findMethod ( ResolvedTypeX aspectType , ResolvedMember ajcMethod ) { } private ResolvedMember findField ( ResolvedMember [ ] members , Member lookingFor ) { } public void initializeWithinAnnotationVars ( ) { } public void initializeWithinCodeAnnotationVars ( ) { } void weaveBefore ( BcelAdvice munger ) { } public void weaveAfter ( BcelAdvice munger ) { } public void weaveAfterReturning ( BcelAdvice munger ) { } public void weaveAfterThrowing ( BcelAdvice munger , TypeX catchType ) { } public void weaveSoftener ( BcelAdvice munger , TypeX catchType ) { } public void weavePerObjectEntry ( final BcelAdvice munger , final BcelVar onVar ) { } public void weavePerTypeWithinAspectInitialization ( final BcelAdvice munger , TypeX t ) { } public void weaveCflowEntry ( final BcelAdvice munger , final Member cflowField ) { } public void weaveAroundInline ( BcelAdvice munger , boolean hasDynamicTest ) { } private InstructionList getRedoneProceedCall ( InstructionFactory fact , LazyMethodGen callbackMethod , BcelAdvice munger , LazyMethodGen localAdviceMethod , List argVarList ) { } private InstructionList getRedoneProceedCallForAnnotationStyle ( InstructionFactory fact , LazyMethodGen callbackMethod , BcelAdvice munger , LazyMethodGen localAdviceMethod , List argVarList , boolean isProceedWithArgs ) { } public void weaveAroundClosure ( BcelAdvice munger , boolean hasDynamicTest ) { } InstructionList makeCallToCallback ( LazyMethodGen callbackMethod ) { } private InstructionList makeClosureInstantiation ( Member constructor , BcelVar holder ) { } private IntMap makeProceedArgumentMap ( BcelVar [ ] adviceArgs ) { } private LazyMethodGen makeClosureClassAndReturnConstructor ( String closureClassName , LazyMethodGen callbackMethod , IntMap proceedMap ) { } public LazyMethodGen extractMethod ( String newMethodName , int visibilityModifier , ShadowMunger munger ) { } private void addPreInitializationReturnCode ( LazyMethodGen extractedMethod , Type [ ] superConstructorTypes ) { } private Type [ ] getSuperConstructorParameterTypes ( ) { } private IntMap makeRemap ( ) { } private LazyMethodGen createMethodGen ( String newMethodName , int visibilityModifier ) { } private boolean samePackage ( String p1 , String p2 ) { } private Type [ ] addType ( Type type , Type [ ] types ) { } private Type [ ] addTypeToEnd ( Type type , Type [ ] types ) { } public BcelVar genTempVar ( TypeX typeX ) { } public BcelVar genTempVar ( TypeX typeX , String localName ) { } private int genTempVarIndex ( int size ) { } public InstructionFactory getFactory ( ) { } public ISourceLocation getSourceLocation ( ) { int sourceLine = getSourceLine ( ) ; if ( ( sourceLine == 0 ) || ( sourceLine == ( - 1 ) ) ) { return getEnclosingClass ( ) . getType ( ) . getSourceLocation ( ) ; } else { if ( ( ( getKind ( ) ) == ( Shadow . StaticInitialization ) ) && ( ( getEnclosingClass ( ) . getType ( ) . getSourceLocation ( ) . getOffset ( ) ) != 0 ) ) return getEnclosingClass ( ) . getType ( ) . getSourceLocation ( ) ; else <START_BUG> return getEnclosingClass ( ) . getType ( ) . getSourceContext ( ) . makeSourceLocation ( sourceLine ) ; <END_BUG> } } public Shadow getEnclosingShadow ( ) { } public LazyMethodGen getEnclosingMethod ( ) { } public boolean isFallsThrough ( ) { } }

Fix:
return getEnclosingClass ( ) . getType ( ) . getSourceContext ( ) . makeSourceLocation ( sourceLine , 0 ) ;