private void setVarDynamism(AST.AstNode node)
        {
            var IdNode = node as AST.IdDeclaration;

            if (IdNode == null)
            {
                return;
            }

            var varpath = new VarPath();

            varpath.VarName       = IdNode.Identifier;
            varpath.NamespaceName = currentNamespace == null ? "": currentNamespace;
            varpath.ClassName     = currentClassName;
            varpath.MethodName    = currentMethodName;
            varpath.InterfaceName = currentInterfaceName;

            if (this.dynamicBehaviour == DynamicBehaviour.EVERYTHINGDYNAMIC)
            {
                //Set dynamic only if its not dynamic allready
                if (!this.dynVarManager.IsDynamic(varpath))
                {
                    dynVarManager.SetDynamic(varpath);
                }
            }
            else
            {
                if (this.dynVarManager.IsDynamic(varpath))
                {
                    dynVarManager.SetStatic(varpath);
                }
            }
        }
Пример #2
0
        public bool checkDynamicVar(VarPath varpath, string fileName)
        {
            DynVarManager dynVarManager = new DynVarManager();

            string filename = Path.ChangeExtension(fileName, DynVarManagement.DynVarManager.DynVarFileExt);

            dynVarManager.LoadOrCreate(filename);

            return(dynVarManager.IsDynamic(varpath));
        }
Пример #3
0
        public void makeVarStatic(string varName, int line, int column, SourceFile ast)
        {
            VarPath varpath = this.getVarPath(varName, line, column, ast);

            DynVarManager dynVarManager = new DynVarManager();

            string filename = Path.ChangeExtension(ast.Location.FileName, DynVarManagement.DynVarManager.DynVarFileExt);

            dynVarManager.LoadOrCreate(filename);
            dynVarManager.SetStatic(varpath);
            dynVarManager.Save();
        }
Пример #4
0
        private void setDynamic(String identifier)
        {
            VarPath varPath = new VarPath();

            varPath.NamespaceName = currentNamespace;
            varPath.ClassName     = currentClass;
            if (!String.IsNullOrEmpty(currentMethod))
            {
                varPath.MethodName = currentMethod;
            }
            varPath.VarName = identifier;
            if (manager.Ready)
            {
                manager.SetDynamic(varPath);
            }
        }
Пример #5
0
        //public bool checkDynamicVar(IToken token)
        public bool checkDynamicVar(string varName, int line, int column, StaDynSourceFileAST file)
        {
            VarPath varpath = this.getVarPath(varName, line, column, file);

            if (varpath == null)
            {
                return(false);
            }

            DynVarManager dynVarManager = new DynVarManager();

            string filename = Path.ChangeExtension(file.FileName, DynVarManagement.DynVarManager.DynVarFileExt);

            dynVarManager.LoadOrCreate(filename);

            return(dynVarManager.IsDynamic(varpath));
        }
Пример #6
0
        public VarPath getVarPath(string varName, int line, int column, SourceFile ast)
        {
            if (ast == null)
            {
                return(null);
            }

            //Location currentLocation = new Location(Path.GetFileName(file.FileName), line + 1, column);
            Location currentLocation = new Location(ast.Location.FileName, line + 1, column);

            Namespace        currentNamespace = StaDynIntellisenseHelper.Instance.getCurrentNameSpace(currentLocation, ast);
            ClassDefinition  currentClass     = StaDynIntellisenseHelper.Instance.getCurrentClass(currentLocation, ast);
            MethodDefinition currentMethod    = StaDynIntellisenseHelper.Instance.getCurrentMethod(currentLocation, ast);

            VarPath varpath = new VarPath();

            varpath.VarName = varName;

            varpath.NamespaceName = currentNamespace != null ? currentNamespace.Identifier.Identifier : "";
            varpath.ClassName     = currentClass != null ? currentClass.Identifier : null;
            varpath.MethodName    = currentMethod != null ? currentMethod.Identifier : null;

            return(varpath);
        }