Exemple #1
0
        public static void ExtractGlobalVariables(ParseNode parentNode, ParseNode[] typeNodes)
        {
            if (typeNodes.Length == 0)
                throw new ArgumentException("typeNodes");
            var cleanStates = parentNode.States;

            var identifiers = cleanStates.Where(idNode => idNode.Token == TokenKind.Identifier).ToArray();
            identifiers.Each(id =>
                {
                    var globalVariable = FunctionTypeData.DefineGlobalVariable(id.Content);
                    typeNodes.Each(globalVariable.AddTypeNode);
                });
        }