<s> package org . eclipse . jdt . internal . compiler . flow ; import org . eclipse . jdt . core . compiler . CharOperation ; import org . eclipse . jdt . internal . compiler . ast . ASTNode ; import org . eclipse . jdt . internal . compiler . codegen . BranchLabel ; import org . eclipse . jdt . internal . compiler . lookup . BlockScope ; public class LabelFlowContext extends SwitchFlowContext { public char [ ] labelName ; public LabelFlowContext ( FlowContext parent , ASTNode associatedNode , char [ ] labelName , BranchLabel breakLabel , BlockScope scope ) { super ( parent , associatedNode , breakLabel ) ; this . labelName = labelName ; checkLabelValidity ( scope ) ; } void checkLabelValidity ( BlockScope scope ) { FlowContext current = this . parent ; while ( current != null ) { char [ ] currentLabelName ; if ( ( ( currentLabelName = current . labelName ( ) ) != null ) && CharOperation . equals ( currentLabelName , this . labelName ) ) { scope . problemReporter ( ) . alreadyDefinedLabel ( this . labelName , this . associatedNode ) ; } current = current . parent ; } } public String individualToString ( ) { return "" + String . valueOf ( this . labelName ) + "]" ; } public char [ ] labelName ( ) { return this . labelName ; } } </s>