int lineNumber; if (currentOperation.getMethodName() != null) { lineNumber = currentOperation.getMethodStartPosition().getLine(); } else { lineNumber = currentOperation.getStartPosition().getLine(); EditorContext.CURRENT_OUT_OPERATION_ANNOTATION_TYPE, false)); int lineNumber = lastOperation.getEndPosition().getLine(); annotations.add(EditorContextBridge.getContext().annotate ( url,
private MethodArgument[] computeMethodArguments(CompilationController ci, Operation operation) throws IOException { MethodArgument args[]; if (ci.toPhase(Phase.RESOLVED).compareTo(Phase.RESOLVED) < 0) { ErrorManager.getDefault().log(ErrorManager.WARNING, "Unable to resolve "+ci.getFileObject()+" to phase "+Phase.RESOLVED+", current phase = "+ci.getPhase()+ "\nDiagnostics = "+ci.getDiagnostics()+ "\nFree memory = "+Runtime.getRuntime().freeMemory()); return null; } int offset = operation.getMethodEndPosition().getOffset(); Scope scope = ci.getTreeUtilities().scopeFor(offset); Element method = scope.getEnclosingMethod(); if (method == null) { return null; } Tree methodTree = ci.getTrees().getTree(method); CompilationUnitTree cu = ci.getCompilationUnit(); MethodArgumentsScanner scanner = new MethodArgumentsScanner(offset, cu, ci.getTrees().getSourcePositions(), true, new OperationCreationDelegateImpl()); args = methodTree.accept(scanner, null); args = scanner.getArguments(); return args; }
private static Object createAnnotation(JPDADebugger debugger, String url, Operation operation, String type, boolean method) { int startOffset; int endOffset; if (method && operation.getMethodName() != null) { startOffset = operation.getMethodStartPosition().getOffset(); endOffset = operation.getMethodEndPosition().getOffset(); } else { startOffset = operation.getStartPosition().getOffset(); endOffset = operation.getEndPosition().getOffset(); } return EditorContextBridge.getContext().annotate ( url, startOffset, endOffset, type, debugger ); }
@Override public void run(ResultIterator resultIterator) throws Exception { int offset = operation.getMethodEndPosition().getOffset(); // AstScope scope = ci.getTreeUtilities().scopeFor(offset); // Element method = scope.getEnclosingMethod(); // if (method == null) { // return; // } // Tree methodTree = ci.getTrees().getTree(method); // CompilationUnitTree cu = ci.getCompilationUnit(); // MethodArgumentsScanner scanner = // new MethodArgumentsScanner(offset, cu, ci.getTrees().getSourcePositions(), true, // new OperationCreationDelegateImpl()); // args[0] = methodTree.accept(scanner, null); // args[0] = scanner.getArguments(); } });