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(final SwitchMapInfo info) { if (info.switches.isEmpty()) { return; } for (final String mapName : info.switches.keySet()) { final List<SwitchStatement> switches = info.switches.get(mapName); final Map<Integer, Expression> mappings = info.mappings.get(mapName); if (switches != null && mappings != null) { for (int i = 0; i < switches.size(); i++) { if (rewriteSwitch(switches.get(i), mappings)) { switches.remove(i--); } } } } }
final TypeReference enclosingType = enclosingTypeExpression.getType().getUserData(Keys.TYPE_REFERENCE); if (!isSwitchMapWrapper(enclosingType) || !(argument instanceof InvocationExpression)) { return super.visitSwitchStatement(node, data);
final TypeReference enclosingType = enclosingTypeExpression.getType().getUserData(Keys.TYPE_REFERENCE); if (!isSwitchMapWrapper(enclosingType) || !(argument instanceof InvocationExpression)) { return super.visitSwitchStatement(node, data);
final TypeReference enclosingType = enclosingTypeExpression.getType().getUserData(Keys.TYPE_REFERENCE); if (!isSwitchMapWrapper(enclosingType) || !(argument instanceof InvocationExpression)) { return super.visitSwitchStatement(node, data);
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; }
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; }
private void rewrite(final SwitchMapInfo info) { if (info.switches.isEmpty()) { return; } for (final String mapName : info.switches.keySet()) { final List<SwitchStatement> switches = info.switches.get(mapName); final Map<Integer, Expression> mappings = info.mappings.get(mapName); if (switches != null && mappings != null) { for (int i = 0; i < switches.size(); i++) { if (rewriteSwitch(switches.get(i), mappings)) { switches.remove(i--); } } } } }
private void rewrite(final SwitchMapInfo info) { if (info.switches.isEmpty()) { return; } for (final String mapName : info.switches.keySet()) { final List<SwitchStatement> switches = info.switches.get(mapName); final Map<Integer, Expression> mappings = info.mappings.get(mapName); if (switches != null && mappings != null) { for (int i = 0; i < switches.size(); i++) { if (rewriteSwitch(switches.get(i), mappings)) { switches.remove(i--); } } } } }
@Override public void run(final AstNode compilationUnit) { compilationUnit.acceptVisitor(new Visitor(_context), null); }
@Override public void run(final AstNode compilationUnit) { compilationUnit.acceptVisitor(new Visitor(_context), null); }
@Override public void run(final AstNode compilationUnit) { compilationUnit.acceptVisitor(new Visitor(_context), null); }