965 // process superclass before derived |
965 // process superclass before derived |
966 if (st.hasTag(CLASS)) { |
966 if (st.hasTag(CLASS)) { |
967 translateClass((ClassSymbol)st.tsym); |
967 translateClass((ClassSymbol)st.tsym); |
968 } |
968 } |
969 |
969 |
970 Env<AttrContext> myEnv = enter.typeEnvs.remove(c); |
970 Env<AttrContext> myEnv = enter.getEnv(c); |
971 if (myEnv == null) { |
971 if (myEnv == null || (c.flags_field & TYPE_TRANSLATED) != 0) { |
972 return; |
972 return; |
973 } |
973 } |
|
974 c.flags_field |= TYPE_TRANSLATED; |
974 |
975 |
975 /* The two assertions below are set for early detection of any attempt |
976 /* The two assertions below are set for early detection of any attempt |
976 * to translate a class that: |
977 * to translate a class that: |
977 * |
978 * |
978 * 1) has no compile state being it the most outer class. |
979 * 1) has no compile state being it the most outer class. |