当前位置: 首页>>代码示例>>Java>>正文


Java ExplicitConstructorInvocationStmt类代码示例

本文整理汇总了Java中org.walkmod.javalang.ast.stmt.ExplicitConstructorInvocationStmt的典型用法代码示例。如果您正苦于以下问题:Java ExplicitConstructorInvocationStmt类的具体用法?Java ExplicitConstructorInvocationStmt怎么用?Java ExplicitConstructorInvocationStmt使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


ExplicitConstructorInvocationStmt类属于org.walkmod.javalang.ast.stmt包,在下文中一共展示了ExplicitConstructorInvocationStmt类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: visit

import org.walkmod.javalang.ast.stmt.ExplicitConstructorInvocationStmt; //导入依赖的package包/类
@Override
public void visit(ExplicitConstructorInvocationStmt n, A arg) {
    if (!n.isThis()) {
        if (n.getExpr() != null) {
            n.getExpr().accept(expressionTypeAnalyzer, arg);
            n.setSymbolData(n.getExpr().getSymbolData());
        }
    }
    // resolve constructor symbol data
    n.accept(expressionTypeAnalyzer, arg);

    if (n.getTypeArgs() != null) {
        for (Type t : n.getTypeArgs()) {
            t.accept(this, arg);
        }
    }
    if (n.getArgs() != null) {
        for (Expression e : n.getArgs()) {
            e.accept(expressionTypeAnalyzer, arg);
        }
    }

}
 
开发者ID:rpau,项目名称:javalang-compiler,代码行数:24,代码来源:SymbolVisitorAdapter.java

示例2: visit

import org.walkmod.javalang.ast.stmt.ExplicitConstructorInvocationStmt; //导入依赖的package包/类
public R visit(ExplicitConstructorInvocationStmt n, A arg) {
    if (!n.isThis()) {
        if (n.getExpr() != null) {
            n.getExpr().accept(this, arg);
        }
    }
    if (n.getTypeArgs() != null) {
        for (Type t : n.getTypeArgs()) {
            t.accept(this, arg);
        }
    }
    if (n.getArgs() != null) {
        for (Expression e : n.getArgs()) {
            e.accept(this, arg);
        }
    }
    return null;
}
 
开发者ID:rpau,项目名称:javalang,代码行数:19,代码来源:GenericVisitorAdapter.java

示例3: visit

import org.walkmod.javalang.ast.stmt.ExplicitConstructorInvocationStmt; //导入依赖的package包/类
public void visit(ExplicitConstructorInvocationStmt n, Object arg) {
    prepareComments(n);
    printPreviousComments(n, arg);
    if (n.isThis()) {
        printTypeArgs(n.getTypeArgs(), arg);
        printer.print("this");
    } else {
        if (n.getExpr() != null) {
            n.getExpr().accept(this, arg);
            printer.print(".");
        }
        printTypeArgs(n.getTypeArgs(), arg);
        printer.print("super");
    }
    printArguments(n.getArgs(), arg);
    printer.print(";");
}
 
开发者ID:rpau,项目名称:javalang,代码行数:18,代码来源:DumpVisitor.java

示例4: visit

import org.walkmod.javalang.ast.stmt.ExplicitConstructorInvocationStmt; //导入依赖的package包/类
public void visit(ExplicitConstructorInvocationStmt n, A arg) {
    if (!n.isThis()) {
        if (n.getExpr() != null) {
            n.getExpr().accept(this, arg);
        }
    }
    if (n.getTypeArgs() != null) {
        for (Type t : n.getTypeArgs()) {
            t.accept(this, arg);
        }
    }
    if (n.getArgs() != null) {
        for (Expression e : n.getArgs()) {
            e.accept(this, arg);
        }
    }
}
 
开发者ID:rpau,项目名称:javalang,代码行数:18,代码来源:VoidVisitorAdapter.java

示例5: visit

import org.walkmod.javalang.ast.stmt.ExplicitConstructorInvocationStmt; //导入依赖的package包/类
public Node visit(ExplicitConstructorInvocationStmt n, A arg) {
    if (!n.isThis()) {
        if (n.getExpr() != null) {
            n.setExpr((Expression) n.getExpr().accept(this, arg));
        }
    }
    List<Type> typeArgs = n.getTypeArgs();
    if (typeArgs != null) {
        for (int i = 0; i < typeArgs.size(); i++) {
            typeArgs.set(i, (Type) typeArgs.get(i).accept(this, arg));
        }
        removeNulls(typeArgs);
    }
    List<Expression> args = n.getArgs();
    if (args != null) {
        for (int i = 0; i < args.size(); i++) {
            args.set(i, (Expression) args.get(i).accept(this, arg));
        }
        removeNulls(args);
    }
    return n;
}
 
开发者ID:rpau,项目名称:javalang,代码行数:23,代码来源:ModifierVisitorAdapter.java

示例6: visit

