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); } } }
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)); }
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(); }
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); } }
//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)); }
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); }