/// <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)); }
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); }
public ICompiledCode CompileInteractiveCode(string code, IScriptModule module) { Contract.RequiresNotNull(code, "code"); return(CompileSourceUnit(SourceUnit.CreateSnippet(this, code, SourceCodeKind.InteractiveCode), module)); }
/// <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)); }
/// <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); }