当在Roslyn中引入操作时,其中一个目标是提供降低的操作(我认为这是在设计审查会议视频中),据我所知,应该为高级别的隐式编译器操作提供显式操作.我在Roslyn看到了Lowering目录,但是那里的类是内部的.现在可以降低操作或没有公共API可用吗?
在下面的示例中,已经删除了一些隐式部分 - 为表达式主体添加return语句并为重载运算符公开符号.但前后增量仅因种类而异.
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.Semantics;
using System.Linq;
namespace so39468373
{
internal static class Program
{
private static void Main()
{
var tree = CSharpSyntaxTree.ParseText(@"
public class c
{
public static c operator ++(c o) { return o; }
static c pre(c o) => ++o;
static c post(c o) => o++;
public static void Main() {}
}");
var mscorlib = MetadataReference.CreateFromFile(typeof(object).Assembly.Location);
var compilation = CSharpCompilation.Create(null, new[] { tree }, new[] { mscorlib });
var …Run Code Online (Sandbox Code Playgroud) 当我创建32位CentOS 5 docker镜像时,我希望将cpu架构报告为i386/i686(在此容器中测试的安装程序检查架构并安装64位二进制文件而不是32位).我设置了yum变量并创建了uname包装器,所以yum和bash脚本中的检查工作正常:
bash-3.2# uname -a
Linux c538cf9bf508 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 i686 i686 i386 GNU/Linux
bash-3.2# uname -p -m -i
i686 i686 i386
bash-3.2# cat /etc/yum/vars/arch && cat /etc/yum/vars/basearch
i686
i386
Run Code Online (Sandbox Code Playgroud)
但python仍然报告64位
bash-3.2# python
Python 2.4.3 (#1, Jan 9 2013, 06:49:54)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-54)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os, platform
>>> platform.machine()
'x86_64'
>>> os.uname()
('Linux', 'c538cf9bf508', '3.13.0-24-generic', '#47-Ubuntu SMP Fri May …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用IntelliJ SDK作为独立的java解析器,它在大多数情况下工作正常,但无法解析泛型方法的返回类型.
当我调试resolveMethod了verify(mock).simpleMethod()的IntelliJ内下一样品中:
public class ResolutionTest {
private interface IMethods {
String simpleMethod();
}
private IMethods mock;
public static <T> T verify(T m) {
return m;
}
public void test() {
verify(mock).simpleMethod();
}
}
Run Code Online (Sandbox Code Playgroud)
我看到返回类型为verify(mock)as IMethods并且simpleMethod也正确解析了.但在我的解析器返回类型verify(mock)是T和simpleMethod因为这个失败的决议.我想我没有注册一些服务或扩展,但我无法弄清楚哪一个.
我的解析器:
import com.intellij.codeInsight.ContainerProvider;
import com.intellij.codeInsight.runner.JavaMainMethodProvider;
import com.intellij.core.CoreApplicationEnvironment;
import com.intellij.core.CoreJavaFileManager;
import com.intellij.core.JavaCoreApplicationEnvironment;
import com.intellij.core.JavaCoreProjectEnvironment;
import com.intellij.mock.MockProject;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.extensions.ExtensionsArea;
import com.intellij.openapi.fileTypes.FileTypeExtensionPoint;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.*; …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用全局环境变量动态设置职位描述。但我不能使用$MYVARor ${MYVAR}。
有人有想法吗?
谢谢 !
当我尝试dism /Mount-WIM在microsoft/windowsservercore图像中使用时,出现下一个错误:
Deployment Image Servicing and Management tool
Version: 10.0.14393.0
Error: 0xc1420121
The image could not be mounted because the wimmount.sys driver is not installed on this machine. To fix this error, install the wimmount.sys driver.
Run Code Online (Sandbox Code Playgroud)
可以dism /Mount-WIM在docker中使用吗?