Package javassist.compiler.ast

Examples of javassist.compiler.ast.Member


/* 436 */     String m = method;
/*     */
/* 438 */     ProceedHandler h = new ProceedHandler(m, texpr) { private final String val$m;
/*     */       private final ASTree val$texpr;
/*     */
/* 442 */       public void doit(JvstCodeGen gen, Bytecode b, ASTList args) throws CompileError { ASTree expr = new Member(this.val$m);
/* 443 */         if (this.val$texpr != null) {
/* 444 */           expr = Expr.make(46, this.val$texpr, expr);
/*     */         }
/* 446 */         expr = CallExpr.makeCall(expr, args);
/* 447 */         gen.compileExpr(expr);
/* 448 */         gen.addNullIfVoid();
/*     */       }
/*     */
/*     */       public void setReturnType(JvstTypeChecker check, ASTList args)
/*     */         throws CompileError
/*     */       {
/* 454 */         ASTree expr = new Member(this.val$m);
/* 455 */         if (this.val$texpr != null) {
/* 456 */           expr = Expr.make(46, this.val$texpr, expr);
/*     */         }
/* 458 */         expr = CallExpr.makeCall(expr, args);
/* 459 */         expr.accept(check);
/* 460 */         check.addNullIfVoid();
/*     */       }
/*     */     };
/* 464 */     this.gen.setProceedHandler(h, "$proceed");
/*     */   }
View Full Code Here


/* 480 */     String m = method;
/*     */
/* 482 */     ProceedHandler h = new ProceedHandler(c, m) { private final String val$c;
/*     */       private final String val$m;
/*     */
/* 486 */       public void doit(JvstCodeGen gen, Bytecode b, ASTList args) throws CompileError { Expr expr = Expr.make(35, new Symbol(this.val$c), new Member(this.val$m));
/*     */
/* 488 */         expr = CallExpr.makeCall(expr, args);
/* 489 */         gen.compileExpr(expr);
/* 490 */         gen.addNullIfVoid();
/*     */       }
/*     */
/*     */       public void setReturnType(JvstTypeChecker check, ASTList args)
/*     */         throws CompileError
/*     */       {
/* 496 */         Expr expr = Expr.make(35, new Symbol(this.val$c), new Member(this.val$m));
/*     */
/* 498 */         expr = CallExpr.makeCall(expr, args);
/* 499 */         expr.accept(check);
/* 500 */         check.addNullIfVoid();
/*     */       }
View Full Code Here

/*      */     {
/*  310 */       if (token == 43) {
/*  311 */         Expr e = atPlusExpr(expr);
/*  312 */         if (e != null)
/*      */         {
/*  316 */           e = CallExpr.makeCall(Expr.make(46, e, new Member("toString")), null);
/*      */
/*  318 */           expr.setOprand1(e);
/*  319 */           expr.setOprand2(null);
/*  320 */           this.className = "java/lang/String";
/*      */         }
View Full Code Here

/*      */
/*  486 */     return false;
/*      */   }
/*      */
/*      */   private static Expr makeAppendCall(ASTree target, ASTree arg) {
/*  490 */     return CallExpr.makeCall(Expr.make(46, target, new Member("append")), new ASTList(arg));
/*      */   }
View Full Code Here

/*      */
/*      */   protected CtField fieldAccess(ASTree expr)
/*      */     throws CompileError
/*      */   {
/*  800 */     if ((expr instanceof Member)) {
/*  801 */       Member mem = (Member)expr;
/*  802 */       String name = mem.get();
/*      */       try {
/*  804 */         CtField f = this.thisClass.getField(name);
/*  805 */         if (Modifier.isStatic(f.getModifiers())) {
/*  806 */           mem.setField(f);
/*      */         }
/*  808 */         return f;
/*      */       }
/*      */       catch (NotFoundException e)
/*      */       {
/*  812 */         throw new NoFieldException(name, expr);
/*      */       }
/*      */     }
/*  815 */     if ((expr instanceof Expr)) {
/*  816 */       Expr e = (Expr)expr;
/*  817 */       int op = e.getOperator();
/*  818 */       if (op == 35) {
/*  819 */         Member mem = (Member)e.oprand2();
/*  820 */         CtField f = this.resolver.lookupField(((Symbol)e.oprand1()).get(), mem);
/*      */
/*  822 */         mem.setField(f);
/*  823 */         return f;
/*      */       }
/*  825 */       if (op == 46) {
/*      */         try {
/*  827 */           e.oprand1().accept(this);
View Full Code Here

/*      */     }
/*  875 */     throw new CompileError("bad filed access");
/*      */   }
/*      */
/*      */   private CtField fieldAccess2(Expr e, String jvmClassName) throws CompileError {
/*  879 */     Member fname = (Member)e.oprand2();
/*  880 */     CtField f = this.resolver.lookupFieldByJvmName2(jvmClassName, fname, e);
/*  881 */     e.setOperator(35);
/*  882 */     e.setOprand1(new Symbol(MemberResolver.jvmToJavaName(jvmClassName)));
/*  883 */     fname.setField(f);
/*  884 */     return f;
/*      */   }
View Full Code Here

/* 1060 */         if (t == 307) {
/* 1061 */           expr = parseDotClass(expr, 0); continue;
/*      */         }
/* 1063 */         if (t == 400) {
/* 1064 */           String str = this.lex.getString();
/* 1065 */           expr = Expr.make(46, expr, new Member(str)); continue;
/*      */         }
/*      */
/* 1068 */         throw new CompileError("missing member name", this.lex);
/*      */       case 35:
/* 1071 */         this.lex.get();
/* 1072 */         t = this.lex.get();
/* 1073 */         if (t != 400) {
/* 1074 */           throw new CompileError("missing static member name", this.lex);
/*      */         }
/* 1076 */         String str = this.lex.getString();
/* 1077 */         expr = Expr.make(35, new Symbol(toClassName(expr)), new Member(str));
/*      */       }
/*      */     }
/*      */
/* 1081 */     return expr;
/*      */   }
View Full Code Here

/*      */       }
/* 1099 */       sbuf.append('L').append(cname.replace('.', '/')).append(';');
/* 1100 */       cname = sbuf.toString();
/*      */     }
/*      */
/* 1103 */     return Expr.make(46, new Symbol(cname), new Member("class"));
/*      */   }
View Full Code Here