import org.walkmod.javalang.ast.stmt.ExplicitConstructorInvocationStmt; //导入依赖的package包/类
public void visit(ExplicitConstructorInvocationStmt n, VisitorContext ctx) {
    Object o = ctx.get(NODE_TO_COMPARE_KEY);
    if (o != null && o instanceof ExplicitConstructorInvocationStmt) {
        ExplicitConstructorInvocationStmt aux = (ExplicitConstructorInvocationStmt) o;
        boolean backup = isUpdated();
        setIsUpdated(false);
        inferASTChanges(n.getTypeArgs(), aux.getTypeArgs());
        inferASTChanges(n.getArgs(), aux.getArgs());
        inferASTChanges(n.getExpr(), aux.getExpr());
        if (!isUpdated()) {
            increaseUnmodifiedNodes(ExplicitConstructorInvocationStmt.class);
        } else {
            applyUpdate(n, aux, n.getArgs(), aux.getArgs());
            applyUpdate(n, aux, n.getTypeArgs(), aux.getTypeArgs());
            increaseUpdatedNodes(ExplicitConstructorInvocationStmt.class);
        }
        setIsUpdated(backup || isUpdated());
    } else if (o != null) {
        setIsUpdated(true);
        applyUpdate(n, (Node) o);
    }
}
 
开发者ID:walkmod,项目名称:walkmod-javalang-plugin,代码行数:23,代码来源:ChangeLogVisitor.java

示例7: visit

import org.walkmod.javalang.ast.stmt.ExplicitConstructorInvocationStmt; //导入依赖的package包/类
@Override
public void visit(ExplicitConstructorInvocationStmt n, A arg) {

    if (n.getTypeArgs() != null) {
        for (Type t : n.getTypeArgs()) {
            t.accept(this, arg);
        }
    }
    Node p = n.getParentNode();
    while (p != null && !(p instanceof ConstructorDeclaration)) {
        p = p.getParentNode();
    }

    if (p != null) {
        final SymbolType st;
        final ConstructorDeclaration constructorDeclaration = (ConstructorDeclaration) p;
        if (n.isThis()) {
            st = (SymbolType) constructorDeclaration.getSymbolData();
        } else {
            final ClassOrInterfaceDeclaration parentNode =
                    (ClassOrInterfaceDeclaration) constructorDeclaration.getParentNode();
            final List<ClassOrInterfaceType> anExtends = parentNode.getExtends();
            st = anExtends != null && !anExtends.isEmpty() ? (SymbolType) anExtends.get(0).getSymbolData() : null;
        }
        if (st != null) {
            resolveConstructor(n, n.getArgs(), st, arg);
        }
    }
}
 
开发者ID:rpau,项目名称:javalang-compiler,代码行数:30,代码来源:TypeVisitorAdapter.java

示例8: testExplicitThisConstructorInvocationResolution

import org.walkmod.javalang.ast.stmt.ExplicitConstructorInvocationStmt; //导入依赖的package包/类
@Test
public void testExplicitThisConstructorInvocationResolution() throws Exception {
    CompilationUnit cu = run(
            "public class A { private String name; public A() { this(\"empty\"); } public A(String name){this.name = name;}}");
    ExplicitConstructorInvocationStmt st =
            (ExplicitConstructorInvocationStmt) ((ConstructorDeclaration) cu.getTypes().get(0).getMembers().get(1))
                    .getBlock().getStmts().get(0);
    Assert.assertNotNull(st.getSymbolData());
    Assert.assertEquals("public A(java.lang.String)", st.getSymbolData().getConstructor().toString());
}
 
开发者ID:rpau,项目名称:javalang-compiler,代码行数:11,代码来源:SymbolVisitorAdapterTest.java

示例9: testExplicitSuperConstructorInvocationResolution

import org.walkmod.javalang.ast.stmt.ExplicitConstructorInvocationStmt; //导入依赖的package包/类
@Test
public void testExplicitSuperConstructorInvocationResolution() throws Exception {
    CompilationUnit cu = run("class A { private String name; public A(String name){this.name = name;}}"
            + "class B extends A { B() { super(\"empty\"); } } ");
    ExplicitConstructorInvocationStmt st =
            (ExplicitConstructorInvocationStmt) ((ConstructorDeclaration) cu.getTypes().get(1).getMembers().get(0))
                    .getBlock().getStmts().get(0);
    Assert.assertNotNull(st.getSymbolData());
    Assert.assertEquals("public A(java.lang.String)", st.getSymbolData().getConstructor().toString());
}
 
开发者ID:rpau,项目名称:javalang-compiler,代码行数:11,代码来源:SymbolVisitorAdapterTest.java

示例10: visit

