typereference.java

来自「plugin for eclipse」· Java 代码 · 共 102 行

JAVA
102
字号
/*
 * Created on May 24, 2005
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package isis.anp.nesc.ot.types;

import isis.anp.common.TNode;
import isis.anp.nesc.ot.Outline;
import isis.anp.nesc.ot.scope.Scope;
import isis.anp.nesc.ot.scope.Symbol;
import isis.anp.nesc.ot.scope.SymbolTraits;

/**
 * @author sallai
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class TypeReference extends ConstructedType implements Symbol {
	private TNode defNode;
	private SymbolTraits symbol = new SymbolTraits();
	
	public TypeReference(Type t) {
		super(t);
	}

	public TypeReference(Type t, TNode nameNode, TNode defNode) {
		super(t);
		this.setNameNode(nameNode);
		this.setDefNode(defNode);
	}
	
	public void outline(Outline o) {
		o.append(getTypeQualifierString());
		o.ensureSpace();
		o.append(getName());
		// append enclosed type 
		//o.append(" (= ");
		//getEnclosedType().outline(o);
		//o.append(")");		
	}


	public void setDefNode(TNode defNode) {
		this.defNode = defNode;
	}

	public TNode getDefNode() {
		return defNode;
	}

	/**
	 * @return
	 */
	public String getHierarchicalName() {
		return symbol.getHierarchicalName();
	}
	/**
	 * @return
	 */
	public String getName() {
		return symbol.getName();
	}
	/**
	 * @return
	 */
	public TNode getNameNode() {
		return symbol.getNameNode();
	}
	/**
	 * @return
	 */
	public Scope getParentScope() {
		return symbol.getParentScope();
	}
	/**
	 * @param name
	 */
	public void setName(String name) {
		symbol.setName(name);
	}
	/**
	 * @param nameNode
	 */
	public void setNameNode(TNode nameNode) {
		symbol.setNameNode(nameNode);
	}
	/**
	 * @param parentScope
	 */
	public void setParentScope(Scope parentScope) {
		symbol.setParentScope(parentScope);
	}
	
	public Object clone() {
        TypeReference rval = new TypeReference(getEnclosedType(), getNameNode(), getDefNode());
	    return rval;
	}
}

⌨️ 快捷键说明

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