1 24 package org.aspectj.compiler.crosscuts.joinpoints; 25 26 import org.aspectj.compiler.base.ast.*; 27 import org.aspectj.compiler.crosscuts.ast.*; 28 29 import org.aspectj.compiler.base.JavaCompiler; 30 import org.aspectj.util.JavaStrings; 31 32 import java.util.*; 33 34 35 public class ConstructorCallJp extends CallJp { 36 public ConstructorCallJp(NewExpr callExpr, JoinPoint enclosingJp) { 37 super(callExpr, enclosingJp); 38 } 39 40 public static final Kind KIND = new Kind("constructor-call", CONSTRUCTOR_CALL); 41 42 public Kind getKind() { return KIND; } 43 44 public boolean isMethodCall() { return false; } 45 46 public Type getTargetExprType() { return null; } 47 48 public Type getTargetType() { 49 return getCallExpr().getType(); 50 } 51 52 protected ASTObject makeInnerCall(Expr targetExpr, Exprs innerArgs) { 53 AnyCallExpr innerCall = getCallExpr(); 54 NewInstanceExpr newInstance = (NewInstanceExpr)innerCall; 55 TypeDec saveTypeDec = newInstance.getTypeDec(); 56 newInstance.setTypeDec(null); 57 newInstance = (NewInstanceExpr)newInstance.copy(); 58 newInstance.setTypeDec(saveTypeDec); 59 innerCall = newInstance; 60 innerCall.setArgs(innerArgs); 61 return innerCall; 63 } 64 } 65 | Popular Tags |