⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 env.java

📁 GJC(Generic Java Compiler)编译器
💻 JAVA
字号:
/** * @(#)Env.java	1.12 03/01/23 * * Copyright 2003 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package com.sun.tools.javac.v8.comp;import com.sun.tools.javac.v8.util.*;import com.sun.tools.javac.v8.tree.*;/** * A class for environments, instances of which are passed as *  arguments to tree visitors.  Environments refer to important ancestors *  of the subtree that's currently visited, such as the enclosing method, *  the enclosing class, or the enclosing toplevel node. They also contain *  a generic component, represented as a type parameter, to carry further *  information specific to individual passes. */public class Env {    /**     * The next enclosing environment.     */    public Env next;    /**     * The environment enclosing the current class.     */    public Env outer;    /**     * The tree with which this environment is associated.     */    public Tree tree;    /**     * The enclosing toplevel tree.     */    public Tree.TopLevel toplevel;    /**     * The next enclosing class definition.     */    public Tree.ClassDef enclClass;    /**     * The next enclosing method definition.     */    public Tree.MethodDef enclMethod;    /**     * A generic field for further information.     */    public Object info;    /**     * Create an outermost environment for a given (toplevel)tree,     *  with a given info field.     */    public Env(Tree tree, Object info) {        super();        this.next = null;        this.outer = null;        this.tree = tree;        this.toplevel = null;        this.enclClass = null;        this.enclMethod = null;        this.info = info;    }    /**      * Duplicate this environment, updating with given tree and info,      *  and copying all other fields.      */    public Env dup(Tree tree, Object info) {        return dupto(new Env(tree, info));    }    /**      * Duplicate this environment into a given Environment,      *  using its tree and info, and copying all other fields.      */    public Env dupto(Env that) {        that.next = this;        that.outer = this.outer;        that.toplevel = this.toplevel;        that.enclClass = this.enclClass;        that.enclMethod = this.enclMethod;        return that;    }    /**      * Duplicate this environment, updating with given tree,      *  and copying all other fields.      */    public Env dup(Tree tree) {        return dup(tree, this.info);    }    /**      * Return closest enclosing environment which points to a tree with given tag.      */    public Env enclosing(int tag) {        Env env1 = this;        while (env1 != null && env1.tree.tag != tag)            env1 = env1.next;        return env1;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -