Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
buildsupport
Commits
de937383
Commit
de937383
authored
Apr 05, 2017
by
Maxime Perrotin
Browse files
Start working on connections
parent
e363e635
Changes
2
Show whitespace changes
Inline
Side-by-side
ada/buildsupport_utils.adb
View file @
de937383
...
...
@@ -408,6 +408,7 @@ package body Buildsupport_Utils is
Funcs
:
Functions
.
Vector
:=
Functions
.
Empty_Vector
;
Routes
:
Channels
.
Vector
;
-- := Channels.Empty_Vector;
Current_Function
:
Node_Id
;
Conn
:
Node_Id
;
-- Parse an individual context parameter
function
Parse_CP
(
Subco
:
Node_Id
)
return
Context_Parameter
is
...
...
@@ -488,6 +489,11 @@ package body Buildsupport_Utils is
Param_I
:=
AIN
.
Next_Node
(
Param_I
);
end
loop
;
end
if
;
-- Parse the connection (if RI)
if
not
AIN
.
Is_Provided
(
If_I
)
then
Put_Line
(
"Required Interface "
&
To_String
(
Result
.
Name
));
Put_Line
(
"Connected to "
&
AIN_Case
(
CI
));
end
if
;
return
Result
;
end
Parse_Interface
;
...
...
@@ -591,6 +597,16 @@ package body Buildsupport_Utils is
end
loop
;
-- Parse connections
if
Present
(
AIN
.
Connections
(
System
))
then
Conn
:=
AIN
.
First_Node
(
AIN
.
Connections
(
System
));
while
Present
(
Conn
)
loop
Put_Line
(
"Connection "
&
Get_Interface_Name
(
Get_Referenced_Entity
(
AIN
.
Source
(
Conn
)))'
Img
&
" -> "
&
Get_Interface_Name
(
Get_Referenced_Entity
(
AIN
.
Destination
(
Conn
)))'
Img
);
Conn
:=
AIN
.
Next_Node
(
Conn
);
end
loop
;
end
if
;
return
IV_AST
:
constant
Complete_Interface_View
:=
(
Flat_Functions
=>
Funcs
,
...
...
test/test2/InterfaceView.aadl
View file @
de937383
...
...
@@ -5,10 +5,10 @@
-- generated code: do not edit
---------------------------------------------------
PACKAGE interfaceview::IV::Function1_ShouldNotAppear::Nested1
PACKAGE interfaceview::IV::Function1_ShouldNotAppear::Nested1
_Appear
PUBLIC
WITH interfaceview::IV::Function1_ShouldNotAppear::
Function1
::Nested2;
WITH interfaceview::IV::Function1_ShouldNotAppear::
Should_Not_Appear_Either
::Nested2
_Appear
;
WITH Taste;
WITH DataView;
WITH TASTE_IV_Properties;
...
...
@@ -17,6 +17,8 @@ FEATURES
abcd : IN PARAMETER DataView::MyBool {
Taste::encoding => NATIVE;
};
PROPERTIES
Taste::Associated_Queue_Size => 1;
END PI_hello;
SUBPROGRAM IMPLEMENTATION PI_hello.others
...
...
@@ -37,14 +39,16 @@ END RI_world;
SUBPROGRAM IMPLEMENTATION RI_world.others
END RI_world.others;
SYSTEM Nested1
SYSTEM Nested1
_Appear
FEATURES
PI_hello : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::Function1_ShouldNotAppear::Nested1::PI_hello.others {
PI_hello : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::Function1_ShouldNotAppear::Nested1
_Appear
::PI_hello.others {
Taste::coordinates => "136978 55732";
Taste::RCMoperationKind => sporadic;
Taste::RCMperiod => 0 ms;
Taste::Deadline => 0 ms;
Taste::InterfaceName => "hello";
};
RI_world : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::Function1_ShouldNotAppear::
Function1
::Nested2::PI_world.others {
RI_world : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::Function1_ShouldNotAppear::
Should_Not_Appear_Either
::Nested2
_Appear
::PI_world.others {
Taste::coordinates => "153203 65140";
Taste::RCMoperationKind => any;
Taste::InterfaceName => "world";
...
...
@@ -53,17 +57,17 @@ FEATURES
PROPERTIES
Source_Language => (Ada);
Taste::Active_Interfaces => any;
END Nested1;
END Nested1
_Appear
;
SYSTEM IMPLEMENTATION Nested1.others
END Nested1.others;
SYSTEM IMPLEMENTATION Nested1
_Appear
.others
END Nested1
_Appear
.others;
END interfaceview::IV::Function1_ShouldNotAppear::Nested1;
END interfaceview::IV::Function1_ShouldNotAppear::Nested1
_Appear
;
PACKAGE interfaceview::IV::Function1_ShouldNotAppear::
Function1
::Nested2
PACKAGE interfaceview::IV::Function1_ShouldNotAppear::
Should_Not_Appear_Either
::Nested2
_Appear
PUBLIC
WITH interfaceview::IV::Level0;
WITH interfaceview::IV::Level0
_Appear
;
WITH Taste;
WITH DataView;
WITH TASTE_IV_Properties;
...
...
@@ -75,6 +79,8 @@ FEATURES
outp : OUT PARAMETER DataView::MyInteger {
Taste::encoding => UPER;
};
PROPERTIES
Taste::Associated_Queue_Size => 1;
END PI_world;
SUBPROGRAM IMPLEMENTATION PI_world.others
...
...
@@ -82,48 +88,50 @@ PROPERTIES
Compute_Execution_Time => 0 ms .. 0 ms;
END PI_world.others;
SUBPROGRAM RI_final_result
SUBPROGRAM RI_
my_
final_result
FEATURES
hop : IN PARAMETER DataView::MyInteger {
Taste::encoding => NATIVE;
};
END RI_final_result;
END RI_
my_
final_result;
SUBPROGRAM IMPLEMENTATION RI_final_result.others
END RI_final_result.others;
SUBPROGRAM IMPLEMENTATION RI_
my_
final_result.others
END RI_
my_
final_result.others;
SYSTEM Nested2
SYSTEM Nested2
_Appear
FEATURES
PI_world : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::Function1_ShouldNotAppear::
Function1
::Nested2::PI_world.others {
PI_world : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::Function1_ShouldNotAppear::
Should_Not_Appear_Either
::Nested2
_Appear
::PI_world.others {
Taste::coordinates => "159788 76190";
Taste::RCMoperationKind => unprotected;
Taste::RCMperiod => 0 ms;
Taste::Deadline => 0 ms;
Taste::InterfaceName => "world";
};
RI_final_result : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::Level0::PI_final_result.others {
RI_
my_
final_result : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::Level0
_Appear
::PI_final_result.others {
Taste::coordinates => "156260 82070";
Taste::RCMoperationKind => any;
Taste::InterfaceName => "final_result";
Taste::InterfaceName => "
my_
final_result";
Taste::labelInheritance => "true";
};
PROPERTIES
Source_Language => (Ada);
Taste::Active_Interfaces => any;
END Nested2;
END Nested2
_Appear
;
SYSTEM IMPLEMENTATION Nested2.others
SYSTEM IMPLEMENTATION Nested2
_Appear
.others
SUBCOMPONENTS
a_param : DATA DataView::MyBool {
Taste::FS_Default_Value => "true";
};
END Nested2.others;
END Nested2
_Appear
.others;
END interfaceview::IV::Function1_ShouldNotAppear::
Function1
::Nested2;
END interfaceview::IV::Function1_ShouldNotAppear::
Should_Not_Appear_Either
::Nested2
_Appear
;
PACKAGE interfaceview::IV::Function1_ShouldNotAppear::
Function1
PACKAGE interfaceview::IV::Function1_ShouldNotAppear::
Should_Not_Appear_Either
PUBLIC
WITH interfaceview::IV::Function1_ShouldNotAppear::
Function1
::Nested2;
WITH interfaceview::IV::Level0;
WITH interfaceview::IV::Function1_ShouldNotAppear::
Should_Not_Appear_Either
::Nested2
_Appear
;
WITH interfaceview::IV::Level0
_Appear
;
WITH Taste;
WITH DataView;
WITH TASTE_IV_Properties;
...
...
@@ -135,6 +143,8 @@ FEATURES
outp : OUT PARAMETER DataView::MyInteger {
Taste::encoding => UPER;
};
PROPERTIES
Taste::Associated_Queue_Size => 1;
END PI_world;
SUBPROGRAM IMPLEMENTATION PI_world.others
...
...
@@ -142,57 +152,61 @@ PROPERTIES
Compute_Execution_Time => 0 ms .. 0 ms;
END PI_world.others;
SUBPROGRAM RI_final_result
SUBPROGRAM RI_
my_
final_result
FEATURES
hop : IN PARAMETER DataView::MyInteger {
Taste::encoding => NATIVE;
};
END RI_final_result;
END RI_
my_
final_result;
SUBPROGRAM IMPLEMENTATION RI_final_result.others
END RI_final_result.others;
SUBPROGRAM IMPLEMENTATION RI_
my_
final_result.others
END RI_
my_
final_result.others;
SYSTEM
Function1
SYSTEM
Should_Not_Appear_Either
FEATURES
PI_world : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::Function1_ShouldNotAppear::
Function1
::Nested2::PI_world.others {
PI_world : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::Function1_ShouldNotAppear::
Should_Not_Appear_Either
::Nested2
_Appear
::PI_world.others {
Taste::coordinates => "158967 70311";
Taste::RCMoperationKind => unprotected;
Taste::RCMperiod => 0 ms;
Taste::Deadline => 0 ms;
Taste::InterfaceName => "world";
};
RI_final_result : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::Level0::PI_final_result.others {
RI_
my_
final_result : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::Level0
_Appear
::PI_final_result.others {
Taste::coordinates => "144855 80895";
Taste::RCMoperationKind => any;
Taste::InterfaceName => "final_result";
Taste::InterfaceName => "
my_
final_result";
Taste::labelInheritance => "true";
};
PROPERTIES
Source_Language => (C);
Taste::Active_Interfaces => any;
END
Function1
;
END
Should_Not_Appear_Either
;
SYSTEM IMPLEMENTATION
Function1
.others
SYSTEM IMPLEMENTATION
Should_Not_Appear_Either
.others
SUBCOMPONENTS
Nested2 : SYSTEM interfaceview::IV::Function1_ShouldNotAppear::
Function1
::Nested2::Nested2.others {
Nested2
_Appear
: SYSTEM interfaceview::IV::Function1_ShouldNotAppear::
Should_Not_Appear_Either
::Nested2
_Appear
::Nested2
_Appear
.others {
Taste::coordinates => "156260 76190 172016 91710";
};
CONNECTIONS
Nested2_PI_world_Function1_RI_world : SUBPROGRAM ACCESS Nested2.PI_world -> PI_world {
Nested2_PI_world_Function1_RI_world : SUBPROGRAM ACCESS Nested2
_Appear
.PI_world -> PI_world {
Taste::coordinates => "158967 70311 158967 73250 159788 73250 159788 76190";
};
Function1_PI_final_result_Nested2_RI_final_result : SUBPROGRAM ACCESS RI_final_result -> Nested2
.RI
_final_result {
Function1_PI_
my_
final_result_Nested2_RI_
my_
final_result : SUBPROGRAM ACCESS RI_
my_
final_result -> Nested2
_Appear.RI_my
_final_result {
Taste::coordinates => "156260 82070 150557 82070 150557 80895 144855 80895";
};
END
Function1
.others;
END
Should_Not_Appear_Either
.others;
END interfaceview::IV::Function1_ShouldNotAppear::
Function1
;
END interfaceview::IV::Function1_ShouldNotAppear::
Should_Not_Appear_Either
;
PACKAGE interfaceview::IV::Function1_ShouldNotAppear::MotherClass
PACKAGE interfaceview::IV::Function1_ShouldNotAppear::MotherClass
_Appear
PUBLIC
WITH Taste;
WITH DataView;
WITH TASTE_IV_Properties;
SUBPROGRAM PI_run
PROPERTIES
Taste::Associated_Queue_Size => 1;
END PI_run;
SUBPROGRAM IMPLEMENTATION PI_run.others
...
...
@@ -200,31 +214,32 @@ PROPERTIES
Compute_Execution_Time => 0 ms .. 0 ms;
END PI_run.others;
SYSTEM MotherClass
SYSTEM MotherClass
_Appear
FEATURES
PI_run : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::Function1_ShouldNotAppear::MotherClass::PI_run.others {
PI_run : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::Function1_ShouldNotAppear::MotherClass
_Appear
::PI_run.others {
Taste::coordinates => "169195 53145";
Taste::RCMoperationKind => cyclic;
Taste::RCMperiod => 1000 ms;
Taste::Deadline => 0 ms;
Taste::InterfaceName => "run";
};
PROPERTIES
Source_Language => (SDL);
Taste::Active_Interfaces => any;
END MotherClass;
END MotherClass
_Appear
;
SYSTEM IMPLEMENTATION MotherClass.others
END MotherClass.others;
SYSTEM IMPLEMENTATION MotherClass
_Appear
.others
END MotherClass
_Appear
.others;
END interfaceview::IV::Function1_ShouldNotAppear::MotherClass;
END interfaceview::IV::Function1_ShouldNotAppear::MotherClass
_Appear
;
PACKAGE interfaceview::IV::Function1_ShouldNotAppear
PUBLIC
WITH interfaceview::IV::Function1_ShouldNotAppear::Nested1;
WITH interfaceview::IV::Function1_ShouldNotAppear::
Function1
;
WITH interfaceview::IV::Function1_ShouldNotAppear::MotherClass;
WITH interfaceview::IV::Level0;
WITH interfaceview::IV::Function1_ShouldNotAppear::Nested1
_Appear
;
WITH interfaceview::IV::Function1_ShouldNotAppear::
Should_Not_Appear_Either
;
WITH interfaceview::IV::Function1_ShouldNotAppear::MotherClass
_Appear
;
WITH interfaceview::IV::Level0
_Appear
;
WITH Taste;
WITH DataView;
WITH TASTE_IV_Properties;
...
...
@@ -233,6 +248,8 @@ FEATURES
abcd : IN PARAMETER DataView::MyBool {
Taste::encoding => NATIVE;
};
PROPERTIES
Taste::Associated_Queue_Size => 1;
END PI_hello;
SUBPROGRAM IMPLEMENTATION PI_hello.others
...
...
@@ -240,27 +257,29 @@ PROPERTIES
Compute_Execution_Time => 0 ms .. 0 ms;
END PI_hello.others;
SUBPROGRAM RI_final_result
SUBPROGRAM RI_
my_
final_result
FEATURES
hop : IN PARAMETER DataView::MyInteger {
Taste::encoding => NATIVE;
};
END RI_final_result;
END RI_
my_
final_result;
SUBPROGRAM IMPLEMENTATION RI_final_result.others
END RI_final_result.others;
SUBPROGRAM IMPLEMENTATION RI_
my_
final_result.others
END RI_
my_
final_result.others;
SYSTEM Function1_ShouldNotAppear
FEATURES
PI_hello : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::Function1_ShouldNotAppear::Nested1::PI_hello.others {
PI_hello : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::Function1_ShouldNotAppear::Nested1
_Appear
::PI_hello.others {
Taste::coordinates => "124279 55614";
Taste::RCMoperationKind => sporadic;
Taste::RCMperiod => 0 ms;
Taste::Deadline => 0 ms;
Taste::InterfaceName => "hello";
};
RI_final_result : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::Level0::PI_final_result.others {
RI_
my_
final_result : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::Level0
_Appear
::PI_final_result.others {
Taste::coordinates => "124279 80311";
Taste::RCMoperationKind => any;
Taste::InterfaceName => "final_result";
Taste::InterfaceName => "
my_
final_result";
Taste::labelInheritance => "true";
};
PROPERTIES
...
...
@@ -270,53 +289,45 @@ END Function1_ShouldNotAppear;
SYSTEM IMPLEMENTATION Function1_ShouldNotAppear.others
SUBCOMPONENTS
Nested1 : SYSTEM interfaceview::IV::Function1_ShouldNotAppear::Nested1::Nested1.others {
Nested1
_Appear
: SYSTEM interfaceview::IV::Function1_ShouldNotAppear::Nested1
_Appear
::Nested1
_Appear
.others {
Taste::coordinates => "136978 52204 153203 66548";
TASTE_IV_Properties::is_Component_Type =>
false
;
TASTE_IV_Properties::is_Component_Type =>
FALSE
;
};
Function1
: SYSTEM interfaceview::IV::Function1_ShouldNotAppear::
Function1::Function1
.others {
Should_Not_Appear_Either
: SYSTEM interfaceview::IV::Function1_ShouldNotAppear::
Should_Not_Appear_Either::Should_Not_Appear_Either
.others {
Taste::coordinates => "144855 70311 180952 95943";
};
MotherClass : SYSTEM interfaceview::IV::Function1_ShouldNotAppear::MotherClass::MotherClass.others {
MotherClass
_Appear
: SYSTEM interfaceview::IV::Function1_ShouldNotAppear::MotherClass
_Appear
::MotherClass
_Appear
.others {
Taste::coordinates => "163315 53145 177777 65961";
TASTE_IV_Properties::is_Component_Type =>
true
;
TASTE_IV_Properties::is_Component_Type =>
TRUE
;
};
CONNECTIONS
Nested1_PI_hello_Function1_ShouldNotAppear_RI_hello : SUBPROGRAM ACCESS Nested1.PI_hello -> PI_hello {
Taste::coordinates => "124279 55614 13
1746
55614 13
1746
55732 136978 55732";
Nested1_PI_hello_Function1_ShouldNotAppear_RI_hello : SUBPROGRAM ACCESS Nested1
_Appear
.PI_hello -> PI_hello {
Taste::coordinates => "124279 55614 13
0628
55614 13
0628
55732 136978 55732";
};
Function1_PI_world_Nested1_RI_world : SUBPROGRAM ACCESS
Function1
.PI_world -> Nested1.RI_world {
Function1_PI_world_Nested1_RI_world : SUBPROGRAM ACCESS
Should_Not_Appear_Either
.PI_world -> Nested1
_Appear
.RI_world {
Taste::coordinates => "153203 65140 158967 65140 158967 70311";
};
Function1_ShouldNotAppear_PI_final_result_Function1_RI_final_result : SUBPROGRAM ACCESS RI_final_result ->
Function1.RI
_final_result {
Function1_ShouldNotAppear_PI_
my_
final_result_Function1_RI_
my_
final_result : SUBPROGRAM ACCESS RI_
my_
final_result ->
Should_Not_Appear_Either.RI_my
_final_result {
Taste::coordinates => "144855 80895 134567 80895 134567 80311 124279 80311";
};
END Function1_ShouldNotAppear.others;
END interfaceview::IV::Function1_ShouldNotAppear;
PACKAGE interfaceview::IV::Level0
PACKAGE interfaceview::IV::Level0
_Appear
PUBLIC
WITH interfaceview::IV::Function1_ShouldNotAppear::Nested1;
WITH interfaceview::IV::Function1_ShouldNotAppear::Nested1
_Appear
;
WITH Taste;
WITH DataView;
WITH TASTE_IV_Properties;
SUBPROGRAM RI_hello
FEATURES
abcd : IN PARAMETER DataView::MyBool {
Taste::encoding => NATIVE;
};
END RI_hello;
SUBPROGRAM IMPLEMENTATION RI_hello.others
END RI_hello.others;
SUBPROGRAM PI_final_result
FEATURES
hop : IN PARAMETER DataView::MyInteger {
Taste::encoding => NATIVE;
};
PROPERTIES
Taste::Associated_Queue_Size => 1;
END PI_final_result;
SUBPROGRAM IMPLEMENTATION PI_final_result.others
...
...
@@ -324,34 +335,46 @@ PROPERTIES
Compute_Execution_Time => 0 ms .. 0 ms;
END PI_final_result.others;
S
YSTEM Level0
S
UBPROGRAM RI_I_say_hello
FEATURES
RI_hello : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::Function1_ShouldNotAppear::Nested1::PI_hello.others {
Taste::coordinates => "99353 67961";
Taste::RCMoperationKind => any;
Taste::InterfaceName => "hello";
Taste::labelInheritance => "true";
abcd : IN PARAMETER DataView::MyBool {
Taste::encoding => NATIVE;
};
PI_final_result : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::Level0::PI_final_result.others {
END RI_I_say_hello;
SUBPROGRAM IMPLEMENTATION RI_I_say_hello.others
END RI_I_say_hello.others;
SYSTEM Level0_Appear
FEATURES
PI_final_result : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::Level0_Appear::PI_final_result.others {
Taste::coordinates => "99353 83249";
Taste::RCMoperationKind => sporadic;
Taste::RCMperiod => 0 ms;
Taste::Deadline => 0 ms;
Taste::InterfaceName => "final_result";
};
RI_I_say_hello : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::Function1_ShouldNotAppear::Nested1_Appear::PI_hello.others {
Taste::coordinates => "99353 67961";
Taste::RCMoperationKind => any;
Taste::InterfaceName => "I_say_hello";
Taste::labelInheritance => "true";
};
PROPERTIES
Source_Language => (GUI);
Taste::Active_Interfaces => any;
END Level0;
END Level0
_Appear
;
SYSTEM IMPLEMENTATION Level0.others
END Level0.others;
SYSTEM IMPLEMENTATION Level0
_Appear
.others
END Level0
_Appear
.others;
END interfaceview::IV::Level0;
END interfaceview::IV::Level0
_Appear
;
PACKAGE interfaceview::IV
PUBLIC
WITH interfaceview::IV::Function1_ShouldNotAppear;
WITH interfaceview::IV::Level0;
WITH interfaceview::IV::Level0
_Appear
;
WITH Taste;
WITH DataView;
WITH TASTE_IV_Properties;
...
...
@@ -363,14 +386,14 @@ SUBCOMPONENTS
Function1_ShouldNotAppear : SYSTEM interfaceview::IV::Function1_ShouldNotAppear::Function1_ShouldNotAppear.others {
Taste::coordinates => "124279 48559 182010 102410";
};
Level0 : SYSTEM interfaceview::IV::Level0::Level0.others {
Level0
_Appear
: SYSTEM interfaceview::IV::Level0
_Appear
::Level0
_Appear
.others {
Taste::coordinates => "81834 63257 99353 90064";
};
CONNECTIONS
Function1_ShouldNotAppear_PI_hello_Level0_RI_hello : SUBPROGRAM ACCESS Function1_ShouldNotAppear.PI_hello -> Level0
.RI
_hello {
Taste::coordinates => "99353 67961 11
2934
67961 11
2934
55614 124279 55614";
Function1_ShouldNotAppear_PI_hello_Level0_RI_
I_say_
hello : SUBPROGRAM ACCESS Function1_ShouldNotAppear.PI_hello -> Level0
_Appear.RI_I_say
_hello {
Taste::coordinates => "99353 67961 11
1816
67961 11
1816
55614 124279 55614";
};
Level0_PI_final_result_Function1_ShouldNotAppear_RI_final_result : SUBPROGRAM ACCESS Level0.PI_final_result -> Function1_ShouldNotAppear.RI_final_result {
Level0_PI_final_result_Function1_ShouldNotAppear_RI_
my_
final_result : SUBPROGRAM ACCESS Level0
_Appear
.PI_final_result -> Function1_ShouldNotAppear.RI_
my_
final_result {
Taste::coordinates => "124279 80311 111816 80311 111816 83249 99353 83249";
};
END interfaceview.others;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment