private void CheckReferences() { XQueryMainModule main = module as XQueryMainModule; if (main != null) { main.QueryBody.CheckReference(this); } foreach (FunctionDeclaration func in module.Prolog.Functions.Values) { if (!func.External) { func.FunctionBody.CheckReference(this); } CheckSchemaType(func.ReturnType); foreach (XQueryFunctionArgument param in func.Parameters) { CheckSchemaType(param.Type); } } }
// methods. private XQueryStaticContext Compile() { CompileProlog(); XQueryMainModule main = module as XQueryMainModule; ExprSequence expr = (main != null) ? CompileExprSequence(main.QueryBody) : null; return(new XQueryStaticContext( options, compileContext, expr, inScopeSchemas, localVariables, localFunctions, module.NSResolver, module.Prolog.DefaultFunctionNamespace, preserveWhitespace, constructionSpace, defaultOrdered, baseUri, evidence, commandImpl)); }