import org.walkmod.javalang.ast.stmt.ExplicitConstructorInvocationStmt; //导入依赖的package包/类
public Boolean visit(ExplicitConstructorInvocationStmt n1, Node arg) {
    ExplicitConstructorInvocationStmt n2 = (ExplicitConstructorInvocationStmt) arg;
    if (!nodeEquals(n1.getExpr(), n2.getExpr())) {
        return Boolean.FALSE;
    }
    if (!nodesEquals(n1.getArgs(), n2.getArgs())) {
        return Boolean.FALSE;
    }
    if (!nodesEquals(n1.getTypeArgs(), n2.getTypeArgs())) {
        return Boolean.FALSE;
    }
    return Boolean.TRUE;
}
 
开发者ID:rpau,项目名称:javalang,代码行数:14,代码来源:EqualsVisitor.java

示例11: visit

import org.walkmod.javalang.ast.stmt.ExplicitConstructorInvocationStmt; //导入依赖的package包/类
@Override
public Node visit(ExplicitConstructorInvocationStmt _n, Object _arg) {
    List<Type> typeArgs = visit(_n.getTypeArgs(), _arg);
    Expression expr = cloneNodes(_n.getExpr(), _arg);
    List<Expression> args = visit(_n.getArgs(), _arg);
    ExplicitConstructorInvocationStmt r = new ExplicitConstructorInvocationStmt(_n.getBeginLine(),
            _n.getBeginColumn(), _n.getEndLine(), _n.getEndColumn(), typeArgs, _n.isThis(), expr, args);
    return r;
}
 
开发者ID:rpau,项目名称:javalang,代码行数:10,代码来源:CloneVisitor.java

示例12: visit

import org.walkmod.javalang.ast.stmt.ExplicitConstructorInvocationStmt; //导入依赖的package包/类
public void visit(ExplicitConstructorInvocationStmt n, VisitorContext arg) {
    if (preVisitor != null) {
        preVisitor.visit(n, arg);
    }
    super.visit(n, arg);
    if (postVisitor != null) {
        postVisitor.visit(n, arg);
    }
}
 
开发者ID:rpau,项目名称:javalang,代码行数:10,代码来源:CompositeVisitor.java

示例13: ConstructorDeclaration

import org.walkmod.javalang.ast.stmt.ExplicitConstructorInvocationStmt; //导入依赖的package包/类
final public ConstructorDeclaration ConstructorDeclaration(Modifier modifier) throws ParseException {
    List typeParameters = null;
    String name;
    List parameters;
    List throws_ = null;
    ExplicitConstructorInvocationStmt exConsInv = null;
    List stmts;
    int line = modifier.beginLine;
    int column = modifier.beginColumn;
    int bbLine = 0;
    int bbColumn = 0;
    int beLine = 0;
    int beColumn = 0;
    switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
        case LT:
            typeParameters = TypeParameters();
            int[] lineCol = (int[]) typeParameters.remove(0);
            if (line == -1) {
                line = lineCol[0];
                column = lineCol[1];
            }
            break;
        default:
            jj_la1[52] = jj_gen;;
    }
    jj_consume_token(IDENTIFIER);
    name = token.image;
    if (line == -1) {
        line = token.beginLine;
        column = token.beginColumn;
    }
    parameters = FormalParameters();
    switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
        case THROWS:
            jj_consume_token(THROWS);
            throws_ = ClassOrInterfaceTypeList();
            break;
        default:
            jj_la1[53] = jj_gen;;
    }
    jj_consume_token(LBRACE);
    bbLine = token.beginLine;
    bbColumn = token.beginColumn;
    if (jj_2_8(2147483647)) {
        exConsInv = ExplicitConstructorInvocation();
    } else {
        ;
    }
    stmts = Statements();
    jj_consume_token(RBRACE);
    if (exConsInv != null) {
        stmts = add(0, stmts, exConsInv);
    }
    {
        if (true)
            return new ConstructorDeclaration(line, column, token.endLine, token.endColumn, popJavadoc(),
                    modifier.modifiers, modifier.annotations, typeParameters, name, parameters, throws_,
                    new BlockStmt(bbLine, bbColumn, token.endLine, token.endColumn, stmts));
    }
    throw new Error("Missing return statement in function");
}
 
开发者ID:rpau,项目名称:javalang,代码行数:62,代码来源:ASTParser.java

示例14: visit

import org.walkmod.javalang.ast.stmt.ExplicitConstructorInvocationStmt; //导入依赖的package包/类
public R visit(ExplicitConstructorInvocationStmt n, A arg); 
开发者ID:rpau,项目名称:javalang,代码行数:2,代码来源:GenericVisitor.java

示例15: visit

import org.walkmod.javalang.ast.stmt.ExplicitConstructorInvocationStmt; //导入依赖的package包/类
public void visit(ExplicitConstructorInvocationStmt n, A arg); 
开发者ID:rpau,项目名称:javalang,代码行数:2,代码来源:VoidVisitor.java


注:本文中的org.walkmod.javalang.ast.stmt.ExplicitConstructorInvocationStmt类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。