| /* |
| * Copyright 2009 Google Inc. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); you may not |
| * use this file except in compliance with the License. You may obtain a copy of |
| * the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
| * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
| * License for the specific language governing permissions and limitations under |
| * the License. |
| */ |
| package com.google.gwt.dev.jjs.impl.gflow.cfg; |
| |
| /** |
| * Visitor for all CFG nodes. |
| */ |
| public abstract class CfgVisitor { |
| public void visitBinaryConditionalOperationNode( |
| CfgBinaryConditionalOperationNode node) { |
| visitConditionalNode(node); |
| } |
| |
| public void visitBlockNode(CfgBlockNode node) { |
| visitSimpleNode(node); |
| } |
| |
| public void visitBreakNode(CfgBreakNode node) { |
| visitGotoNode(node); |
| } |
| |
| public void visitCaseNode(CfgCaseNode node) { |
| visitConditionalNode(node); |
| } |
| |
| public void visitConditionalExpressionNode( |
| CfgConditionalExpressionNode node) { |
| visitConditionalNode(node); |
| } |
| |
| public void visitConditionalNode(CfgConditionalNode<?> node) { |
| visitNode(node); |
| } |
| |
| public void visitContinueNode(CfgContinueNode node) { |
| visitGotoNode(node); |
| } |
| |
| public void visitDoNode(CfgDoNode node) { |
| visitConditionalNode(node); |
| } |
| |
| public void visitEndNode(CfgEndNode node) { |
| visitNopNode(node); |
| } |
| |
| public void visitForNode(CfgForNode node) { |
| visitConditionalNode(node); |
| } |
| |
| public void visitGotoNode(CfgGotoNode<?> node) { |
| visitNode(node); |
| } |
| |
| public void visitIfNode(CfgIfNode node) { |
| visitConditionalNode(node); |
| } |
| |
| public void visitMethodCallNode(CfgMethodCallNode node) { |
| visitSimpleNode(node); |
| } |
| |
| public void visitNode(@SuppressWarnings("unused") CfgNode<?> node) { |
| // |
| } |
| |
| public void visitNopNode(CfgNopNode node) { |
| visitNode(node); |
| } |
| |
| public void visitOptionalThrowNode(CfgOptionalThrowNode node) { |
| visitNode(node); |
| } |
| |
| public void visitReadNode(CfgReadNode node) { |
| visitSimpleNode(node); |
| } |
| |
| public void visitReadWriteNode(CfgReadWriteNode node) { |
| visitSimpleNode(node); |
| } |
| |
| public void visitReturnNode(CfgReturnNode node) { |
| visitGotoNode(node); |
| } |
| |
| public void visitSimpleNode(CfgSimpleNode<?> node) { |
| visitNode(node); |
| } |
| |
| public void visitStatementNode(CfgStatementNode<?> node) { |
| visitSimpleNode(node); |
| } |
| |
| public void visitSwitchGotoNode(CfgSwitchGotoNode node) { |
| visitGotoNode(node); |
| } |
| |
| public void visitThrowNode(CfgThrowNode node) { |
| visitNode(node); |
| } |
| |
| public void visitTryNode(CfgTryNode node) { |
| visitSimpleNode(node); |
| } |
| |
| public void visitWhileNode(CfgWhileNode node) { |
| visitConditionalNode(node); |
| } |
| |
| public void visitWriteNode(CfgWriteNode node) { |
| visitSimpleNode(node); |
| } |
| } |