001    /*
002     * UnreferencedVariable.java created on 14.12.2005
003     *
004     * To change this generated comment go to 
005     * Window>Preferences>Java>Code Generation>Code and Comments
006     */
007    package org.codehaus.groovy.ast;
008    
009    import org.codehaus.groovy.ast.expr.Expression;
010    
011    public class DynamicVariable implements Variable {
012    
013        private String name;
014        private boolean closureShare = false;
015        private boolean staticContext = false;
016        
017        public DynamicVariable(String name, boolean context) {
018            this.name = name;
019            staticContext = context;
020        }
021        
022        public ClassNode getType() {
023            return ClassHelper.DYNAMIC_TYPE;
024        }
025    
026        public String getName() {
027            return name;
028        }
029    
030        public Expression getInitialExpression() {
031            return null;
032        }
033    
034        public boolean hasInitialExpression() {
035            return false;
036        }
037    
038        public boolean isInStaticContext() {
039            return staticContext;
040        }
041    
042        public boolean isDynamicTyped() {
043            return true;
044        }
045    
046        public boolean isClosureSharedVariable() {
047            return closureShare;
048        }
049    
050        public void setClosureSharedVariable(boolean inClosure) {
051            closureShare = inClosure;        
052        }
053    
054    }