﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
1301	Redesign: Add extra phase on top of SCode	Martin Sjölund	Martin Sjölund	"Add another phase to the compiler to speed up instantiation. Today, we perform the same extends many times and it involves a lot of lookup.

This phase should transform Absyn to SCode, where SCode no longer contains {{import}}, {{extends}}, {{encapsulated}} and makes crefs to {{constant}} elements fully qualified. Then remove InstExtends.

The interactive API should use this form when appropriate (for example: querying parameters of a class will not resolve inherited parameters).

Additional requirement: Make this a module with little to no external dependencies (apart from parser, ClassLoader and Absyn, basically), so that we can create an ompp (OpenModelica PreProcessor) tool that unparses this SCode to valid Modelica code (that any Modelica tool can parse). This tool could be used to verify that the preprocessing doesn't break for example Modelica.Media (by verifying in Dymola), or used by another tool to see if they can make Modelica.Media work without doing all this preprocessing."	task	closed	low	Compiler Redesign	Preprocessor		wontfix		Martin Sjölund
