44715
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/TypeDeclaration.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/TypeDeclaration.java
index 5b73e72..b80d343 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/TypeDeclaration.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/TypeDeclaration.java
@@ -507,6 +507,9 @@
 	 */
 	public void generateCode(BlockScope blockScope, CodeStream codeStream) {
 
+		if ((this.bits & IsReachableMASK) == 0) {
+			return;
+		}		
 		if (hasBeenGenerated) return;
 		int pc = codeStream.position;
 		if (binding != null) ((NestedTypeBinding) binding).computeSyntheticArgumentSlotSizes();