📄 declarationvisitors.java
字号:
/* * @(#)DeclarationVisitors.java 1.5 05/11/17 * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package com.sun.mirror.util;/** * Utilities to create specialized <tt>DeclarationVisitor</tt> instances. * * @author Joseph D. Darcy * @author Scott Seligman * @version 1.5 05/11/17 * @since 1.5 */public class DeclarationVisitors { private DeclarationVisitors(){} // do not instantiate. /** * A visitor that has no side effects and keeps no state. */ public static final DeclarationVisitor NO_OP = new SimpleDeclarationVisitor(); /** * Return a <tt>DeclarationVisitor</tt> that will scan the * declaration structure, visiting declarations contained in * another declaration. For example, when visiting a class, the * fields, methods, constructors, etc. of the class are also * visited. The order in which the contained declarations are scanned is * not specified. * * <p>The <tt>pre</tt> and <tt>post</tt> * <tt>DeclarationVisitor</tt> parameters specify, * respectively, the processing the scanner will do before or * after visiting the contained declarations. If only one of pre * and post processing is needed, use {@link * DeclarationVisitors#NO_OP DeclarationVisitors.NO_OP} for the * other parameter. * * @param pre visitor representing processing to do before * visiting contained declarations. * * @param post visitor representing processing to do after * visiting contained declarations. */ public static DeclarationVisitor getDeclarationScanner(DeclarationVisitor pre, DeclarationVisitor post) { return new DeclarationScanner(pre, post); } /** * Return a <tt>DeclarationVisitor</tt> that will scan the * declaration structure, visiting declarations contained in * another declaration in source code order. For example, when * visiting a class, the fields, methods, constructors, etc. of * the class are also visited. The order in which the contained * declarations are visited is as close to source code order as * possible; declaration mirrors created from class files instead * of source code will not have source position information. * * <p>The <tt>pre</tt> and <tt>post</tt> * <tt>DeclarationVisitor</tt> parameters specify, * respectively, the processing the scanner will do before or * after visiting the contained declarations. If only one of pre * and post processing is needed, use {@link * DeclarationVisitors#NO_OP DeclarationVisitors.NO_OP} for the other parameter. * * @param pre visitor representing processing to do before * visiting contained declarations. * * @param post visitor representing processing to do after * visiting contained declarations. */ public static DeclarationVisitor getSourceOrderDeclarationScanner(DeclarationVisitor pre, DeclarationVisitor post) { return new SourceOrderDeclScanner(pre, post); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -