org.mvel2.MVEL.executeDebugger()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(5.0k)|赞(0)|评价(0)|浏览(179)

本文整理了Java中org.mvel2.MVEL.executeDebugger()方法的一些代码示例,展示了MVEL.executeDebugger()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。MVEL.executeDebugger()方法的具体详情如下:
包路径:org.mvel2.MVEL
类名称:MVEL
方法名:executeDebugger

MVEL.executeDebugger介绍

暂无

代码示例

代码示例来源:origin: org.mvel/mvel2

public void testDebugSymbolsSingleStatement() {
 String ex = "System.out.println( Cheese.STILTON );";
 ParserContext ctx = new ParserContext();
 ctx.setStrongTyping(true);
 ctx.addImport(Cheese.class);
 try {
  ExpressionCompiler compiler = new ExpressionCompiler(ex, ctx);
  CompiledExpression expr = compiler.compile();
  // executing the following line with a MVEL.executeExpression() works fine
  // but executeDebugger() fails
  MVEL.executeDebugger(expr, null, (VariableResolverFactory) null);
 }
 catch (Throwable e) {
  e.printStackTrace();
  fail("Should not raise exception: " + e.getMessage());
 }
}

代码示例来源:origin: org.mvel/mvel2

));
Assert.assertEquals("FOOBAR!", MVEL.executeDebugger(compiled, null, new MapVariableResolverFactory(vars)));

代码示例来源:origin: org.mvel/mvel2

assertEquals(1, MVEL.executeDebugger(compiled, null, new MapVariableResolverFactory(createTestMap())));
assertTrue("Debugger did not break at line 9", linesEncountered.contains(9));

代码示例来源:origin: org.mvel/mvel2

assertEquals("bar", MVEL.executeDebugger(compiled, null, new MapVariableResolverFactory(createTestMap())));
assertTrue("did not break at line 1", breaked.contains(1));

代码示例来源:origin: org.mvel/mvel2

public void testBreakpoints() {
 ParserContext ctx = new ParserContext();
 ctx.setSourceFile( "test.mv" );
 ctx.setDebugSymbols( true );
 ExpressionCompiler compiler = new ExpressionCompiler("a = 5;\nb = 5;\n\nif (a == b) {\n\nSystem.out.println('Good');\nreturn a + b;\n}\n", ctx);
 System.out.println("-------\n" + compiler.getExpression() + "\n-------\n");
 CompiledExpression compiled = compiler.compile();
 MVELRuntime.registerBreakpoint("test.mv", 7);
 final Set<Integer> breaked = new HashSet<Integer>();
 Debugger testDebugger = new Debugger() {
  public int onBreak(Frame frame) {
   System.out.println("Breakpoint [source:" + frame.getSourceName() + "; line:" + frame.getLineNumber() + "]");
   breaked.add(frame.getLineNumber());
   return 0;
  }
 };
 MVELRuntime.setThreadDebugger(testDebugger);
 assertEquals(10, MVEL.executeDebugger(compiled, null, new MapVariableResolverFactory(createTestMap())));
 assertTrue("did not break at line 7", breaked.contains(7));
}

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.drools

public void evaluate(final KnowledgeHelper knowledgeHelper,
           final WorkingMemory workingMemory) throws Exception {
  
  VariableResolverFactory factory = unit.getFactory( knowledgeHelper,  ((AgendaItem)knowledgeHelper.getActivation()).getRuleTerminalNode().getDeclarations(),
                            knowledgeHelper.getRule(), knowledgeHelper, (LeftTuple) knowledgeHelper.getTuple(), null, (InternalWorkingMemory) workingMemory, workingMemory.getGlobalResolver()  );
  
  // do we have any functions for this namespace?
  Package pkg = workingMemory.getRuleBase().getPackage( "MAIN" );
  if ( pkg != null ) {
    MVELDialectRuntimeData data = (MVELDialectRuntimeData) pkg.getDialectRuntimeRegistry().getDialectData( this.id );
    factory.setNextFactory( data.getFunctionFactory() );
  }
  CompiledExpression compexpr = (CompiledExpression) this.expr;
  if ( MVELDebugHandler.isDebugMode() ) {
    if ( MVELDebugHandler.verbose ) {
      logger.info(DebugTools.decompile(compexpr));
    }
    MVEL.executeDebugger( compexpr,
               knowledgeHelper,
               factory );
  } else {
    MVEL.executeExpression( compexpr,
                knowledgeHelper,
                factory );
  }
}

代码示例来源:origin: org.mvel/mvel2

assertEquals("bar", MVEL.executeDebugger(compiled, null, new MapVariableResolverFactory(createTestMap())));
assertTrue("did not fire before", result.firedBefore);
assertTrue("did not fire after", result.firedAfter);

代码示例来源:origin: org.mvel/mvel2

MVEL.executeDebugger(compexpr, null, factory);

代码示例来源:origin: org.mvel/mvel2

public void testDebuggerInvoke2() {
 count = 0;
 MVELRuntime.resetDebugger();
 MVELRuntime.setThreadDebugger(new Debugger() {
  public int onBreak(Frame frame) {
   count++;
   return 0;
  }
 });
 String src = "a1=7;\na2=8;\nSystem.out.println(\"h\");\nac=23;\nde=23;\nge=23;\ngef=34;";
 ParserContext ctx = new ParserContext();
 ctx.setSourceFile("mysource");
 ctx.setDebugSymbols(true);
 ExpressionCompiler c = new ExpressionCompiler(src, ctx);
 CompiledExpression compexpr = c.compile();
 System.out.println(decompile(compexpr));
 MVELRuntime.registerBreakpoint(ctx.getSourceFile(), 1);
 MVELRuntime.registerBreakpoint(ctx.getSourceFile(), 2);
 MVELRuntime.registerBreakpoint(ctx.getSourceFile(), 3);
 MVELRuntime.registerBreakpoint(ctx.getSourceFile(), 4);
 MVELRuntime.registerBreakpoint(ctx.getSourceFile(), 5);
 VariableResolverFactory factory = new DefaultLocalVariableResolverFactory();
 MVEL.executeDebugger(compexpr, null, factory);
 System.out.println(count);
 assertEquals(5, count);
}

代码示例来源:origin: org.mvel/mvel2

assertEquals(1, MVEL.executeDebugger(compiled, null, new MapVariableResolverFactory(createTestMap())));
assertEquals("did not break at expected lines", Make.Set.<Integer>$()._(6)._(8)._(9)._(10)._(), breaked);

相关文章