本文整理汇总了Java中consulo.dotnet.debugger.proxy.DotNetStackFrameProxy类的典型用法代码示例。如果您正苦于以下问题:Java DotNetStackFrameProxy类的具体用法?Java DotNetStackFrameProxy怎么用?Java DotNetStackFrameProxy使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
DotNetStackFrameProxy类属于consulo.dotnet.debugger.proxy包,在下文中一共展示了DotNetStackFrameProxy类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: tryEvaluateBreakpointCondition
import consulo.dotnet.debugger.proxy.DotNetStackFrameProxy; //导入依赖的package包/类
public boolean tryEvaluateBreakpointCondition(@NotNull DotNetThreadProxy threadProxy, final XLineBreakpoint<?> breakpoint, final DotNetDebugContext debugContext) throws Exception
{
final XExpression conditionExpression = breakpoint.getConditionExpression();
if(conditionExpression == null)
{
return true;
}
DotNetStackFrameProxy frame = threadProxy.getFrame(0);
if(frame == null)
{
return true;
}
XValue value = evaluateBreakpointExpression(frame, breakpoint, conditionExpression, debugContext);
if(value instanceof DotNetAbstractVariableValueNode)
{
DotNetValueProxy valueOfVariableSafe = ((DotNetAbstractVariableValueNode) value).getValueOfVariable();
if(valueOfVariableSafe instanceof DotNetBooleanValueProxy)
{
return ((DotNetBooleanValueProxy) valueOfVariableSafe).getValue();
}
}
return true;
}
示例2: IEnumeratorAsIterator
import consulo.dotnet.debugger.proxy.DotNetStackFrameProxy; //导入依赖的package包/类
public IEnumeratorAsIterator(DotNetStackFrameProxy frameProxy, DotNetValueProxy value) throws CantCreateException
{
myFrameProxy = frameProxy;
myValue = value;
DotNetTypeProxy typeMirror = myValue.getType();
myMoveNextMethod = DotNetDebuggerSearchUtil.findMethod("MoveNext", typeMirror);
if(myMoveNextMethod == null)
{
throw new CantCreateException();
}
myCurrent = DotNetDebuggerSearchUtil.findGetterForProperty("Current", typeMirror);
if(myCurrent == null)
{
throw new CantCreateException();
}
}
示例3: calcTopFrame
import consulo.dotnet.debugger.proxy.DotNetStackFrameProxy; //导入依赖的package包/类
@Nullable
private XStackFrame calcTopFrame()
{
try
{
DotNetVirtualMachineUtil.checkCallForUIThread();
List<DotNetStackFrameProxy> frames = myThreadProxy.getFrames();
DotNetStackFrameProxy frame = ArrayUtil2.safeGet(frames, 0);
if(frame == null)
{
return null;
}
return myTopFrame = new DotNetStackFrame(myDebuggerContext, frame);
}
catch(DotNetNotSuspendedException ignored)
{
return null;
}
finally
{
myTopFrameCalculated = true;
}
}
示例4: toStringValue
import consulo.dotnet.debugger.proxy.DotNetStackFrameProxy; //导入依赖的package包/类
@Nullable
public static String toStringValue(@NotNull DotNetStackFrameProxy threadProxy, @NotNull DotNetValueProxy valueProxy)
{
try
{
DotNetTypeProxy type = valueProxy.getType();
if(type == null)
{
return null;
}
DotNetMethodProxy toString = type.findMethodByName("ToString", true);
DotNetValueProxy invoke = null;
assert toString != null;
invoke = toString.invoke(threadProxy, valueProxy);
if(!(invoke instanceof DotNetStringValueProxy))
{
return null;
}
return (String) invoke.getValue();
}
catch(DotNetThrowValueException | DotNetNotSuspendedException ignored)
{
}
return null;
}
示例5: invoke
import consulo.dotnet.debugger.proxy.DotNetStackFrameProxy; //导入依赖的package包/类
@Nullable
@Override
public DotNetValueProxy invoke(@NotNull DotNetStackFrameProxy frameProxy, @Nullable DotNetValueProxy thisObjectProxy, @NotNull DotNetValueProxy... arguments) throws DotNetThrowValueException
{
StackFrameMirror frameMirror = ((MicrosoftStackFrameProxy) frameProxy).getFrameMirror();
Value<?> thisObject = thisObjectProxy == null ? null : ((MicrosoftValueProxyBase) thisObjectProxy).getMirror();
Value[] values = new Value[arguments.length];
for(int i = 0; i < arguments.length; i++)
{
DotNetValueProxy argument = arguments[i];
values[i] = ((MicrosoftValueProxyBase) argument).getMirror();
}
try
{
return MicrosoftValueProxyUtil.wrap(myMethodMirror.invoke(frameMirror, thisObject, values));
}
catch(ThrowValueException e)
{
throw new IllegalArgumentException(e); //TODO [VISTALL] throw new DotNetThrowValueException(MonoValueProxyUtil.wrap(e.getThrowExceptionValue()));
}
}
示例6: getFrames
import consulo.dotnet.debugger.proxy.DotNetStackFrameProxy; //导入依赖的package包/类
@NotNull
@Override
public List<DotNetStackFrameProxy> getFrames() throws DotNetNotSuspendedException
{
try
{
List<StackFrameMirror> frames = myThreadMirror.frames();
List<DotNetStackFrameProxy> proxies = new ArrayList<DotNetStackFrameProxy>(frames.size());
for(int i = 0; i < frames.size(); i++)
{
StackFrameMirror frameMirror = frames.get(i);
proxies.add(new MicrosoftStackFrameProxy(i, myVirtualMachineProxy, frameMirror));
}
return proxies;
}
catch(NotSuspendedException e)
{
throw new DotNetNotSuspendedException(e);
}
}
示例7: getFrame
import consulo.dotnet.debugger.proxy.DotNetStackFrameProxy; //导入依赖的package包/类
@Nullable
@Override
public DotNetStackFrameProxy getFrame(int index) throws DotNetNotSuspendedException
{
try
{
List<StackFrameMirror> frames = myThreadMirror.frames();
StackFrameMirror frameMirror = ArrayUtil2.safeGet(frames, index);
if(frameMirror != null)
{
return new MicrosoftStackFrameProxy(index, myVirtualMachineProxy, frameMirror);
}
return null;
}
catch(NotSuspendedException e)
{
throw new DotNetNotSuspendedException(e);
}
}
示例8: getFrames
import consulo.dotnet.debugger.proxy.DotNetStackFrameProxy; //导入依赖的package包/类
@NotNull
@Override
public List<DotNetStackFrameProxy> getFrames() throws DotNetNotSuspendedException
{
try
{
List<StackFrameMirror> frames = myThreadMirror.frames();
List<DotNetStackFrameProxy> proxies = new ArrayList<>(frames.size());
for(int i = 0; i < frames.size(); i++)
{
StackFrameMirror frameMirror = frames.get(i);
proxies.add(new MonoStackFrameProxy(i, myVirtualMachineProxy, frameMirror));
}
return proxies;
}
catch(NotSuspendedException e)
{
throw new DotNetNotSuspendedException(e);
}
}
示例9: getFrame
import consulo.dotnet.debugger.proxy.DotNetStackFrameProxy; //导入依赖的package包/类
@Nullable
@Override
public DotNetStackFrameProxy getFrame(int index) throws DotNetNotSuspendedException
{
try
{
List<StackFrameMirror> frames = myThreadMirror.frames();
StackFrameMirror frameMirror = ArrayUtil2.safeGet(frames, index);
if(frameMirror != null)
{
return new MonoStackFrameProxy(index, myVirtualMachineProxy, frameMirror);
}
return null;
}
catch(NotSuspendedException e)
{
throw new DotNetNotSuspendedException(e);
}
}
示例10: getEnumConstantValue
import consulo.dotnet.debugger.proxy.DotNetStackFrameProxy; //导入依赖的package包/类
@Override
@Nullable
public ULong getEnumConstantValue(@NotNull DotNetStackFrameProxy stackFrameProxy)
{
DotNetValueProxy fieldValue = getValue(stackFrameProxy, null);
if(fieldValue instanceof DotNetEnumValueProxy)
{
Object enumValue = fieldValue.getValue();
if(enumValue instanceof DotNetNumberValueProxy)
{
Number actualValue = ((DotNetNumberValueProxy) enumValue).getValue();
return ULong.valueOf(actualValue.longValue());
}
}
return null;
}
示例11: evaluate
import consulo.dotnet.debugger.proxy.DotNetStackFrameProxy; //导入依赖的package包/类
@Override
public void evaluate(@NotNull DotNetStackFrameProxy stackFrameMirror,
@NotNull DotNetDebugContext context,
@NotNull String s,
@Nullable PsiElement element,
@NotNull XDebuggerEvaluator.XEvaluationCallback callback,
@Nullable XSourcePosition sourcePosition)
{
callback.errorOccurred("UnityScript evaluation is not supported");
}
示例12: tryEvaluateFromStackFrame
import consulo.dotnet.debugger.proxy.DotNetStackFrameProxy; //导入依赖的package包/类
@Override
protected boolean tryEvaluateFromStackFrame(@NotNull CSharpEvaluateContext context, DotNetStackFrameProxy frame, DotNetMethodProxy method)
{
DotNetMethodParameterProxy methodParameterMirror = method.getParameters()[myIndex];
DotNetValueProxy value = context.getFrame().getParameterValue(methodParameterMirror);
if(value != null)
{
context.pull(value, methodParameterMirror);
return true;
}
return false;
}
示例13: evaluate
import consulo.dotnet.debugger.proxy.DotNetStackFrameProxy; //导入依赖的package包/类
@Override
public void evaluate(@NotNull CSharpEvaluateContext context) throws DotNetInvalidObjectException, DotNetInvalidStackFrameException, DotNetAbsentInformationException
{
DotNetStackFrameProxy frame = context.getFrame();
context.pull(calcThisObject(frame, frame.getThisObject()), null);
}
示例14: tryEvaluateBreakpointLogMessage
import consulo.dotnet.debugger.proxy.DotNetStackFrameProxy; //导入依赖的package包/类
@Nullable
public String tryEvaluateBreakpointLogMessage(@NotNull DotNetThreadProxy threadProxy, final XLineBreakpoint<?> breakpoint, final DotNetDebugContext debugContext) throws
DotNetNotSuspendedException
{
XExpression logExpressionObject = breakpoint.getLogExpressionObject();
if(logExpressionObject == null)
{
return null;
}
XDebugSession session = debugContext.getSession();
ConsoleView consoleView = session.getConsoleView();
if(consoleView == null)
{
return null;
}
final DotNetStackFrameProxy frame = threadProxy.getFrame(0);
if(frame == null)
{
return null;
}
XValue value = evaluateBreakpointExpression(frame, breakpoint, logExpressionObject, debugContext);
if(value instanceof DotNetAbstractVariableValueNode)
{
DotNetValueProxy valueOfVariableSafe = ((DotNetAbstractVariableValueNode) value).getValueOfVariable();
if(valueOfVariableSafe != null)
{
String toStringValue = DotNetDebuggerSearchUtil.toStringValue(frame, valueOfVariableSafe);
if(toStringValue != null)
{
return toStringValue;
}
}
}
return null;
}
示例15: DotNetArrayValueNode
import consulo.dotnet.debugger.proxy.DotNetStackFrameProxy; //导入依赖的package包/类
public DotNetArrayValueNode(@NotNull DotNetDebugContext debuggerContext, @NotNull String name, @NotNull DotNetStackFrameProxy frameProxy, @NotNull DotNetArrayValueProxy valueMirrorNode,
int index)
{
super(debuggerContext, name, frameProxy);
myArrayValueMirror = valueMirrorNode;
myIndex = index;
myValue = valueMirrorNode.get(index);
}