Переменные импортируемых проектов
Переменные импортируемых проектов
Какой-либо атрибут или переменная, которые были описаны в импортируемом проекте или проекте-предке, могут быть использованы в выражениях, которые используются в импортирующем или расширяющем проекте.В этом случае, для обращения к атрибуту или переменной используется префикс состоящий из имени проекта и, при необходимости, имени пакета, где атрибут или переменная были описаны.
with "imported";
project Main extends "base" is
Var1 := Imported.Var;
Var2 := Base.Var & ".new"; package Builder is
for Default_Switches ("Ada") use Imported.Builder.Ada_Switches &
"-gnatg" & "-v";
end Builder; package Compiler is
for Default_Switches ("Ada") use Base.Compiler.Ada_Switches; end Compiler; end Main; |
В показанном выше примере:
- Переменная Var1 является копией переменной Var, которая описана в файле проекта "imported.gpr".
- Значение переменной Var2 является конкатенацией копии значения переменной Var, которая описана в файле проекта "base.gpr", со строкой ".new".
- Атрибут Default_Switches ("Ada"), в пакете Builder, является списком строк, который включает в свое значение копию переменной Ada_Switches, описанную в пакете Builder в файле проекта "imported.gpr", плюс два новых элемента: "-gnatg" и "-v".
- Атрибут Default_Switches ("Ada"), в пакете Compiler, является копией переменной Ada_Switches, которая описана в пакете Compiler в файле расширяемого проекта "base.gpr".