예제 #1
0
파일: Parser.cs 프로젝트: borota/JTVS
        private JAst CreateAst(Statement ret)
        {
            var ast = new JAst(ret, _tokenizer.GetLineLocations());
            ast.PrivatePrefix = _privatePrefix;
            if (_token.Token != null) {
                ast.SetLoc(0, GetEnd());
            }
            if (_verbatim) {
                AddExtraVerbatimText(ast, _lookaheadWhiteSpace);
            }
            foreach (var keyValue in _attributes) {
                foreach (var nodeAttr in keyValue.Value) {
                    ast.SetAttribute(keyValue.Key, nodeAttr.Key, nodeAttr.Value);
                }
            }

            JNameBinder.BindAst(_langVersion, ast, _errors, _bindReferences);

            return ast;
        }