---
title: 'Eclipse Project 4.5 (Mars) M4'
url: 'https://www.tutego.de/blog/javainsel/2014/12/eclipse-project-4-5-mars-m4'
markdown: 'https://www.tutego.de/blog/javainsel/2014/12/eclipse-project-4-5-mars-m4.md'
date: '2014-12-14'
description: 'Je länger ich Eclipse benutze, desto seltener beschäftige ich mich mit Release-Dates oder den Features — es sei denn, ich warte auf die Unterstützung von neuen Sprache-Features. So gingen auch die bisherigen Milestones von 4.5 an mir spurlos vorbei, auch der letzte Milestone M4 vom 12.12. Zusammenf…'
taxonomy:
  category:
    - Entwicklungsumgebung
    - Eclipse
---

# Eclipse Project 4.5 (Mars) M4

![Illustration einer tropischen Insel mit Palmen und einem hohen Berg](https://www.tutego.de/blog/javainsel/user/themes/tutego/images/insel-cover.jpg)# Java Blog für Programmierer

[Java Blog für Programmierer](https://www.tutego.de/blog/javainsel/)

## Eclipse Project 4.5 (Mars) M4

14.12.2014 · [Christian Ullenboom](https://www.tutego.de/blog/javainsel/author/admin/)

Je länger ich Eclipse benutze, desto seltener beschäftige ich mich mit Release-Dates oder den Features — es sei denn, ich warte auf die Unterstützung von neuen Sprache-Features.

So gingen auch die bisherigen Milestones von 4.5 an mir spurlos vorbei, auch der letzte Milestone M4 vom 12.12. Zusammenfassend Neuerungen, die (für mich) interessanter sind:

## [https://www.eclipse.org/eclipse/news/4.5/M4/](https://www.eclipse.org/eclipse/news/4.5/M4/ "https://www.eclipse.org/eclipse/news/4.5/M4/")

**Assigning stdin to a file** Stdin can now be assigned to a file in the „Common“ tab of launch configuration dialogs.

![](https://www.eclipse.org/eclipse/news/4.5/M4/images/stdin-file.png)

**Automatic scroll lock in Console view** Scrolling up in the **Console** view using keys, mouse wheel, or scroll bar now automatically enables the **Scroll Lock** mode.

When you scroll down to the end of the console, the scroll lock is automatically released again.

**Improved flow analysis for loops** Flow analysis has been improved to more precisely capture the flow of `null` values in loops. This mainly achieves a reduction of `false` positive reports from `null` analysis.

[![](https://www.eclipse.org/eclipse/news/4.5/M4/images/loop-flows.png)](https://www.eclipse.org/eclipse/news/4.5/M4/images/loop-flows.txt)

Previously, example method „test1“ would raise a potential `null` pointer warning at point (3). To correct this issue the merging of information leading towards point (3) has been improved to correctly see that the `null` value from point (1) can never reach point (3).

In example method „test2“ JDT previously reported a redundant `null` check at (3), because analysis didn’t see that the assignment directly above could indeed assign a non-`null` value.

In example method „test3“ it was reported that „o can only be `null`“ at (3), because the information from the two `null`-assignments wrongly overruled the one assignment from non-`null`. With improved analysis this is now softened to saying „o may be `null`“.

The graph on the right hand side illustrates the new composition of flow information: for each relevant point (3) inside a loop, the analysis first merges the flows that lead into (1). This result is concatenated with the partial flow (b.c), which leads from the loop start to point (3). Improved precision has thus been achieved within the design limits of a single AST traversal in order to minimize impact on compiler performance.

## [https://www.eclipse.org/eclipse/news/4.5/M3](https://www.eclipse.org/eclipse/news/4.5/M3 "https://www.eclipse.org/eclipse/news/4.5/M3"):

**‚Terminate/Disconnect All‘ in Console view** You can invoke the **Terminate/Disconnect All** action from the Console view’s context menu:

![](https://www.eclipse.org/eclipse/news/4.5/M3/images/console-terminate-disconnect-all.png)

**Add inferred lambda parameter types** You can explicitly add the inferred types of the parameters in a lambda expression by invoking the **Quick Assist (Ctrl+1) – Add inferred lambda parameter types**:

![](https://www.eclipse.org/eclipse/news/4.5/M3/images/infer-lambda-parameter-types.png)

**Convert method reference to lambda and back** New **Quick Assists (Ctrl+1)** have been added to convert…

- from method reference to lambda expression:![Integer::toHexString](https://www.eclipse.org/eclipse/news/4.5/M3/images/convert-to-lambda.png)
- from lambda expression to method reference:![t -> Integer.toHexString(t)](https://www.eclipse.org/eclipse/news/4.5/M3/images/convert-to-method-reference.png)

## [https://www.eclipse.org/eclipse/news/4.5/M2/](https://www.eclipse.org/eclipse/news/4.5/M2/ "https://www.eclipse.org/eclipse/news/4.5/M2/")

Compiler schneller.

## [https://www.eclipse.org/eclipse/news/4.5/M1/](https://www.eclipse.org/eclipse/news/4.5/M1/ "https://www.eclipse.org/eclipse/news/4.5/M1/")

**Word wrap in the Console** A new formatting option has been contributed to the **Console** view for all I/O consoles: **Word Wrap**.

The new option is available on the Console view toolbar and in the content popup menu within the Console view.

![The new word wrap toolbar and popup menu command](https://www.eclipse.org/eclipse/news/4.5/M1/images/word-wrap.png)

Der [http://www.eclipse.org/projects/project-plan.php?planurl=/eclipse/development/plans/eclipse\_project\_plan\_4\_5.xml](http://www.eclipse.org/projects/project-plan.php?planurl=%2Feclipse%2Fdevelopment%2Fplans%2Feclipse_project_plan_4_5.xml "http://www.eclipse.org/projects/project-plan.php?planurl=/eclipse/development/plans/eclipse_project_plan_4_5.xml") gibt uns noch einen Milestone vor, dann beginnt die Feinarbeit:

- **M5** 2015-01-30 4.5M5
- 2015-02-13 CQ Submission Deadline
- **M6** 2015-03-20 .5M6 (API Freeze)
- **M7** 2015-05-01 4.5M7 (Feature Freeze)

Kategorien: [Entwicklungsumgebung](https://www.tutego.de/blog/javainsel/category/entwicklungsumgebung/), [Eclipse](https://www.tutego.de/blog/javainsel/category/eclipse/)

## 1 Kommentare

**Hartmut** · [15.12.2014 21:28](#comment-68951)

Danke für die Zusammenfassung. Das ist sehr interessant. Am meisten freue ich mich auf: - Terminate/Disconnect All - Lambda Aufrufe in Expressions mit Typinformationen ergänzen lassen - WordWrap in der Konsole Das ist eine schöne Perspektive! Obwohl ich dachte, Eclipse sei bereits perfekt.

Die bisherigen Kommentare wurden aus WordPress übernommen. Neue Kommentare sind derzeit geschlossen.

[← Alle Beiträge](https://www.tutego.de/blog/javainsel/)

---

## Navigation

- Previous: [Interessanter Sicherheits-Bug in 7u51 gefixed](https://www.tutego.de/blog/javainsel/2014/12/interessanter-sicherheits-bug-in-7u51-gefixed.md)
- Next: [Tellerrandblick: C# 6.0](https://www.tutego.de/blog/javainsel/2014/12/tellerrandblick-c-6-0.md)
