示例#1
0
        public override bool ResolveNames(LexicalScope scope)
        {
            bool loopResolve = true;

            if (args != null)
            {
                foreach (Expression argument in args)
                {
                    loopResolve = loopResolve & argument.ResolveNames(scope);
                }
            }

            // check for valid declaration of method...
            if (scope != null)
            {
                declarationRef = scope.Resolve(name);
            }

            if (declarationRef == null)
            {
                Console.WriteLine("Error: Undeclared method indentifier", name);
                throw new Exception("Name Resolution Error - can not resolve method name");
            }

            return((declarationRef != null) & loopResolve);
        }
示例#2
0
        public override bool ResolveNames(LexicalScope scope)
        {
            // check for valid declaration...
            if (scope != null)
            {
                declarationRef = scope.Resolve(value);
            }

            if (declarationRef == null)
            {
                Console.WriteLine("Error: Undeclared indentifier", value);
            }

            return(declarationRef != null);
        }
示例#3
0
        public override bool ResolveNames(LexicalScope scope)
        {
            bool validType = true;

            // if elementType is not a primitive type
            if (!primitives.Contains(elementType))
            {
                Declaration declarationRef = null;
                // check for valid declaration...
                if (scope != null)
                {
                    declarationRef = scope.Resolve(elementType);
                }

                if (declarationRef == null)
                {
                    Console.WriteLine("Error: Undeclared indentifier", elementType);
                }

                return(declarationRef != null);
            }

            return(validType);
        }