Exemplo n.º 1
0
 public static Expression AnalyzeImportExpr(SymplImportExpr expr,
                                             AnalysisScope scope) {
     if (!scope.IsModule) {
         throw new InvalidOperationException(
             "Import expression must be a top level expression.");
     }
     return Expression.Call(
         typeof(RuntimeHelpers).GetMethod("SymplImport"),
         scope.RuntimeExpr,
         scope.ModuleExpr,
         Expression.Constant(expr.NamespaceExpr.Select(id => id.Name)
                                               .ToArray()),
         Expression.Constant(expr.MemberNames.Select(id => id.Name)
                                               .ToArray()),
         Expression.Constant(expr.Renames.Select(id => id.Name)
                                               .ToArray()));
 }
Exemplo n.º 2
0
 public static Expression AnalyzeImportExpr(SymplImportExpr expr,
                                            AnalysisScope scope)
 {
     if (!scope.IsModule)
     {
         throw new InvalidOperationException(
                   "Import expression must be a top level expression.");
     }
     return(Expression.Call(
                typeof(RuntimeHelpers).GetMethod("SymplImport"),
                scope.RuntimeExpr,
                scope.ModuleExpr,
                Expression.Constant(expr.NamespaceExpr.Select(id => id.Name)
                                    .ToArray()),
                Expression.Constant(expr.MemberNames.Select(id => id.Name)
                                    .ToArray()),
                Expression.Constant(expr.Renames.Select(id => id.Name)
                                    .ToArray())));
 }