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


Java FieldAccessExpr类代码示例

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


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

示例1: visit

import japa.parser.ast.expr.FieldAccessExpr; //导入依赖的package包/类
@Override
public String visit(FieldAccessExpr n, Void arg) {
    Scope scope = (Scope) n.getData();
    Scope context = scope.findFirstNonBlockScope();

    String lhsType = n.getScope().accept(this, arg);
    Scope lhsScope = scope.findType(lhsType);

    switch (context.type) {
        case STATIC:
        case INSTANCE:
            Scope enclosing = lhsScope.findEnclosingScopeForValue(n.getField(), Scope.Type.CLASS);
            if (enclosing == null) {
                throw new SemanticException("field " + n.getField() + " not present in type on line " + n.getBeginLine());
            }
            return enclosing.vars.get(n.getField()).type;

        default:
            throw new SemanticException("what?? on line " + n.getBeginLine());
    }
}
 
开发者ID:rfw,项目名称:genja,代码行数:22,代码来源:ExpressionAnalysis.java

示例2: visit

import japa.parser.ast.expr.FieldAccessExpr; //导入依赖的package包/类
public Boolean visit(FieldAccessExpr n1, Node arg) {
    FieldAccessExpr n2 = (FieldAccessExpr) arg;

    if (!nodeEquals(n1.getScope(), n2.getScope())) {
        return Boolean.FALSE;
    }

    if (!objEquals(n1.getField(), n2.getField())) {
        return Boolean.FALSE;
    }

    if (!nodesEquals(n1.getTypeArgs(), n2.getTypeArgs())) {
        return Boolean.FALSE;
    }

    return Boolean.TRUE;
}
 
开发者ID:rfw,项目名称:genja,代码行数:18,代码来源:EqualsVisitor.java

示例3: findRootAssignExpr

import japa.parser.ast.expr.FieldAccessExpr; //导入依赖的package包/类
private static AssignExpr findRootAssignExpr(BlockStmt body) {
    if (body.getStmts() != null) {
        for (Statement s : body.getStmts()) {
            if (s instanceof ExpressionStmt) {
                ExpressionStmt est = (ExpressionStmt) s;
                if (est.getExpression() instanceof AssignExpr) {
                    AssignExpr ass = (AssignExpr) est.getExpression();
                    if (ass.getTarget() instanceof FieldAccessExpr) {
                        FieldAccessExpr fae = (FieldAccessExpr) ass.getTarget();
                        if ("root".equals(fae.getField())) {
                            return ass;
                        }
                    }
                }
            }
        }
    }
    return null;
}
 
开发者ID:ahn,项目名称:mideaas,代码行数:20,代码来源:JavaUtil.java

示例4: buildUnit

import japa.parser.ast.expr.FieldAccessExpr; //导入依赖的package包/类
public static void buildUnit() {
    CompilationUnit compUnit = new CompilationUnit();
    
    compUnit.setPackage(new PackageDeclaration(ASTHelper
                                               .createNameExpr("compiladores.aula")));
    
    // create the type declaration
    ClassOrInterfaceDeclaration type = new ClassOrInterfaceDeclaration(
                                                                       ModifierSet.PUBLIC, false, "AulaJavaParser");
    ASTHelper.addTypeDeclaration(compUnit, type);
    
    // create a method
    MethodDeclaration method = new MethodDeclaration(ModifierSet.PUBLIC,
                                                     ASTHelper.VOID_TYPE, "main");
    method.setModifiers(ModifierSet.addModifier(method.getModifiers(),
                                                ModifierSet.STATIC));
    ASTHelper.addMember(type, method);
    
    // add a parameter to the method
    Parameter param = ASTHelper.createParameter(
                                                ASTHelper.createReferenceType("String", 0), "args");
    param.setVarArgs(true); //makes the parameter a ",,," array
    ASTHelper.addParameter(method, param);
    
    // add a body to the method
    BlockStmt block = new BlockStmt();
    method.setBody(block);
    
    // add a statement do the method body
    NameExpr clazz = new NameExpr("System");
    FieldAccessExpr field = new FieldAccessExpr(clazz, "out");
    MethodCallExpr call = new MethodCallExpr(field, "println");
    ASTHelper.addArgument(call, new StringLiteralExpr("Hello World!"));
    ASTHelper.addStmt(block, call);
    
    System.out.println(compUnit.toString());
}
 
