Wed 17 Jul 2019 11:10 - 11:30 at Track 1 - Language Design and Implementation

Editor services assist programmers to more effectively write and comprehend code. Implementing editor services correctly is not trivial. This paper focuses on the specification of semantics editor services, those that use the semantic model of a program. The specification of refactorings is a common subject of study, but many other semantics editor services have received little attention.

We propose a language-parametric approach to the definition of semantic editor services, using the declarative specification of the static semantics of the programming language, and constraint solving. Editor services are specified as constraint problems, and language specifications are used to ensure correctness.

We describe our approach for the following semantic editor services: reference resolution, find usages, goto subclasses, code completion, and the extract definition refactoring. We do this in the context of Statix, a constraint language for the specification of type systems. We investigate the specification of editor services in terms of Statix constraints, and the requirements on a suitable solver.

Wed 17 Jul

10:30 - 12:10: ECOOP Research Papers - Language Design and Implementation at Track 1
ecoop-2019-papers10:30 - 10:50
Research paper
Shawn Meier, Sergio MoverUniversity of Colorado Boulder, Bor-Yuh Evan ChangUniversity of Colorado Boulder
ecoop-2019-papers10:50 - 11:10
Research paper
Kiko Fernandez-ReyesUppsala University, Einar Broch JohnsenUniversity of Oslo, Dave ClarkeUppsala Univ. Sweden and KU Leuvern, Ludovic HenrioCNRS, Tobias WrigstadUppsala University
ecoop-2019-papers11:10 - 11:30
Research paper
Daniel PelsmaekerDelft University of Technology, Netherlands, Hendrik van AntwerpenTU Delft, Eelco VisserDelft University of Technology
ecoop-2019-papers11:30 - 11:50
Research paper
Pascal WeisenburgerTechnische Universität Darmstadt, Guido SalvaneschiTU Darmstadt
ecoop-2019-papers11:50 - 12:10
Research paper
Vlad VerguTU Delft, Eelco VisserDelft University of Technology, Andrew TolmachPortland State University