private void rewrite() { if (_switchMaps.isEmpty()) { return; } for (final SwitchMapInfo info : _switchMaps.values()) { rewrite(info); } // // Remove switch map type wrappers that are no longer referenced. // outer: for (final SwitchMapInfo info : _switchMaps.values()) { for (final String mapName : info.switches.keySet()) { final List<SwitchStatement> switches = info.switches.get(mapName); if (switches != null && !switches.isEmpty()) { continue outer; } } final TypeDeclaration enclosingTypeDeclaration = info.enclosingTypeDeclaration; if (enclosingTypeDeclaration != null) { enclosingTypeDeclaration.remove(); } } }
private void rewrite() { if (_switchMaps.isEmpty()) { return; } for (final SwitchMapInfo info : _switchMaps.values()) { rewrite(info); } // // Remove switch map type wrappers that are no longer referenced. // outer: for (final SwitchMapInfo info : _switchMaps.values()) { for (final String mapName : info.switches.keySet()) { final List<SwitchStatement> switches = info.switches.get(mapName); if (switches != null && !switches.isEmpty()) { continue outer; } } final TypeDeclaration enclosingTypeDeclaration = info.enclosingTypeDeclaration; if (enclosingTypeDeclaration != null) { enclosingTypeDeclaration.remove(); } } }
private void rewrite() { if (_switchMaps.isEmpty()) { return; } for (final SwitchMapInfo info : _switchMaps.values()) { rewrite(info); } // // Remove switch map type wrappers that are no longer referenced. // outer: for (final SwitchMapInfo info : _switchMaps.values()) { for (final String mapName : info.switches.keySet()) { final List<SwitchStatement> switches = info.switches.get(mapName); if (switches != null && !switches.isEmpty()) { continue outer; } } final TypeDeclaration enclosingTypeDeclaration = info.enclosingTypeDeclaration; if (enclosingTypeDeclaration != null) { enclosingTypeDeclaration.remove(); } } }
@Override public Void visitTypeDeclaration(final TypeDeclaration typeDeclaration, final Void _) { final boolean oldIsSwitchMapWrapper = _isSwitchMapWrapper; final TypeDefinition typeDefinition = typeDeclaration.getUserData(Keys.TYPE_DEFINITION); final boolean isSwitchMapWrapper = isSwitchMapWrapper(typeDefinition); if (isSwitchMapWrapper) { final String internalName = typeDefinition.getInternalName(); SwitchMapInfo info = _switchMaps.get(internalName); if (info == null) { _switchMaps.put(internalName, info = new SwitchMapInfo(internalName)); } info.enclosingTypeDeclaration = typeDeclaration; } _isSwitchMapWrapper = isSwitchMapWrapper; try { super.visitTypeDeclaration(typeDeclaration, _); } finally { _isSwitchMapWrapper = oldIsSwitchMapWrapper; } rewrite(); return null; }
@Override public Void visitTypeDeclaration(final TypeDeclaration typeDeclaration, final Void p) { final boolean oldIsSwitchMapWrapper = _isSwitchMapWrapper; final TypeDefinition typeDefinition = typeDeclaration.getUserData(Keys.TYPE_DEFINITION); final boolean isSwitchMapWrapper = isSwitchMapWrapper(typeDefinition); if (isSwitchMapWrapper) { final String internalName = typeDefinition.getInternalName(); SwitchMapInfo info = _switchMaps.get(internalName); if (info == null) { _switchMaps.put(internalName, info = new SwitchMapInfo(internalName)); } info.enclosingTypeDeclaration = typeDeclaration; } _isSwitchMapWrapper = isSwitchMapWrapper; try { super.visitTypeDeclaration(typeDeclaration, p); } finally { _isSwitchMapWrapper = oldIsSwitchMapWrapper; } rewrite(); return null; }
@Override public Void visitTypeDeclaration(final TypeDeclaration typeDeclaration, final Void _) { final boolean oldIsSwitchMapWrapper = _isSwitchMapWrapper; final TypeDefinition typeDefinition = typeDeclaration.getUserData(Keys.TYPE_DEFINITION); final boolean isSwitchMapWrapper = isSwitchMapWrapper(typeDefinition); if (isSwitchMapWrapper) { final String internalName = typeDefinition.getInternalName(); SwitchMapInfo info = _switchMaps.get(internalName); if (info == null) { _switchMaps.put(internalName, info = new SwitchMapInfo(internalName)); } info.enclosingTypeDeclaration = typeDeclaration; } _isSwitchMapWrapper = isSwitchMapWrapper; try { super.visitTypeDeclaration(typeDeclaration, _); } finally { _isSwitchMapWrapper = oldIsSwitchMapWrapper; } rewrite(); return null; }