本文整理汇总了Java中org.apache.calcite.linq4j.tree.Expressions.new_方法的典型用法代码示例。如果您正苦于以下问题:Java Expressions.new_方法的具体用法?Java Expressions.new_怎么用?Java Expressions.new_使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.calcite.linq4j.tree.Expressions
的用法示例。
在下文中一共展示了Expressions.new_方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testClassDecl
import org.apache.calcite.linq4j.tree.Expressions; //导入方法依赖的package包/类
@Test public void testClassDecl() {
final NewExpression newExpression =
Expressions.new_(
Object.class,
Collections.<Expression>emptyList(),
Arrays.<MemberDeclaration>asList(
Expressions.fieldDecl(
Modifier.PUBLIC | Modifier.FINAL,
Expressions.parameter(String.class, "foo"),
Expressions.constant("bar")),
new ClassDeclaration(
Modifier.PUBLIC | Modifier.STATIC,
"MyClass",
null,
Collections.<Type>emptyList(),
Arrays.<MemberDeclaration>asList(
new FieldDeclaration(
0,
Expressions.parameter(int.class, "x"),
Expressions.constant(0)))),
Expressions.fieldDecl(
0,
Expressions.parameter(int.class, "i"))));
assertEquals(
"new Object(){\n"
+ " public final String foo = \"bar\";\n"
+ " public static class MyClass {\n"
+ " int x = 0;\n"
+ " }\n"
+ " int i;\n"
+ "}",
Expressions.toString(newExpression));
newExpression.accept(new Shuttle());
}
示例2: implement
import org.apache.calcite.linq4j.tree.Expressions; //导入方法依赖的package包/类
public Expression implement(RexToLixTranslator translator,
RexCall call, List<Expression> translatedOperands) {
translatedOperands =
EnumUtils.fromInternal(method.getParameterTypes(), translatedOperands);
if ((method.getModifiers() & Modifier.STATIC) != 0) {
return Expressions.call(method, translatedOperands);
} else {
// The UDF class must have a public zero-args constructor.
// Assume that the validator checked already.
final Expression target =
Expressions.new_(method.getDeclaringClass());
return Expressions.call(target, method, translatedOperands);
}
}