Exemplo n.º 1
0
        public Var(string name, ScopeGroup scope, Node node = null)
        {
            Name         = name;
            Scope        = scope;
            Node         = node;
            IsDefinedVar = node != null;

            scope?./* we're */ In(this) /* together! */;
        }
Exemplo n.º 2
0
        /*
         * public DefinedVar(ScopeGroup scopeGroup, DefinedNode node, VarCollection varCollection)
         *  : base(node.VariableName, node.IsGlobal, varCollection.UseVar, node.UseIndex ?? varCollection.Assign(node.IsGlobal))
         * {
         *  if (scopeGroup.IsVar(node.VariableName))
         *      throw SyntaxErrorException.AlreadyDefined(node.VariableName, node.Range);
         *
         *  scopeGroup.In(this);
         * }
         */

        public DefinedVar(ScopeGroup scopeGroup, string name, bool isGlobal, Variable variable, int index, Range range)
            : base(name, isGlobal, variable, index)
        {
            if (scopeGroup.IsVar(name))
            {
                throw SyntaxErrorException.AlreadyDefined(name, range);
            }

            scopeGroup./* we're */ In(this) /* together! */;
        }
        protected UserMethod(ScopeGroup scope, UserMethodBase node)
        {
            Name           = node.Name;
            ParameterNodes = node.Parameters;
            Documentation  = node.Documentation;
            Wiki           = new WikiMethod(Name, Documentation, null);
            AccessLevel    = node.AccessLevel;
            Node           = node;

            scope.In(this);
        }
        public UserMethod(ScopeGroup scope, UserMethodNode node)
        {
            Name           = node.Name;
            TypeString     = node.Type;
            Block          = node.Block;
            ParameterNodes = node.Parameters;
            IsRecursive    = node.IsRecursive;
            Documentation  = node.Documentation;
            Wiki           = new WikiMethod(Name, Documentation, null);
            AccessLevel    = node.AccessLevel;
            Node           = node;

            scope.In(this);
        }