コード例 #1
0
        /// <summary>
        /// Comvenience hosting API.
        /// </summary>
        public ICompiledCode CompileExpression(string expression, IScriptModule module)
        {
            Contract.RequiresNotNull(expression, "expression");

            // TODO: remove TrimStart
            return(CompileSourceUnit(SourceUnit.CreateSnippet(this, expression.TrimStart(' ', '\t'), SourceCodeKind.Expression), module));
        }
コード例 #2
0
        public SourceCodeProperties GetCodeProperties(string code, SourceCodeKind kind, ErrorSink errorSink)
        {
            Contract.RequiresNotNull(code, "code");
            SourceUnit sourceUnit = SourceUnit.CreateSnippet(this, code, kind);

            // create compiler context with null error sink:
            CompilerContext compilerContext = new CompilerContext(sourceUnit, null, errorSink ?? new ErrorSink());

            _languageContext.UpdateSourceCodeProperties(compilerContext);

            if (!sourceUnit.CodeProperties.HasValue)
            {
                return(SourceCodeProperties.None);
            }

            return(sourceUnit.CodeProperties.Value);
        }
コード例 #3
0
 public ICompiledCode CompileInteractiveCode(string code, IScriptModule module)
 {
     Contract.RequiresNotNull(code, "code");
     return(CompileSourceUnit(SourceUnit.CreateSnippet(this, code, SourceCodeKind.InteractiveCode), module));
 }
コード例 #4
0
 /// <summary>
 /// Comvenience hosting API.
 /// </summary>
 public ICompiledCode CompileStatements(string statement, IScriptModule module)
 {
     Contract.RequiresNotNull(statement, "statement");
     return(CompileSourceUnit(SourceUnit.CreateSnippet(this, statement, SourceCodeKind.Statements), module));
 }
コード例 #5
0
 /// <summary>
 /// Execute a snippet of code within the scope of the specified module. Convenience API.
 /// </summary>
 public void Execute(string code, IScriptModule module)
 {
     Contract.RequiresNotNull(code, "code");
     ExecuteSourceUnit(SourceUnit.CreateSnippet(this, code), module);
 }