/*      */   private ASTree parseDotClass(int builtinType, int dim)
/*      */     throws CompileError
/*      */   {
/* 1113 */     if (dim > 0) {
/* 1114 */       String cname = CodeGen.toJvmTypeName(builtinType, dim);
/* 1115 */       return Expr.make(46, new Symbol(cname), new Member("class"));
/*      */     }
/*      */     String cname;
/* 1119 */     switch (builtinType) {
/*      */     case 301:
/* 1121 */       cname = "java.lang.Boolean";
/* 1122 */       break;
/*      */     case 303:
/* 1124 */       cname = "java.lang.Byte";
/* 1125 */       break;
/*      */     case 306:
/* 1127 */       cname = "java.lang.Character";
/* 1128 */       break;
/*      */     case 334:
/* 1130 */       cname = "java.lang.Short";
/* 1131 */       break;
/*      */     case 324:
/* 1133 */       cname = "java.lang.Integer";
/* 1134 */       break;
/*      */     case 326:
/* 1136 */       cname = "java.lang.Long";
/* 1137 */       break;
/*      */     case 317:
/* 1139 */       cname = "java.lang.Float";
/* 1140 */       break;
/*      */     case 312:
/* 1142 */       cname = "java.lang.Double";
/* 1143 */       break;
/*      */     case 344:
/* 1145 */       cname = "java.lang.Void";
/* 1146 */       break;
/*      */     default:
/* 1148 */       throw new CompileError("invalid builtin type: " + builtinType);
/*      */     }
/*      */
/* 1152 */     return Expr.make(35, new Symbol(cname), new Member("TYPE"));
/*      */   }
View Full Code Here

/* 1230 */       return new Keyword(t);
/*      */     case 400:
/* 1232 */       String name = this.lex.getString();
/* 1233 */       Declarator decl = tbl.lookup(name);
/* 1234 */       if (decl == null) {
/* 1235 */         return new Member(name);
/*      */       }
/* 1237 */       return new Variable(name, decl);
/*      */     case 406:
/* 1239 */       return new StringL(this.lex.getString());
/*      */     case 328:
View Full Code Here

TOP

Related Classes of javassist.compiler.ast.Member

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.