@Override public EmptyExpressionInfo resolve( TargetClassInfo usingClass, CallableUnitInfo usingMethod, ClassInfoManager classInfoManager, FieldInfoManager fieldInfoManager, MethodInfoManager methodInfoManager) { // 不正な呼び出しでないかをチェック MetricsToolSecurityManager.getInstance().checkAccess(); if ((null == usingClass) || (null == usingMethod) || (null == classInfoManager) || (null == methodInfoManager)) { throw new NullPointerException(); } // 既に解決済みである場合は,キャッシュを返す if (this.alreadyResolved()) { return this.getResolved(); } this.resolvedInfo = new EmptyExpressionInfo( usingMethod, this.getFromLine(), this.getFromColumn(), this.getToLine(), this.getToColumn()); return this.resolvedInfo; }
@Override public TernaryOperationInfo resolve( TargetClassInfo usingClass, CallableUnitInfo usingMethod, ClassInfoManager classInfoManager, FieldInfoManager fieldInfoManager, MethodInfoManager methodInfoManager) { // 不正な呼び出しでないかをチェック MetricsToolSecurityManager.getInstance().checkAccess(); if ((null == usingClass) || (null == usingMethod) || (null == classInfoManager) || (null == methodInfoManager)) { throw new NullPointerException(); } // 既に解決済みである場合は,キャッシュを返す if (this.alreadyResolved()) { return this.getResolved(); } final int fromLine = this.getFromLine(); final int fromColumn = this.getFromColumn(); final int toLine = this.getToLine(); final int toColumn = this.getToColumn(); final ConditionInfo conditionalExpression = this.condition.resolve( usingClass, usingMethod, classInfoManager, fieldInfoManager, methodInfoManager); final ExpressionInfo trueExpression = this.trueExpression.resolve( usingClass, usingMethod, classInfoManager, fieldInfoManager, methodInfoManager); final ExpressionInfo falseExpression = this.falseExpression.resolve( usingClass, usingMethod, classInfoManager, fieldInfoManager, methodInfoManager); /*// 要素使用のオーナー要素を返す final UnresolvedExecutableElementInfo<?> unresolvedOwnerExecutableElement = this .getOwnerExecutableElement(); final ExecutableElementInfo ownerExecutableElement = unresolvedOwnerExecutableElement .resolve(usingClass, usingMethod, classInfoManager, fieldInfoManager, methodInfoManager);*/ this.resolvedInfo = new TernaryOperationInfo( conditionalExpression, trueExpression, falseExpression, usingMethod, fromLine, fromColumn, toLine, toColumn); /*this.resolvedInfo.setOwnerExecutableElement(ownerExecutableElement);*/ return this.resolvedInfo; }