开发者ID:damorim,项目名称:compilers-cin,代码行数:38,代码来源:ParserExample.java

示例5: visit

import japa.parser.ast.expr.FieldAccessExpr; //导入依赖的package包/类
@Override
public void visit(FieldAccessExpr n, Generator arg) {
    throw new TransformException("don't know how to linearize");
}
 
开发者ID:rfw,项目名称:genja,代码行数:5,代码来源:LinearizeTransform.java

示例6: visit

import japa.parser.ast.expr.FieldAccessExpr; //导入依赖的package包/类
@Override
public Boolean visit(FieldAccessExpr n, Void arg) {
    return false;
}
 
开发者ID:rfw,项目名称:genja,代码行数:5,代码来源:NodeAnnotator.java

示例7: visit

import japa.parser.ast.expr.FieldAccessExpr; //导入依赖的package包/类
@Override
public void visit(FieldAccessExpr n, Scope arg) {
    super.visit(n, arg);
    n.setData(arg);
}
 
开发者ID:rfw,项目名称:genja,代码行数:6,代码来源:ScopeCollector.java

示例8: visit

import japa.parser.ast.expr.FieldAccessExpr; //导入依赖的package包/类
public R visit(FieldAccessExpr n, A arg) {
    n.getScope().accept(this, arg);
    return null;
}
 
开发者ID:rfw,项目名称:genja,代码行数:5,代码来源:GenericVisitorAdapter.java

示例9: visit

import japa.parser.ast.expr.FieldAccessExpr; //导入依赖的package包/类
public void visit(FieldAccessExpr n, Object arg) {
    n.getScope().accept(this, arg);
    printer.print(".");
    printer.print(n.getField());
}
 
开发者ID:rfw,项目名称:genja,代码行数:6,代码来源:DumpVisitor.java

示例10: visit

import japa.parser.ast.expr.FieldAccessExpr; //导入依赖的package包/类
public void visit(FieldAccessExpr n, A arg) {
    n.getScope().accept(this, arg);
}
 
开发者ID:rfw,项目名称:genja,代码行数:4,代码来源:VoidVisitorAdapter.java

示例11: visit

import japa.parser.ast.expr.FieldAccessExpr; //导入依赖的package包/类
public Node visit(FieldAccessExpr n, A arg) {
    n.setScope((Expression) n.getScope().accept(this, arg));
    return n;
}
 
开发者ID:rfw,项目名称:genja,代码行数:5,代码来源:ModifierVisitorAdapter.java

示例12: visit

import japa.parser.ast.expr.FieldAccessExpr; //导入依赖的package包/类
@Override
public void visit(FieldAccessExpr n, Object arg) {
    doTest(source, n);
    super.visit(n, arg);
}
 
开发者ID:rfw,项目名称:genja,代码行数:6,代码来源:TestNodePositions.java

示例13: visitPre

import japa.parser.ast.expr.FieldAccessExpr; //导入依赖的package包/类
@Override
public void visitPre(FieldAccessExpr n, A arg) {
    
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:5,代码来源:VoidVisitorHelperBase.java

示例14: visitPost

import japa.parser.ast.expr.FieldAccessExpr; //导入依赖的package包/类
@Override
public void visitPost(FieldAccessExpr n, A arg) {
    
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:5,代码来源:VoidVisitorHelperBase.java

示例15: visitPre

import japa.parser.ast.expr.FieldAccessExpr; //导入依赖的package包/类
void visitPre(FieldAccessExpr n, A arg); 
开发者ID:kuali,项目名称:kc-rice,代码行数:2,代码来源:VoidVisitorHelper.java


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