( constant x : U32 , 0 )
+diff --git a/compiler/.jvmopts b/compiler/.jvmopts index 4b07f94897..603bb1dc73 100644 --- a/compiler/.jvmopts +++ b/compiler/.jvmopts @@ -1,2 +1 @@ --XX:+CMSClassUnloadingEnabled -Xss2M diff --git a/compiler/lib/src/main/resources/META-INF/native-image/reflect-config.json b/compiler/lib/src/main/resources/META-INF/native-image/reflect-config.json index 670648caba..e781295683 100644 --- a/compiler/lib/src/main/resources/META-INF/native-image/reflect-config.json +++ b/compiler/lib/src/main/resources/META-INF/native-image/reflect-config.json @@ -28,147 +28,187 @@ }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1", - "fields":[{"name":"0bitmap$2"}] + "fields":[{"name":"0bitmap$407"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1009", - "fields":[{"name":"0bitmap$920"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1000", + "fields":[{"name":"0bitmap$914"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1001", + "fields":[{"name":"0bitmap$906"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1002", + "fields":[{"name":"0bitmap$907"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1003", + "fields":[{"name":"0bitmap$908"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1004", + "fields":[{"name":"0bitmap$909"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1005", + "fields":[{"name":"0bitmap$910"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1006", + "fields":[{"name":"0bitmap$911"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1007", + "fields":[{"name":"0bitmap$912"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1008", + "fields":[{"name":"0bitmap$913"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1010", + "fields":[{"name":"0bitmap$934"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1011", + "fields":[{"name":"0bitmap$918"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1013", + "fields":[{"name":"0bitmap$919"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1014", - "fields":[{"name":"0bitmap$921"}] + "fields":[{"name":"0bitmap$933"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1015", - "fields":[{"name":"0bitmap$922"}] + "fields":[{"name":"0bitmap$932"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1016", - "fields":[{"name":"0bitmap$923"}] + "fields":[{"name":"0bitmap$920"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1017", - "fields":[{"name":"0bitmap$925"}] + "fields":[{"name":"0bitmap$926"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1018", - "fields":[{"name":"0bitmap$924"}] + "fields":[{"name":"0bitmap$925"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1019", - "fields":[{"name":"0bitmap$927"}] + "fields":[{"name":"0bitmap$921"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1020", - "fields":[{"name":"0bitmap$926"}] + "fields":[{"name":"0bitmap$922"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1021", - "fields":[{"name":"0bitmap$944"}] + "fields":[{"name":"0bitmap$923"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1022", - "fields":[{"name":"0bitmap$928"}] -}, -{ - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1023", - "fields":[{"name":"0bitmap$929"}] + "fields":[{"name":"0bitmap$924"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1024", - "fields":[{"name":"0bitmap$943"}] + "fields":[{"name":"0bitmap$931"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1025", - "fields":[{"name":"0bitmap$942"}] + "fields":[{"name":"0bitmap$930"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1026", - "fields":[{"name":"0bitmap$930"}] + "fields":[{"name":"0bitmap$927"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1027", - "fields":[{"name":"0bitmap$936"}] + "fields":[{"name":"0bitmap$928"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1028", - "fields":[{"name":"0bitmap$935"}] -}, -{ - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1029", - "fields":[{"name":"0bitmap$931"}] + "fields":[{"name":"0bitmap$929"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1030", - "fields":[{"name":"0bitmap$932"}] + "fields":[{"name":"0bitmap$935"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1031", - "fields":[{"name":"0bitmap$933"}] + "fields":[{"name":"0bitmap$936"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1032", - "fields":[{"name":"0bitmap$934"}] + "fields":[{"name":"0bitmap$980"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1033", + "fields":[{"name":"0bitmap$958"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1034", - "fields":[{"name":"0bitmap$941"}] + "fields":[{"name":"0bitmap$947"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1035", - "fields":[{"name":"0bitmap$940"}] + "fields":[{"name":"0bitmap$946"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1036", - "fields":[{"name":"0bitmap$937"}] + "fields":[{"name":"0bitmap$938"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1037", - "fields":[{"name":"0bitmap$938"}] + "fields":[{"name":"0bitmap$939"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1038", - "fields":[{"name":"0bitmap$939"}] + "fields":[{"name":"0bitmap$940"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1039", + "fields":[{"name":"0bitmap$941"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1040", - "fields":[{"name":"0bitmap$957"}] + "fields":[{"name":"0bitmap$942"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1041", - "fields":[{"name":"0bitmap$946"}] + "fields":[{"name":"0bitmap$943"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1043", - "fields":[{"name":"0bitmap$956"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1042", + "fields":[{"name":"0bitmap$944"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1044", - "fields":[{"name":"0bitmap$955"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1043", + "fields":[{"name":"0bitmap$945"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1045", - "fields":[{"name":"0bitmap$947"}] + "fields":[{"name":"0bitmap$948"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1046", - "fields":[{"name":"0bitmap$948"}] + "fields":[{"name":"0bitmap$952"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1047", - "fields":[{"name":"0bitmap$949"}] + "fields":[{"name":"0bitmap$951"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1048", - "fields":[{"name":"0bitmap$950"}] + "fields":[{"name":"0bitmap$949"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1049", - "fields":[{"name":"0bitmap$951"}] -}, -{ - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1050", - "fields":[{"name":"0bitmap$952"}] + "fields":[{"name":"0bitmap$950"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1051", @@ -179,432 +219,372 @@ "fields":[{"name":"0bitmap$954"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1054", - "fields":[{"name":"0bitmap$975"}] -}, -{ - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1055", - "fields":[{"name":"0bitmap$959"}] -}, -{ - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1057", - "fields":[{"name":"0bitmap$960"}] -}, -{ - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1058", - "fields":[{"name":"0bitmap$974"}] -}, -{ - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1059", - "fields":[{"name":"0bitmap$973"}] -}, -{ - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1060", - "fields":[{"name":"0bitmap$961"}] -}, -{ - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1061", - "fields":[{"name":"0bitmap$967"}] -}, -{ - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1062", - "fields":[{"name":"0bitmap$966"}] -}, -{ - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1063", - "fields":[{"name":"0bitmap$962"}] -}, -{ - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1064", - "fields":[{"name":"0bitmap$963"}] -}, -{ - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1065", - "fields":[{"name":"0bitmap$964"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1053", + "fields":[{"name":"0bitmap$957"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1066", - "fields":[{"name":"0bitmap$965"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1054", + "fields":[{"name":"0bitmap$956"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1068", - "fields":[{"name":"0bitmap$972"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1055", + "fields":[{"name":"0bitmap$955"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1069", - "fields":[{"name":"0bitmap$971"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1056", + "fields":[{"name":"0bitmap$979"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1070", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1057", "fields":[{"name":"0bitmap$968"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1071", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1068", "fields":[{"name":"0bitmap$969"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1072", - "fields":[{"name":"0bitmap$970"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1069", + "fields":[{"name":"0bitmap$973"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1074", - "fields":[{"name":"0bitmap$976"}] + "fields":[{"name":"0bitmap$974"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1075", - "fields":[{"name":"0bitmap$977"}] + "fields":[{"name":"0bitmap$975"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1076", - "fields":[{"name":"0bitmap$1000"}] -}, -{ - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1077", - "fields":[{"name":"0bitmap$999"}] -}, -{ - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1078", - "fields":[{"name":"0bitmap$988"}] + "fields":[{"name":"0bitmap$978"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1079", - "fields":[{"name":"0bitmap$987"}] + "fields":[{"name":"0bitmap$1002"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1080", - "fields":[{"name":"0bitmap$979"}] + "fields":[{"name":"0bitmap$1001"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1081", - "fields":[{"name":"0bitmap$980"}] + "fields":[{"name":"0bitmap$990"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1082", - "fields":[{"name":"0bitmap$981"}] + "fields":[{"name":"0bitmap$989"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1083", - "fields":[{"name":"0bitmap$982"}] + "fields":[{"name":"0bitmap$981"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1084", - "fields":[{"name":"0bitmap$983"}] + "fields":[{"name":"0bitmap$982"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1085", - "fields":[{"name":"0bitmap$984"}] + "fields":[{"name":"0bitmap$983"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1086", - "fields":[{"name":"0bitmap$985"}] + "fields":[{"name":"0bitmap$984"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1087", + "fields":[{"name":"0bitmap$985"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1088", "fields":[{"name":"0bitmap$986"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1089", - "fields":[{"name":"0bitmap$989"}] + "fields":[{"name":"0bitmap$987"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1090", - "fields":[{"name":"0bitmap$993"}] -}, -{ - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1091", - "fields":[{"name":"0bitmap$992"}] + "fields":[{"name":"0bitmap$988"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1092", - "fields":[{"name":"0bitmap$990"}] + "fields":[{"name":"0bitmap$991"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1093", - "fields":[{"name":"0bitmap$991"}] + "fields":[{"name":"0bitmap$995"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1095", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1094", "fields":[{"name":"0bitmap$994"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1096", - "fields":[{"name":"0bitmap$995"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1095", + "fields":[{"name":"0bitmap$992"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1097", - "fields":[{"name":"0bitmap$998"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1096", + "fields":[{"name":"0bitmap$993"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1098", - "fields":[{"name":"0bitmap$997"}] + "fields":[{"name":"0bitmap$996"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1099", - "fields":[{"name":"0bitmap$996"}] + "fields":[{"name":"0bitmap$997"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1100", - "fields":[{"name":"0bitmap$1022"}] + "fields":[{"name":"0bitmap$1000"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1101", - "fields":[{"name":"0bitmap$1021"}] + "fields":[{"name":"0bitmap$999"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1102", - "fields":[{"name":"0bitmap$1010"}] + "fields":[{"name":"0bitmap$998"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1103", - "fields":[{"name":"0bitmap$1009"}] + "fields":[{"name":"0bitmap$1020"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1104", - "fields":[{"name":"0bitmap$1001"}] + "fields":[{"name":"0bitmap$1019"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1105", - "fields":[{"name":"0bitmap$1002"}] -}, -{ - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1106", "fields":[{"name":"0bitmap$1003"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1107", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1106", "fields":[{"name":"0bitmap$1004"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1108", - "fields":[{"name":"0bitmap$1005"}] -}, -{ - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1109", - "fields":[{"name":"0bitmap$1006"}] -}, -{ - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1110", - "fields":[{"name":"0bitmap$1007"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1107", + "fields":[{"name":"0bitmap$1018"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1111", - "fields":[{"name":"0bitmap$1008"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1123", + "fields":[{"name":"0bitmap$1039"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1113", - "fields":[{"name":"0bitmap$1011"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1124", + "fields":[{"name":"0bitmap$1038"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1114", - "fields":[{"name":"0bitmap$1015"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1125", + "fields":[{"name":"0bitmap$1022"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1115", - "fields":[{"name":"0bitmap$1014"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1127", + "fields":[{"name":"0bitmap$1023"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1116", - "fields":[{"name":"0bitmap$1012"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1128", + "fields":[{"name":"0bitmap$1037"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1117", - "fields":[{"name":"0bitmap$1013"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1144", + "fields":[{"name":"0bitmap$1060"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1119", - "fields":[{"name":"0bitmap$1016"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1145", + "fields":[{"name":"0bitmap$1049"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1120", - "fields":[{"name":"0bitmap$1017"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1156", + "fields":[{"name":"0bitmap$1050"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1121", - "fields":[{"name":"0bitmap$1020"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1157", + "fields":[{"name":"0bitmap$1054"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1122", - "fields":[{"name":"0bitmap$1019"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1162", + "fields":[{"name":"0bitmap$1055"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1123", - "fields":[{"name":"0bitmap$1018"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1163", + "fields":[{"name":"0bitmap$1056"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1124", - "fields":[{"name":"0bitmap$1040"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1164", + "fields":[{"name":"0bitmap$1059"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1125", - "fields":[{"name":"0bitmap$1039"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1167", + "fields":[{"name":"0bitmap$1061"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1126", - "fields":[{"name":"0bitmap$1023"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1168", + "fields":[{"name":"0bitmap$1085"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1127", - "fields":[{"name":"0bitmap$1024"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1169", + "fields":[{"name":"0bitmap$1075"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1128", - "fields":[{"name":"0bitmap$1038"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1184", + "fields":[{"name":"0bitmap$1084"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1144", - "fields":[{"name":"0bitmap$1059"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1185", + "fields":[{"name":"0bitmap$1083"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1145", - "fields":[{"name":"0bitmap$1058"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1186", + "fields":[{"name":"0bitmap$1076"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1146", - "fields":[{"name":"0bitmap$1042"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1187", + "fields":[{"name":"0bitmap$1077"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1148", - "fields":[{"name":"0bitmap$1043"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1188", + "fields":[{"name":"0bitmap$1078"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1149", - "fields":[{"name":"0bitmap$1057"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1189", + "fields":[{"name":"0bitmap$1079"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1165", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1190", "fields":[{"name":"0bitmap$1080"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1166", - "fields":[{"name":"0bitmap$1069"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1191", + "fields":[{"name":"0bitmap$1081"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1177", - "fields":[{"name":"0bitmap$1070"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1192", + "fields":[{"name":"0bitmap$1082"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1178", - "fields":[{"name":"0bitmap$1074"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1194", + "fields":[{"name":"0bitmap$1151"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1183", - "fields":[{"name":"0bitmap$1075"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1195", + "fields":[{"name":"0bitmap$1121"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1184", - "fields":[{"name":"0bitmap$1076"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1234", + "fields":[{"name":"0bitmap$1145"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1185", - "fields":[{"name":"0bitmap$1079"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1235", + "fields":[{"name":"0bitmap$1125"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1188", - "fields":[{"name":"0bitmap$1081"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1236", + "fields":[{"name":"0bitmap$1122"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1189", - "fields":[{"name":"0bitmap$1105"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1237", + "fields":[{"name":"0bitmap$1123"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1190", - "fields":[{"name":"0bitmap$1095"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1238", + "fields":[{"name":"0bitmap$1124"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1205", - "fields":[{"name":"0bitmap$1104"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1240", + "fields":[{"name":"0bitmap$1139"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1206", - "fields":[{"name":"0bitmap$1103"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1241", + "fields":[{"name":"0bitmap$1126"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1207", - "fields":[{"name":"0bitmap$1096"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1242", + "fields":[{"name":"0bitmap$1127"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1208", - "fields":[{"name":"0bitmap$1097"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1243", + "fields":[{"name":"0bitmap$1128"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1209", - "fields":[{"name":"0bitmap$1098"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1244", + "fields":[{"name":"0bitmap$1129"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1210", - "fields":[{"name":"0bitmap$1099"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1245", + "fields":[{"name":"0bitmap$1130"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1211", - "fields":[{"name":"0bitmap$1100"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1246", + "fields":[{"name":"0bitmap$1131"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1212", - "fields":[{"name":"0bitmap$1101"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1247", + "fields":[{"name":"0bitmap$1132"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1213", - "fields":[{"name":"0bitmap$1102"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1248", + "fields":[{"name":"0bitmap$1133"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1215", - "fields":[{"name":"0bitmap$1171"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1249", + "fields":[{"name":"0bitmap$1134"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1216", - "fields":[{"name":"0bitmap$1141"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1250", + "fields":[{"name":"0bitmap$1135"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1255", - "fields":[{"name":"0bitmap$1165"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1251", + "fields":[{"name":"0bitmap$1136"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1256", - "fields":[{"name":"0bitmap$1145"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1252", + "fields":[{"name":"0bitmap$1137"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1257", - "fields":[{"name":"0bitmap$1142"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1253", + "fields":[{"name":"0bitmap$1138"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1258", - "fields":[{"name":"0bitmap$1143"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1255", + "fields":[{"name":"0bitmap$1144"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1259", - "fields":[{"name":"0bitmap$1144"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1260", + "fields":[{"name":"0bitmap$1150"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1261", - "fields":[{"name":"0bitmap$1159"}] + "fields":[{"name":"0bitmap$1146"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1262", - "fields":[{"name":"0bitmap$1146"}] + "fields":[{"name":"0bitmap$1147"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1263", - "fields":[{"name":"0bitmap$1147"}] + "fields":[{"name":"0bitmap$1148"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1264", - "fields":[{"name":"0bitmap$1148"}] + "fields":[{"name":"0bitmap$1149"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1265", - "fields":[{"name":"0bitmap$1149"}] + "fields":[{"name":"0bitmap$1152"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1266", - "fields":[{"name":"0bitmap$1150"}] + "fields":[{"name":"0bitmap$1169"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1267", - "fields":[{"name":"0bitmap$1151"}] + "fields":[{"name":"0bitmap$1165"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1268", - "fields":[{"name":"0bitmap$1152"}] + "fields":[{"name":"0bitmap$1154"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1269", @@ -612,67 +592,59 @@ }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1270", - "fields":[{"name":"0bitmap$1154"}] + "fields":[{"name":"0bitmap$1164"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1271", - "fields":[{"name":"0bitmap$1155"}] + "fields":[{"name":"0bitmap$1158"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1272", - "fields":[{"name":"0bitmap$1156"}] + "fields":[{"name":"0bitmap$1157"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1273", - "fields":[{"name":"0bitmap$1157"}] + "fields":[{"name":"0bitmap$1156"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1274", - "fields":[{"name":"0bitmap$1158"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1275", + "fields":[{"name":"0bitmap$1163"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1276", - "fields":[{"name":"0bitmap$1164"}] + "fields":[{"name":"0bitmap$1162"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1281", - "fields":[{"name":"0bitmap$1170"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1277", + "fields":[{"name":"0bitmap$1161"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1282", - "fields":[{"name":"0bitmap$1166"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1280", + "fields":[{"name":"0bitmap$1168"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1283", - "fields":[{"name":"0bitmap$1167"}] + "fields":[{"name":"0bitmap$1224"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1284", - "fields":[{"name":"0bitmap$1168"}] + "fields":[{"name":"0bitmap$1186"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1285", - "fields":[{"name":"0bitmap$1169"}] -}, -{ - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1286", "fields":[{"name":"0bitmap$1172"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1287", - "fields":[{"name":"0bitmap$1189"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1286", + "fields":[{"name":"0bitmap$1171"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1288", - "fields":[{"name":"0bitmap$1185"}] -}, -{ - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1289", "fields":[{"name":"0bitmap$1174"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1290", - "fields":[{"name":"0bitmap$1173"}] + "fields":[{"name":"0bitmap$1185"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1291", @@ -704,579 +676,599 @@ }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1301", - "fields":[{"name":"0bitmap$1188"}] -}, -{ - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1304", - "fields":[{"name":"0bitmap$1244"}] -}, -{ - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1305", "fields":[{"name":"0bitmap$1206"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1306", - "fields":[{"name":"0bitmap$1192"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1302", + "fields":[{"name":"0bitmap$1189"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1307", - "fields":[{"name":"0bitmap$1191"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1303", + "fields":[{"name":"0bitmap$1188"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1309", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1305", "fields":[{"name":"0bitmap$1194"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1311", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1310", "fields":[{"name":"0bitmap$1205"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1312", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1311", "fields":[{"name":"0bitmap$1204"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1313", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1312", "fields":[{"name":"0bitmap$1198"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1314", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1313", "fields":[{"name":"0bitmap$1197"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1315", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1314", "fields":[{"name":"0bitmap$1196"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1317", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1316", "fields":[{"name":"0bitmap$1203"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1318", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1317", "fields":[{"name":"0bitmap$1202"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1319", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1318", "fields":[{"name":"0bitmap$1201"}] }, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1321", + "fields":[{"name":"0bitmap$1223"}] +}, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1322", - "fields":[{"name":"0bitmap$1226"}] + "fields":[{"name":"0bitmap$1210"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1323", "fields":[{"name":"0bitmap$1209"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1324", - "fields":[{"name":"0bitmap$1208"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1326", + "fields":[{"name":"0bitmap$1211"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1326", - "fields":[{"name":"0bitmap$1214"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1327", + "fields":[{"name":"0bitmap$1222"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1331", - "fields":[{"name":"0bitmap$1225"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1328", + "fields":[{"name":"0bitmap$1221"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1332", - "fields":[{"name":"0bitmap$1224"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1329", + "fields":[{"name":"0bitmap$1215"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1330", + "fields":[{"name":"0bitmap$1214"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1331", + "fields":[{"name":"0bitmap$1213"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1333", - "fields":[{"name":"0bitmap$1218"}] + "fields":[{"name":"0bitmap$1220"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1334", - "fields":[{"name":"0bitmap$1217"}] + "fields":[{"name":"0bitmap$1219"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1335", - "fields":[{"name":"0bitmap$1216"}] + "fields":[{"name":"0bitmap$1218"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1337", - "fields":[{"name":"0bitmap$1223"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1338", + "fields":[{"name":"0bitmap$1225"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1338", - "fields":[{"name":"0bitmap$1222"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1340", + "fields":[{"name":"0bitmap$1226"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1339", - "fields":[{"name":"0bitmap$1221"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1341", + "fields":[{"name":"0bitmap$1236"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1342", - "fields":[{"name":"0bitmap$1243"}] + "fields":[{"name":"0bitmap$1227"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1343", - "fields":[{"name":"0bitmap$1230"}] + "fields":[{"name":"0bitmap$1228"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1344", "fields":[{"name":"0bitmap$1229"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1347", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1345", + "fields":[{"name":"0bitmap$1230"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1346", "fields":[{"name":"0bitmap$1231"}] }, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1347", + "fields":[{"name":"0bitmap$1232"}] +}, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1348", - "fields":[{"name":"0bitmap$1242"}] + "fields":[{"name":"0bitmap$1233"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1349", - "fields":[{"name":"0bitmap$1241"}] + "fields":[{"name":"0bitmap$1234"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1350", "fields":[{"name":"0bitmap$1235"}] }, -{ - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1351", - "fields":[{"name":"0bitmap$1234"}] -}, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1352", - "fields":[{"name":"0bitmap$1233"}] + "fields":[{"name":"0bitmap$1237"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1354", - "fields":[{"name":"0bitmap$1240"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1353", + "fields":[{"name":"0bitmap$1248"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1355", - "fields":[{"name":"0bitmap$1239"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1365", + "fields":[{"name":"0bitmap$1249"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1356", - "fields":[{"name":"0bitmap$1238"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1366", + "fields":[{"name":"0bitmap$1252"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1359", - "fields":[{"name":"0bitmap$1245"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1367", + "fields":[{"name":"0bitmap$1251"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1361", - "fields":[{"name":"0bitmap$1246"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1369", + "fields":[{"name":"0bitmap$1253"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1362", - "fields":[{"name":"0bitmap$1255"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1370", + "fields":[{"name":"0bitmap$1265"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1363", - "fields":[{"name":"0bitmap$1247"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1371", + "fields":[{"name":"0bitmap$1264"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1364", - "fields":[{"name":"0bitmap$1248"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1372", + "fields":[{"name":"0bitmap$1263"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1365", - "fields":[{"name":"0bitmap$1249"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1373", + "fields":[{"name":"0bitmap$1257"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1366", - "fields":[{"name":"0bitmap$1250"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1374", + "fields":[{"name":"0bitmap$1256"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1367", - "fields":[{"name":"0bitmap$1251"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1375", + "fields":[{"name":"0bitmap$1255"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1368", - "fields":[{"name":"0bitmap$1252"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1377", + "fields":[{"name":"0bitmap$1262"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1369", - "fields":[{"name":"0bitmap$1253"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1378", + "fields":[{"name":"0bitmap$1261"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1370", - "fields":[{"name":"0bitmap$1254"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1379", + "fields":[{"name":"0bitmap$1260"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1372", - "fields":[{"name":"0bitmap$1256"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1382", + "fields":[{"name":"0bitmap$1277"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1373", - "fields":[{"name":"0bitmap$1266"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1383", + "fields":[{"name":"0bitmap$1276"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1384", - "fields":[{"name":"0bitmap$1267"}] + "fields":[{"name":"0bitmap$1275"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1385", - "fields":[{"name":"0bitmap$1270"}] + "fields":[{"name":"0bitmap$1269"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1386", - "fields":[{"name":"0bitmap$1269"}] + "fields":[{"name":"0bitmap$1268"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1388", - "fields":[{"name":"0bitmap$1271"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1387", + "fields":[{"name":"0bitmap$1267"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1389", - "fields":[{"name":"0bitmap$1283"}] + "fields":[{"name":"0bitmap$1274"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1390", - "fields":[{"name":"0bitmap$1282"}] + "fields":[{"name":"0bitmap$1273"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1391", - "fields":[{"name":"0bitmap$1281"}] + "fields":[{"name":"0bitmap$1272"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1392", - "fields":[{"name":"0bitmap$1275"}] -}, -{ - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1393", - "fields":[{"name":"0bitmap$1274"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1394", + "fields":[{"name":"0bitmap$1297"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1394", - "fields":[{"name":"0bitmap$1273"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1395", + "fields":[{"name":"0bitmap$1279"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1396", - "fields":[{"name":"0bitmap$1280"}] + "fields":[{"name":"0bitmap$1278"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1397", - "fields":[{"name":"0bitmap$1279"}] + "fields":[{"name":"0bitmap$1296"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1398", - "fields":[{"name":"0bitmap$1278"}] + "fields":[{"name":"0bitmap$1292"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1399", + "fields":[{"name":"0bitmap$1281"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1400", + "fields":[{"name":"0bitmap$1280"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1401", - "fields":[{"name":"0bitmap$1295"}] + "fields":[{"name":"0bitmap$1291"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1402", - "fields":[{"name":"0bitmap$1294"}] + "fields":[{"name":"0bitmap$1285"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1403", - "fields":[{"name":"0bitmap$1293"}] + "fields":[{"name":"0bitmap$1284"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1404", - "fields":[{"name":"0bitmap$1287"}] + "fields":[{"name":"0bitmap$1283"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1405", - "fields":[{"name":"0bitmap$1286"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1406", + "fields":[{"name":"0bitmap$1290"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1406", - "fields":[{"name":"0bitmap$1285"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1407", + "fields":[{"name":"0bitmap$1289"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1408", - "fields":[{"name":"0bitmap$1292"}] + "fields":[{"name":"0bitmap$1288"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1409", - "fields":[{"name":"0bitmap$1291"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1411", + "fields":[{"name":"0bitmap$1295"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1410", - "fields":[{"name":"0bitmap$1290"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1412", + "fields":[{"name":"0bitmap$1294"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1413", - "fields":[{"name":"0bitmap$1315"}] + "fields":[{"name":"0bitmap$1293"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1414", - "fields":[{"name":"0bitmap$1297"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1416", + "fields":[{"name":"0bitmap$1698"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1415", - "fields":[{"name":"0bitmap$1296"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1417", + "fields":[{"name":"0bitmap$1430"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1416", - "fields":[{"name":"0bitmap$1314"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$151", + "fields":[{"name":"0bitmap$166"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1417", - "fields":[{"name":"0bitmap$1310"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1562", + "fields":[{"name":"0bitmap$1460"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1418", - "fields":[{"name":"0bitmap$1299"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1563", + "fields":[{"name":"0bitmap$1454"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1419", - "fields":[{"name":"0bitmap$1298"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1564", + "fields":[{"name":"0bitmap$1444"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1420", - "fields":[{"name":"0bitmap$1309"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1580", + "fields":[{"name":"0bitmap$1453"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1421", - "fields":[{"name":"0bitmap$1303"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1581", + "fields":[{"name":"0bitmap$1450"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1422", - "fields":[{"name":"0bitmap$1302"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1582", + "fields":[{"name":"0bitmap$1449"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1423", - "fields":[{"name":"0bitmap$1301"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1583", + "fields":[{"name":"0bitmap$1445"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1425", - "fields":[{"name":"0bitmap$1308"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1584", + "fields":[{"name":"0bitmap$1446"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1426", - "fields":[{"name":"0bitmap$1307"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1585", + "fields":[{"name":"0bitmap$1447"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1427", - "fields":[{"name":"0bitmap$1306"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1586", + "fields":[{"name":"0bitmap$1448"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1430", - "fields":[{"name":"0bitmap$1313"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1587", + "fields":[{"name":"0bitmap$1451"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1431", - "fields":[{"name":"0bitmap$1312"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1588", + "fields":[{"name":"0bitmap$1452"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1432", - "fields":[{"name":"0bitmap$1311"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1590", + "fields":[{"name":"0bitmap$1459"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1435", - "fields":[{"name":"0bitmap$1716"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1591", + "fields":[{"name":"0bitmap$1455"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1436", - "fields":[{"name":"0bitmap$1448"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1592", + "fields":[{"name":"0bitmap$1458"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1581", - "fields":[{"name":"0bitmap$1478"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1593", + "fields":[{"name":"0bitmap$1456"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1582", - "fields":[{"name":"0bitmap$1472"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1594", + "fields":[{"name":"0bitmap$1457"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1583", - "fields":[{"name":"0bitmap$1462"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1596", + "fields":[{"name":"0bitmap$1490"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1599", - "fields":[{"name":"0bitmap$1471"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1597", + "fields":[{"name":"0bitmap$1472"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1600", - "fields":[{"name":"0bitmap$1468"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1612", + "fields":[{"name":"0bitmap$1475"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1601", - "fields":[{"name":"0bitmap$1467"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1613", + "fields":[{"name":"0bitmap$1473"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1602", - "fields":[{"name":"0bitmap$1463"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1614", + "fields":[{"name":"0bitmap$1474"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1603", - "fields":[{"name":"0bitmap$1464"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1616", + "fields":[{"name":"0bitmap$1489"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1604", - "fields":[{"name":"0bitmap$1465"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1617", + "fields":[{"name":"0bitmap$1488"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1605", - "fields":[{"name":"0bitmap$1466"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1618", + "fields":[{"name":"0bitmap$1476"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1606", - "fields":[{"name":"0bitmap$1469"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1619", + "fields":[{"name":"0bitmap$1482"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1607", - "fields":[{"name":"0bitmap$1470"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1626", + "fields":[{"name":"0bitmap$1487"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1609", - "fields":[{"name":"0bitmap$1477"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1627", + "fields":[{"name":"0bitmap$1486"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1610", - "fields":[{"name":"0bitmap$1473"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1628", + "fields":[{"name":"0bitmap$1483"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1611", - "fields":[{"name":"0bitmap$1476"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1629", + "fields":[{"name":"0bitmap$1484"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1612", - "fields":[{"name":"0bitmap$1474"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1630", + "fields":[{"name":"0bitmap$1485"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1613", - "fields":[{"name":"0bitmap$1475"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1632", + "fields":[{"name":"0bitmap$1520"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1615", - "fields":[{"name":"0bitmap$1508"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1633", + "fields":[{"name":"0bitmap$1502"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1616", - "fields":[{"name":"0bitmap$1490"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1648", + "fields":[{"name":"0bitmap$1505"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1631", - "fields":[{"name":"0bitmap$1493"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1649", + "fields":[{"name":"0bitmap$1503"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1632", - "fields":[{"name":"0bitmap$1491"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1650", + "fields":[{"name":"0bitmap$1504"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1633", - "fields":[{"name":"0bitmap$1492"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1652", + "fields":[{"name":"0bitmap$1519"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1635", - "fields":[{"name":"0bitmap$1507"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1653", + "fields":[{"name":"0bitmap$1518"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1636", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1654", "fields":[{"name":"0bitmap$1506"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1637", - "fields":[{"name":"0bitmap$1494"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1655", + "fields":[{"name":"0bitmap$1512"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1638", - "fields":[{"name":"0bitmap$1500"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1662", + "fields":[{"name":"0bitmap$1517"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1645", - "fields":[{"name":"0bitmap$1505"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1663", + "fields":[{"name":"0bitmap$1516"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1646", - "fields":[{"name":"0bitmap$1504"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1664", + "fields":[{"name":"0bitmap$1513"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1647", - "fields":[{"name":"0bitmap$1501"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1665", + "fields":[{"name":"0bitmap$1514"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1648", - "fields":[{"name":"0bitmap$1502"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1666", + "fields":[{"name":"0bitmap$1515"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1649", - "fields":[{"name":"0bitmap$1503"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1668", + "fields":[{"name":"0bitmap$1550"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1651", - "fields":[{"name":"0bitmap$1538"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1669", + "fields":[{"name":"0bitmap$1533"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1652", - "fields":[{"name":"0bitmap$1520"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1684", + "fields":[{"name":"0bitmap$1547"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1667", - "fields":[{"name":"0bitmap$1523"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1685", + "fields":[{"name":"0bitmap$1546"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1668", - "fields":[{"name":"0bitmap$1521"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1686", + "fields":[{"name":"0bitmap$1534"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1669", - "fields":[{"name":"0bitmap$1522"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1687", + "fields":[{"name":"0bitmap$1540"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1671", - "fields":[{"name":"0bitmap$1537"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1688", + "fields":[{"name":"0bitmap$1539"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1689", + "fields":[{"name":"0bitmap$1535"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1672", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1690", "fields":[{"name":"0bitmap$1536"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1673", - "fields":[{"name":"0bitmap$1524"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1691", + "fields":[{"name":"0bitmap$1537"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1674", - "fields":[{"name":"0bitmap$1530"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1692", + "fields":[{"name":"0bitmap$1538"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1681", - "fields":[{"name":"0bitmap$1535"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1694", + "fields":[{"name":"0bitmap$1545"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1682", - "fields":[{"name":"0bitmap$1534"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1695", + "fields":[{"name":"0bitmap$1544"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1683", - "fields":[{"name":"0bitmap$1531"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1696", + "fields":[{"name":"0bitmap$1541"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1684", - "fields":[{"name":"0bitmap$1532"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1697", + "fields":[{"name":"0bitmap$1542"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1685", - "fields":[{"name":"0bitmap$1533"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1698", + "fields":[{"name":"0bitmap$1543"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1687", - "fields":[{"name":"0bitmap$1568"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1700", + "fields":[{"name":"0bitmap$1549"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1688", - "fields":[{"name":"0bitmap$1551"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1701", + "fields":[{"name":"0bitmap$1548"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1702", + "fields":[{"name":"0bitmap$1573"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1703", - "fields":[{"name":"0bitmap$1565"}] + "fields":[{"name":"0bitmap$1551"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1704", - "fields":[{"name":"0bitmap$1564"}] + "fields":[{"name":"0bitmap$1572"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1705", - "fields":[{"name":"0bitmap$1552"}] + "fields":[{"name":"0bitmap$1561"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1706", - "fields":[{"name":"0bitmap$1558"}] + "fields":[{"name":"0bitmap$1560"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1707", - "fields":[{"name":"0bitmap$1557"}] + "fields":[{"name":"0bitmap$1552"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1708", @@ -1295,224 +1287,220 @@ "fields":[{"name":"0bitmap$1556"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1713", - "fields":[{"name":"0bitmap$1563"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1712", + "fields":[{"name":"0bitmap$1557"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1714", - "fields":[{"name":"0bitmap$1562"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1713", + "fields":[{"name":"0bitmap$1558"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1715", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1714", "fields":[{"name":"0bitmap$1559"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1716", - "fields":[{"name":"0bitmap$1560"}] + "fields":[{"name":"0bitmap$1562"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1717", - "fields":[{"name":"0bitmap$1561"}] + "fields":[{"name":"0bitmap$1566"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1719", - "fields":[{"name":"0bitmap$1567"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1718", + "fields":[{"name":"0bitmap$1565"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1720", - "fields":[{"name":"0bitmap$1566"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1719", + "fields":[{"name":"0bitmap$1563"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1721", - "fields":[{"name":"0bitmap$1591"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1720", + "fields":[{"name":"0bitmap$1564"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1722", - "fields":[{"name":"0bitmap$1569"}] + "fields":[{"name":"0bitmap$1567"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1723", - "fields":[{"name":"0bitmap$1590"}] + "fields":[{"name":"0bitmap$1568"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1724", - "fields":[{"name":"0bitmap$1579"}] -}, -{ - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1725", - "fields":[{"name":"0bitmap$1578"}] -}, -{ - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1726", - "fields":[{"name":"0bitmap$1570"}] + "fields":[{"name":"0bitmap$1571"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1727", - "fields":[{"name":"0bitmap$1571"}] + "fields":[{"name":"0bitmap$1574"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1728", - "fields":[{"name":"0bitmap$1572"}] + "fields":[{"name":"0bitmap$1589"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1729", - "fields":[{"name":"0bitmap$1573"}] + "fields":[{"name":"0bitmap$1580"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1730", - "fields":[{"name":"0bitmap$1574"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1735", + "fields":[{"name":"0bitmap$1583"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1731", - "fields":[{"name":"0bitmap$1575"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1736", + "fields":[{"name":"0bitmap$1582"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1732", - "fields":[{"name":"0bitmap$1576"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1738", + "fields":[{"name":"0bitmap$1588"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1733", - "fields":[{"name":"0bitmap$1577"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1739", + "fields":[{"name":"0bitmap$1584"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1735", - "fields":[{"name":"0bitmap$1580"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1740", + "fields":[{"name":"0bitmap$1585"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1736", - "fields":[{"name":"0bitmap$1584"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1741", + "fields":[{"name":"0bitmap$1586"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1737", - "fields":[{"name":"0bitmap$1583"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1742", + "fields":[{"name":"0bitmap$1587"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1738", - "fields":[{"name":"0bitmap$1581"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1743", + "fields":[{"name":"0bitmap$1693"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1739", - "fields":[{"name":"0bitmap$1582"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1744", + "fields":[{"name":"0bitmap$1590"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1741", - "fields":[{"name":"0bitmap$1585"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1745", + "fields":[{"name":"0bitmap$1641"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1742", - "fields":[{"name":"0bitmap$1586"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1746", + "fields":[{"name":"0bitmap$1626"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1743", - "fields":[{"name":"0bitmap$1589"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1785", + "fields":[{"name":"0bitmap$1637"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1746", - "fields":[{"name":"0bitmap$1592"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1786", + "fields":[{"name":"0bitmap$1631"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1747", - "fields":[{"name":"0bitmap$1607"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1787", + "fields":[{"name":"0bitmap$1627"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1748", - "fields":[{"name":"0bitmap$1598"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1788", + "fields":[{"name":"0bitmap$1628"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1754", - "fields":[{"name":"0bitmap$1601"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1789", + "fields":[{"name":"0bitmap$1629"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1755", - "fields":[{"name":"0bitmap$1600"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1790", + "fields":[{"name":"0bitmap$1630"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1757", - "fields":[{"name":"0bitmap$1606"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1792", + "fields":[{"name":"0bitmap$1636"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1758", - "fields":[{"name":"0bitmap$1602"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1797", + "fields":[{"name":"0bitmap$1640"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1759", - "fields":[{"name":"0bitmap$1603"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1798", + "fields":[{"name":"0bitmap$1638"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1760", - "fields":[{"name":"0bitmap$1604"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1799", + "fields":[{"name":"0bitmap$1639"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1761", - "fields":[{"name":"0bitmap$1605"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1800", + "fields":[{"name":"0bitmap$1692"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1762", - "fields":[{"name":"0bitmap$1711"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1801", + "fields":[{"name":"0bitmap$1677"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1763", - "fields":[{"name":"0bitmap$1608"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1840", + "fields":[{"name":"0bitmap$1688"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1764", - "fields":[{"name":"0bitmap$1659"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1841", + "fields":[{"name":"0bitmap$1682"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1765", - "fields":[{"name":"0bitmap$1644"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1842", + "fields":[{"name":"0bitmap$1678"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1804", - "fields":[{"name":"0bitmap$1655"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1843", + "fields":[{"name":"0bitmap$1679"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1805", - "fields":[{"name":"0bitmap$1649"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1844", + "fields":[{"name":"0bitmap$1680"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1806", - "fields":[{"name":"0bitmap$1645"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1845", + "fields":[{"name":"0bitmap$1681"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1807", - "fields":[{"name":"0bitmap$1646"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1847", + "fields":[{"name":"0bitmap$1687"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1808", - "fields":[{"name":"0bitmap$1647"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$185", + "fields":[{"name":"0bitmap$196"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1809", - "fields":[{"name":"0bitmap$1648"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1852", + "fields":[{"name":"0bitmap$1691"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1811", - "fields":[{"name":"0bitmap$1654"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1853", + "fields":[{"name":"0bitmap$1689"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1816", - "fields":[{"name":"0bitmap$1658"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1854", + "fields":[{"name":"0bitmap$1690"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1817", - "fields":[{"name":"0bitmap$1656"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1855", + "fields":[{"name":"0bitmap$1695"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1818", - "fields":[{"name":"0bitmap$1657"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1856", + "fields":[{"name":"0bitmap$1694"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1819", - "fields":[{"name":"0bitmap$1710"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1857", + "fields":[{"name":"0bitmap$1697"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1820", - "fields":[{"name":"0bitmap$1695"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1858", + "fields":[{"name":"0bitmap$1696"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1859", - "fields":[{"name":"0bitmap$1706"}] + "fields":[{"name":"0bitmap$1714"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$186", + "fields":[{"name":"0bitmap$178"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1860", @@ -1520,42 +1508,38 @@ }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1861", - "fields":[{"name":"0bitmap$1696"}] + "fields":[{"name":"0bitmap$1699"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1862", - "fields":[{"name":"0bitmap$1697"}] + "fields":[{"name":"0bitmap$1713"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1863", - "fields":[{"name":"0bitmap$1698"}] + "fields":[{"name":"0bitmap$1702"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1864", - "fields":[{"name":"0bitmap$1699"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1865", + "fields":[{"name":"0bitmap$1704"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1866", - "fields":[{"name":"0bitmap$1705"}] + "fields":[{"name":"0bitmap$1703"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1871", - "fields":[{"name":"0bitmap$1709"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1867", + "fields":[{"name":"0bitmap$1706"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1872", - "fields":[{"name":"0bitmap$1707"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1869", + "fields":[{"name":"0bitmap$1709"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1873", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1870", "fields":[{"name":"0bitmap$1708"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1874", - "fields":[{"name":"0bitmap$1713"}] -}, -{ - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1875", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1872", "fields":[{"name":"0bitmap$1712"}] }, { @@ -1564,183 +1548,223 @@ }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1877", - "fields":[{"name":"0bitmap$1714"}] + "fields":[{"name":"0bitmap$1803"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1878", - "fields":[{"name":"0bitmap$1732"}] + "fields":[{"name":"0bitmap$1754"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1879", - "fields":[{"name":"0bitmap$1718"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1920", + "fields":[{"name":"0bitmap$1755"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1880", - "fields":[{"name":"0bitmap$1717"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1921", + "fields":[{"name":"0bitmap$1795"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1881", - "fields":[{"name":"0bitmap$1731"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1922", + "fields":[{"name":"0bitmap$1794"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1882", - "fields":[{"name":"0bitmap$1720"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1964", + "fields":[{"name":"0bitmap$1797"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1884", - "fields":[{"name":"0bitmap$1722"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1966", + "fields":[{"name":"0bitmap$1800"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1885", - "fields":[{"name":"0bitmap$1721"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1967", + "fields":[{"name":"0bitmap$1799"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1886", - "fields":[{"name":"0bitmap$1724"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1969", + "fields":[{"name":"0bitmap$1801"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1888", - "fields":[{"name":"0bitmap$1727"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1970", + "fields":[{"name":"0bitmap$1802"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1889", - "fields":[{"name":"0bitmap$1726"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1971", + "fields":[{"name":"0bitmap$1824"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1891", - "fields":[{"name":"0bitmap$1730"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1972", + "fields":[{"name":"0bitmap$1813"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1895", - "fields":[{"name":"0bitmap$1733"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1973", + "fields":[{"name":"0bitmap$1812"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1896", - "fields":[{"name":"0bitmap$1821"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1974", + "fields":[{"name":"0bitmap$1804"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1897", - "fields":[{"name":"0bitmap$1772"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1975", + "fields":[{"name":"0bitmap$1805"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1939", - "fields":[{"name":"0bitmap$1773"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1976", + "fields":[{"name":"0bitmap$1806"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1940", - "fields":[{"name":"0bitmap$1813"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1977", + "fields":[{"name":"0bitmap$1807"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1941", - "fields":[{"name":"0bitmap$1812"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1978", + "fields":[{"name":"0bitmap$1808"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$195", - "fields":[{"name":"0bitmap$207"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1979", + "fields":[{"name":"0bitmap$1809"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1980", + "fields":[{"name":"0bitmap$1810"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1981", + "fields":[{"name":"0bitmap$1811"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1983", - "fields":[{"name":"0bitmap$1815"}] + "fields":[{"name":"0bitmap$1814"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1985", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1984", "fields":[{"name":"0bitmap$1818"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1986", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1985", "fields":[{"name":"0bitmap$1817"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1988", - "fields":[{"name":"0bitmap$1819"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1986", + "fields":[{"name":"0bitmap$1815"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1987", + "fields":[{"name":"0bitmap$1816"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1989", - "fields":[{"name":"0bitmap$1820"}] + "fields":[{"name":"0bitmap$1819"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1990", - "fields":[{"name":"0bitmap$1842"}] + "fields":[{"name":"0bitmap$1820"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1991", - "fields":[{"name":"0bitmap$1831"}] + "fields":[{"name":"0bitmap$1823"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$2002", - "fields":[{"name":"0bitmap$1832"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1994", + "fields":[{"name":"0bitmap$1827"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$2003", - "fields":[{"name":"0bitmap$1836"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1995", + "fields":[{"name":"0bitmap$1826"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$2004", - "fields":[{"name":"0bitmap$1835"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1997", + "fields":[{"name":"0bitmap$1870"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$2005", - "fields":[{"name":"0bitmap$1833"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$1998", + "fields":[{"name":"0bitmap$1869"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$2006", - "fields":[{"name":"0bitmap$1834"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$2", + "fields":[{"name":"0bitmap$2"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$2008", - "fields":[{"name":"0bitmap$1837"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$201", + "fields":[{"name":"0bitmap$181"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$2009", - "fields":[{"name":"0bitmap$1838"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$202", + "fields":[{"name":"0bitmap$179"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$2010", - "fields":[{"name":"0bitmap$1841"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$203", + "fields":[{"name":"0bitmap$180"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$2013", - "fields":[{"name":"0bitmap$1845"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$205", + "fields":[{"name":"0bitmap$195"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$2014", - "fields":[{"name":"0bitmap$1844"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$206", + "fields":[{"name":"0bitmap$194"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$2016", - "fields":[{"name":"0bitmap$1888"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$207", + "fields":[{"name":"0bitmap$182"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$2017", - "fields":[{"name":"0bitmap$1887"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$208", + "fields":[{"name":"0bitmap$188"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$229", - "fields":[{"name":"0bitmap$237"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$215", + "fields":[{"name":"0bitmap$193"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$230", - "fields":[{"name":"0bitmap$219"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$216", + "fields":[{"name":"0bitmap$192"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$245", - "fields":[{"name":"0bitmap$222"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$217", + "fields":[{"name":"0bitmap$189"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$246", - "fields":[{"name":"0bitmap$220"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$218", + "fields":[{"name":"0bitmap$190"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$247", - "fields":[{"name":"0bitmap$221"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$219", + "fields":[{"name":"0bitmap$191"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$249", - "fields":[{"name":"0bitmap$236"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$221", + "fields":[{"name":"0bitmap$226"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$250", - "fields":[{"name":"0bitmap$235"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$222", + "fields":[{"name":"0bitmap$208"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$237", + "fields":[{"name":"0bitmap$211"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$238", + "fields":[{"name":"0bitmap$209"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$239", + "fields":[{"name":"0bitmap$210"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$241", + "fields":[{"name":"0bitmap$225"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$242", + "fields":[{"name":"0bitmap$224"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$243", + "fields":[{"name":"0bitmap$212"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$244", + "fields":[{"name":"0bitmap$218"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$251", @@ -1748,683 +1772,719 @@ }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$252", - "fields":[{"name":"0bitmap$229"}] + "fields":[{"name":"0bitmap$222"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$259", - "fields":[{"name":"0bitmap$234"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$253", + "fields":[{"name":"0bitmap$219"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$260", - "fields":[{"name":"0bitmap$233"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$254", + "fields":[{"name":"0bitmap$220"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$261", - "fields":[{"name":"0bitmap$230"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$255", + "fields":[{"name":"0bitmap$221"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$262", - "fields":[{"name":"0bitmap$231"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$257", + "fields":[{"name":"0bitmap$256"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$263", - "fields":[{"name":"0bitmap$232"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$291", + "fields":[{"name":"0bitmap$279"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$265", - "fields":[{"name":"0bitmap$267"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$316", + "fields":[{"name":"0bitmap$280"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$266", - "fields":[{"name":"0bitmap$249"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$317", + "fields":[{"name":"0bitmap$295"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$281", - "fields":[{"name":"0bitmap$252"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$318", + "fields":[{"name":"0bitmap$286"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$282", - "fields":[{"name":"0bitmap$250"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$324", + "fields":[{"name":"0bitmap$289"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$283", - "fields":[{"name":"0bitmap$251"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$325", + "fields":[{"name":"0bitmap$288"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$285", - "fields":[{"name":"0bitmap$266"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$327", + "fields":[{"name":"0bitmap$294"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$286", - "fields":[{"name":"0bitmap$265"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$328", + "fields":[{"name":"0bitmap$290"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$287", - "fields":[{"name":"0bitmap$253"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$329", + "fields":[{"name":"0bitmap$291"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$288", - "fields":[{"name":"0bitmap$259"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$330", + "fields":[{"name":"0bitmap$292"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$295", - "fields":[{"name":"0bitmap$264"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$331", + "fields":[{"name":"0bitmap$293"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$296", - "fields":[{"name":"0bitmap$263"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$332", + "fields":[{"name":"0bitmap$399"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$297", - "fields":[{"name":"0bitmap$260"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$333", + "fields":[{"name":"0bitmap$296"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$298", - "fields":[{"name":"0bitmap$261"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$334", + "fields":[{"name":"0bitmap$347"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$299", - "fields":[{"name":"0bitmap$262"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$335", + "fields":[{"name":"0bitmap$332"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$3", - "fields":[{"name":"0bitmap$41"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$374", + "fields":[{"name":"0bitmap$343"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$301", - "fields":[{"name":"0bitmap$297"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$375", + "fields":[{"name":"0bitmap$337"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$335", - "fields":[{"name":"0bitmap$320"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$376", + "fields":[{"name":"0bitmap$333"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$360", - "fields":[{"name":"0bitmap$321"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$377", + "fields":[{"name":"0bitmap$334"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$378", + "fields":[{"name":"0bitmap$335"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$361", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$379", "fields":[{"name":"0bitmap$336"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$362", - "fields":[{"name":"0bitmap$327"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$381", + "fields":[{"name":"0bitmap$342"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$368", - "fields":[{"name":"0bitmap$330"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$386", + "fields":[{"name":"0bitmap$346"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$369", - "fields":[{"name":"0bitmap$329"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$387", + "fields":[{"name":"0bitmap$344"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$371", - "fields":[{"name":"0bitmap$335"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$388", + "fields":[{"name":"0bitmap$345"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$372", - "fields":[{"name":"0bitmap$331"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$389", + "fields":[{"name":"0bitmap$398"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$373", - "fields":[{"name":"0bitmap$332"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$390", + "fields":[{"name":"0bitmap$383"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$374", - "fields":[{"name":"0bitmap$333"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$4", + "fields":[{"name":"0bitmap$3"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$375", - "fields":[{"name":"0bitmap$334"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$429", + "fields":[{"name":"0bitmap$394"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$376", - "fields":[{"name":"0bitmap$440"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$430", + "fields":[{"name":"0bitmap$388"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$377", - "fields":[{"name":"0bitmap$337"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$431", + "fields":[{"name":"0bitmap$384"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$378", - "fields":[{"name":"0bitmap$388"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$432", + "fields":[{"name":"0bitmap$385"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$379", - "fields":[{"name":"0bitmap$373"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$433", + "fields":[{"name":"0bitmap$386"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$418", - "fields":[{"name":"0bitmap$384"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$434", + "fields":[{"name":"0bitmap$387"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$436", + "fields":[{"name":"0bitmap$393"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$441", + "fields":[{"name":"0bitmap$397"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$442", + "fields":[{"name":"0bitmap$395"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$443", + "fields":[{"name":"0bitmap$396"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$444", + "fields":[{"name":"0bitmap$401"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$446", + "fields":[{"name":"0bitmap$403"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$448", + "fields":[{"name":"0bitmap$406"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$449", + "fields":[{"name":"0bitmap$405"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$419", - "fields":[{"name":"0bitmap$378"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$450", + "fields":[{"name":"0bitmap$540"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$420", - "fields":[{"name":"0bitmap$374"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$5", + "fields":[{"name":"0bitmap$404"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$421", - "fields":[{"name":"0bitmap$375"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$595", + "fields":[{"name":"0bitmap$571"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$422", - "fields":[{"name":"0bitmap$376"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$6", + "fields":[{"name":"0bitmap$136"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$423", - "fields":[{"name":"0bitmap$377"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$630", + "fields":[{"name":"0bitmap$602"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$425", - "fields":[{"name":"0bitmap$383"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$631", + "fields":[{"name":"0bitmap$601"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$430", - "fields":[{"name":"0bitmap$387"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$632", + "fields":[{"name":"0bitmap$583"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$431", - "fields":[{"name":"0bitmap$385"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$647", + "fields":[{"name":"0bitmap$586"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$432", - "fields":[{"name":"0bitmap$386"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$648", + "fields":[{"name":"0bitmap$584"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$433", - "fields":[{"name":"0bitmap$439"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$649", + "fields":[{"name":"0bitmap$585"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$434", - "fields":[{"name":"0bitmap$424"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$651", + "fields":[{"name":"0bitmap$600"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$45", - "fields":[{"name":"0bitmap$448"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$667", + "fields":[{"name":"0bitmap$633"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$46", - "fields":[{"name":"0bitmap$43"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$702", + "fields":[{"name":"0bitmap$657"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$473", - "fields":[{"name":"0bitmap$435"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$728", + "fields":[{"name":"0bitmap$660"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$474", - "fields":[{"name":"0bitmap$429"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$731", + "fields":[{"name":"0bitmap$663"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$475", - "fields":[{"name":"0bitmap$425"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$734", + "fields":[{"name":"0bitmap$684"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$476", - "fields":[{"name":"0bitmap$426"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$735", + "fields":[{"name":"0bitmap$676"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$477", - "fields":[{"name":"0bitmap$427"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$749", + "fields":[{"name":"0bitmap$683"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$478", - "fields":[{"name":"0bitmap$428"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$750", + "fields":[{"name":"0bitmap$682"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$48", - "fields":[{"name":"0bitmap$44"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$756", + "fields":[{"name":"0bitmap$698"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$480", - "fields":[{"name":"0bitmap$434"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$757", + "fields":[{"name":"0bitmap$697"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$485", - "fields":[{"name":"0bitmap$438"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$758", + "fields":[{"name":"0bitmap$686"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$486", - "fields":[{"name":"0bitmap$436"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$760", + "fields":[{"name":"0bitmap$696"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$487", - "fields":[{"name":"0bitmap$437"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$761", + "fields":[{"name":"0bitmap$695"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$488", - "fields":[{"name":"0bitmap$442"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$762", + "fields":[{"name":"0bitmap$687"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$49", - "fields":[{"name":"0bitmap$445"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$763", + "fields":[{"name":"0bitmap$688"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$490", - "fields":[{"name":"0bitmap$444"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$764", + "fields":[{"name":"0bitmap$689"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$492", - "fields":[{"name":"0bitmap$447"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$765", + "fields":[{"name":"0bitmap$690"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$493", - "fields":[{"name":"0bitmap$446"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$766", + "fields":[{"name":"0bitmap$691"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$494", - "fields":[{"name":"0bitmap$581"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$767", + "fields":[{"name":"0bitmap$692"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$50", - "fields":[{"name":"0bitmap$177"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$768", + "fields":[{"name":"0bitmap$693"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$639", - "fields":[{"name":"0bitmap$612"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$769", + "fields":[{"name":"0bitmap$694"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$674", - "fields":[{"name":"0bitmap$643"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$771", + "fields":[{"name":"0bitmap$699"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$675", - "fields":[{"name":"0bitmap$642"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$772", + "fields":[{"name":"0bitmap$836"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$676", - "fields":[{"name":"0bitmap$624"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$773", + "fields":[{"name":"0bitmap$750"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$691", - "fields":[{"name":"0bitmap$627"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$774", + "fields":[{"name":"0bitmap$735"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$692", - "fields":[{"name":"0bitmap$625"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$813", + "fields":[{"name":"0bitmap$746"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$693", - "fields":[{"name":"0bitmap$626"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$814", + "fields":[{"name":"0bitmap$740"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$695", - "fields":[{"name":"0bitmap$641"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$815", + "fields":[{"name":"0bitmap$736"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$711", - "fields":[{"name":"0bitmap$674"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$816", + "fields":[{"name":"0bitmap$737"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$746", - "fields":[{"name":"0bitmap$698"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$817", + "fields":[{"name":"0bitmap$738"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$772", - "fields":[{"name":"0bitmap$701"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$818", + "fields":[{"name":"0bitmap$739"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$775", - "fields":[{"name":"0bitmap$704"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$820", + "fields":[{"name":"0bitmap$745"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$778", - "fields":[{"name":"0bitmap$725"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$825", + "fields":[{"name":"0bitmap$749"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$779", - "fields":[{"name":"0bitmap$717"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$826", + "fields":[{"name":"0bitmap$747"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$793", - "fields":[{"name":"0bitmap$724"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$827", + "fields":[{"name":"0bitmap$748"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$794", - "fields":[{"name":"0bitmap$723"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$828", + "fields":[{"name":"0bitmap$753"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$800", - "fields":[{"name":"0bitmap$739"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$829", + "fields":[{"name":"0bitmap$752"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$801", - "fields":[{"name":"0bitmap$738"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$831", + "fields":[{"name":"0bitmap$819"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$802", - "fields":[{"name":"0bitmap$727"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$832", + "fields":[{"name":"0bitmap$789"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$804", - "fields":[{"name":"0bitmap$737"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$871", + "fields":[{"name":"0bitmap$813"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$805", - "fields":[{"name":"0bitmap$736"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$872", + "fields":[{"name":"0bitmap$793"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$806", - "fields":[{"name":"0bitmap$728"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$873", + "fields":[{"name":"0bitmap$790"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$807", - "fields":[{"name":"0bitmap$729"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$874", + "fields":[{"name":"0bitmap$791"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$808", - "fields":[{"name":"0bitmap$730"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$875", + "fields":[{"name":"0bitmap$792"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$809", - "fields":[{"name":"0bitmap$731"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$877", + "fields":[{"name":"0bitmap$807"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$810", - "fields":[{"name":"0bitmap$732"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$878", + "fields":[{"name":"0bitmap$794"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$811", - "fields":[{"name":"0bitmap$733"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$879", + "fields":[{"name":"0bitmap$795"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$812", - "fields":[{"name":"0bitmap$734"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$880", + "fields":[{"name":"0bitmap$796"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$813", - "fields":[{"name":"0bitmap$735"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$881", + "fields":[{"name":"0bitmap$797"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$815", - "fields":[{"name":"0bitmap$740"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$882", + "fields":[{"name":"0bitmap$798"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$816", - "fields":[{"name":"0bitmap$877"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$883", + "fields":[{"name":"0bitmap$799"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$817", - "fields":[{"name":"0bitmap$791"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$884", + "fields":[{"name":"0bitmap$800"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$818", - "fields":[{"name":"0bitmap$776"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$885", + "fields":[{"name":"0bitmap$801"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$857", - "fields":[{"name":"0bitmap$787"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$886", + "fields":[{"name":"0bitmap$802"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$858", - "fields":[{"name":"0bitmap$781"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$887", + "fields":[{"name":"0bitmap$803"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$859", - "fields":[{"name":"0bitmap$777"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$888", + "fields":[{"name":"0bitmap$804"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$860", - "fields":[{"name":"0bitmap$778"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$889", + "fields":[{"name":"0bitmap$805"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$861", - "fields":[{"name":"0bitmap$779"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$890", + "fields":[{"name":"0bitmap$806"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$862", - "fields":[{"name":"0bitmap$780"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$892", + "fields":[{"name":"0bitmap$812"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$864", - "fields":[{"name":"0bitmap$786"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$897", + "fields":[{"name":"0bitmap$818"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$869", - "fields":[{"name":"0bitmap$790"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$898", + "fields":[{"name":"0bitmap$814"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$870", - "fields":[{"name":"0bitmap$788"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$899", + "fields":[{"name":"0bitmap$815"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$871", - "fields":[{"name":"0bitmap$789"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$900", + "fields":[{"name":"0bitmap$816"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$872", - "fields":[{"name":"0bitmap$794"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$901", + "fields":[{"name":"0bitmap$817"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$873", - "fields":[{"name":"0bitmap$793"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$902", + "fields":[{"name":"0bitmap$835"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$875", - "fields":[{"name":"0bitmap$860"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$903", + "fields":[{"name":"0bitmap$829"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$876", - "fields":[{"name":"0bitmap$830"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$914", + "fields":[{"name":"0bitmap$834"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$915", - "fields":[{"name":"0bitmap$854"}] + "fields":[{"name":"0bitmap$830"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$916", - "fields":[{"name":"0bitmap$834"}] + "fields":[{"name":"0bitmap$831"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$917", - "fields":[{"name":"0bitmap$831"}] + "fields":[{"name":"0bitmap$832"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$918", - "fields":[{"name":"0bitmap$832"}] + "fields":[{"name":"0bitmap$833"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$919", - "fields":[{"name":"0bitmap$833"}] + "fields":[{"name":"0bitmap$837"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$920", + "fields":[{"name":"0bitmap$937"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$921", - "fields":[{"name":"0bitmap$848"}] + "fields":[{"name":"0bitmap$849"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$922", - "fields":[{"name":"0bitmap$835"}] + "fields":[{"name":"0bitmap$847"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$923", - "fields":[{"name":"0bitmap$836"}] + "fields":[{"name":"0bitmap$846"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$924", - "fields":[{"name":"0bitmap$837"}] -}, -{ - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$925", "fields":[{"name":"0bitmap$838"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$926", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$925", "fields":[{"name":"0bitmap$839"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$927", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$926", "fields":[{"name":"0bitmap$840"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$928", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$927", "fields":[{"name":"0bitmap$841"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$929", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$928", "fields":[{"name":"0bitmap$842"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$930", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$929", "fields":[{"name":"0bitmap$843"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$931", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$930", "fields":[{"name":"0bitmap$844"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$932", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$931", "fields":[{"name":"0bitmap$845"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$933", - "fields":[{"name":"0bitmap$846"}] + "fields":[{"name":"0bitmap$848"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$934", - "fields":[{"name":"0bitmap$847"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$935", + "fields":[{"name":"0bitmap$865"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$936", - "fields":[{"name":"0bitmap$853"}] -}, -{ - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$941", "fields":[{"name":"0bitmap$859"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$942", - "fields":[{"name":"0bitmap$855"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$947", + "fields":[{"name":"0bitmap$863"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$943", - "fields":[{"name":"0bitmap$856"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$948", + "fields":[{"name":"0bitmap$862"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$944", - "fields":[{"name":"0bitmap$857"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$949", + "fields":[{"name":"0bitmap$860"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$945", - "fields":[{"name":"0bitmap$858"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$950", + "fields":[{"name":"0bitmap$861"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$946", - "fields":[{"name":"0bitmap$876"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$952", + "fields":[{"name":"0bitmap$864"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$947", - "fields":[{"name":"0bitmap$870"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$954", + "fields":[{"name":"0bitmap$875"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$958", - "fields":[{"name":"0bitmap$875"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$965", + "fields":[{"name":"0bitmap$879"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$959", - "fields":[{"name":"0bitmap$871"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$970", + "fields":[{"name":"0bitmap$880"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$960", - "fields":[{"name":"0bitmap$872"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$971", + "fields":[{"name":"0bitmap$881"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$961", - "fields":[{"name":"0bitmap$873"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$972", + "fields":[{"name":"0bitmap$882"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$962", - "fields":[{"name":"0bitmap$874"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$973", + "fields":[{"name":"0bitmap$884"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$963", - "fields":[{"name":"0bitmap$878"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$974", + "fields":[{"name":"0bitmap$883"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$964", - "fields":[{"name":"0bitmap$978"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$975", + "fields":[{"name":"0bitmap$886"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$965", - "fields":[{"name":"0bitmap$890"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$976", + "fields":[{"name":"0bitmap$885"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$966", - "fields":[{"name":"0bitmap$888"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$977", + "fields":[{"name":"0bitmap$903"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$967", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$978", "fields":[{"name":"0bitmap$887"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$968", - "fields":[{"name":"0bitmap$879"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$979", + "fields":[{"name":"0bitmap$888"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$969", - "fields":[{"name":"0bitmap$880"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$980", + "fields":[{"name":"0bitmap$902"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$970", - "fields":[{"name":"0bitmap$881"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$981", + "fields":[{"name":"0bitmap$901"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$971", - "fields":[{"name":"0bitmap$882"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$982", + "fields":[{"name":"0bitmap$889"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$972", - "fields":[{"name":"0bitmap$883"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$983", + "fields":[{"name":"0bitmap$895"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$973", - "fields":[{"name":"0bitmap$884"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$984", + "fields":[{"name":"0bitmap$894"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$974", - "fields":[{"name":"0bitmap$885"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$985", + "fields":[{"name":"0bitmap$890"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$975", - "fields":[{"name":"0bitmap$886"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$986", + "fields":[{"name":"0bitmap$891"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$977", - "fields":[{"name":"0bitmap$889"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$987", + "fields":[{"name":"0bitmap$892"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$979", - "fields":[{"name":"0bitmap$906"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$988", + "fields":[{"name":"0bitmap$893"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$980", + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$990", "fields":[{"name":"0bitmap$900"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$991", - "fields":[{"name":"0bitmap$904"}] + "fields":[{"name":"0bitmap$899"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$992", - "fields":[{"name":"0bitmap$903"}] + "fields":[{"name":"0bitmap$896"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$993", - "fields":[{"name":"0bitmap$901"}] + "fields":[{"name":"0bitmap$897"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$994", - "fields":[{"name":"0bitmap$902"}] + "fields":[{"name":"0bitmap$898"}] }, { "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$996", + "fields":[{"name":"0bitmap$916"}] +}, +{ + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$997", "fields":[{"name":"0bitmap$905"}] }, { - "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$998", - "fields":[{"name":"0bitmap$916"}] + "name":"fpp.compiler.codegen.AnalysisJsonEncoder$$anon$999", + "fields":[{"name":"0bitmap$915"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$", @@ -2436,7 +2496,7 @@ }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$10", - "fields":[{"name":"0bitmap$287"}] + "fields":[{"name":"0bitmap$300"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$100", @@ -2496,95 +2556,95 @@ }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$114", - "fields":[{"name":"0bitmap$56"}] + "fields":[{"name":"0bitmap$54"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$115", - "fields":[{"name":"0bitmap$54"}] + "fields":[{"name":"0bitmap$55"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$116", - "fields":[{"name":"0bitmap$55"}] + "fields":[{"name":"0bitmap$56"}] +}, +{ + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$117", + "fields":[{"name":"0bitmap$65"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$118", - "fields":[{"name":"0bitmap$61"}] + "fields":[{"name":"0bitmap$64"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$119", - "fields":[{"name":"0bitmap$60"}] + "fields":[{"name":"0bitmap$63"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$12", - "fields":[{"name":"0bitmap$293"}] + "fields":[{"name":"0bitmap$306"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$120", - "fields":[{"name":"0bitmap$64"}] + "fields":[{"name":"0bitmap$62"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$121", - "fields":[{"name":"0bitmap$63"}] + "fields":[{"name":"0bitmap$60"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$122", - "fields":[{"name":"0bitmap$62"}] -}, -{ - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$123", - "fields":[{"name":"0bitmap$66"}] + "fields":[{"name":"0bitmap$61"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$124", - "fields":[{"name":"0bitmap$65"}] + "fields":[{"name":"0bitmap$67"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$125", - "fields":[{"name":"0bitmap$68"}] + "fields":[{"name":"0bitmap$66"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$126", - "fields":[{"name":"0bitmap$67"}] + "fields":[{"name":"0bitmap$70"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$127", - "fields":[{"name":"0bitmap$70"}] + "fields":[{"name":"0bitmap$69"}] +}, +{ + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$128", + "fields":[{"name":"0bitmap$68"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$129", - "fields":[{"name":"0bitmap$81"}] + "fields":[{"name":"0bitmap$72"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$130", - "fields":[{"name":"0bitmap$80"}] + "fields":[{"name":"0bitmap$71"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$131", - "fields":[{"name":"0bitmap$79"}] + "fields":[{"name":"0bitmap$74"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$132", - "fields":[{"name":"0bitmap$71"}] + "fields":[{"name":"0bitmap$73"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$133", - "fields":[{"name":"0bitmap$72"}] -}, -{ - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$134", - "fields":[{"name":"0bitmap$73"}] + "fields":[{"name":"0bitmap$76"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$135", - "fields":[{"name":"0bitmap$74"}] + "fields":[{"name":"0bitmap$88"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$136", - "fields":[{"name":"0bitmap$75"}] + "fields":[{"name":"0bitmap$87"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$137", - "fields":[{"name":"0bitmap$76"}] + "fields":[{"name":"0bitmap$86"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$138", @@ -2594,89 +2654,89 @@ "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$139", "fields":[{"name":"0bitmap$78"}] }, +{ + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$140", + "fields":[{"name":"0bitmap$79"}] +}, +{ + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$141", + "fields":[{"name":"0bitmap$80"}] +}, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$142", - "fields":[{"name":"0bitmap$85"}] + "fields":[{"name":"0bitmap$81"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$143", - "fields":[{"name":"0bitmap$83"}] + "fields":[{"name":"0bitmap$82"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$144", - "fields":[{"name":"0bitmap$84"}] + "fields":[{"name":"0bitmap$83"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$145", - "fields":[{"name":"0bitmap$117"}] + "fields":[{"name":"0bitmap$84"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$146", - "fields":[{"name":"0bitmap$87"}] -}, -{ - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$147", - "fields":[{"name":"0bitmap$86"}] + "fields":[{"name":"0bitmap$85"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$148", - "fields":[{"name":"0bitmap$89"}] + "fields":[{"name":"0bitmap$94"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$149", - "fields":[{"name":"0bitmap$88"}] + "fields":[{"name":"0bitmap$93"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$150", - "fields":[{"name":"0bitmap$91"}] + "fields":[{"name":"0bitmap$92"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$151", - "fields":[{"name":"0bitmap$90"}] + "fields":[{"name":"0bitmap$89"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$152", - "fields":[{"name":"0bitmap$93"}] + "fields":[{"name":"0bitmap$90"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$153", - "fields":[{"name":"0bitmap$92"}] -}, -{ - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$154", - "fields":[{"name":"0bitmap$97"}] + "fields":[{"name":"0bitmap$91"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$155", - "fields":[{"name":"0bitmap$96"}] + "fields":[{"name":"0bitmap$98"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$156", - "fields":[{"name":"0bitmap$94"}] + "fields":[{"name":"0bitmap$96"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$157", - "fields":[{"name":"0bitmap$95"}] + "fields":[{"name":"0bitmap$97"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$158", - "fields":[{"name":"0bitmap$99"}] + "fields":[{"name":"0bitmap$130"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$159", - "fields":[{"name":"0bitmap$98"}] + "fields":[{"name":"0bitmap$100"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$160", - "fields":[{"name":"0bitmap$102"}] + "fields":[{"name":"0bitmap$99"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$161", - "fields":[{"name":"0bitmap$101"}] + "fields":[{"name":"0bitmap$102"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$162", - "fields":[{"name":"0bitmap$100"}] + "fields":[{"name":"0bitmap$101"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$163", @@ -2696,67 +2756,75 @@ }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$167", - "fields":[{"name":"0bitmap$108"}] + "fields":[{"name":"0bitmap$110"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$168", - "fields":[{"name":"0bitmap$107"}] + "fields":[{"name":"0bitmap$109"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$169", - "fields":[{"name":"0bitmap$111"}] + "fields":[{"name":"0bitmap$107"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$17", - "fields":[{"name":"0bitmap$318"}] + "fields":[{"name":"0bitmap$331"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$170", - "fields":[{"name":"0bitmap$110"}] + "fields":[{"name":"0bitmap$108"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$171", - "fields":[{"name":"0bitmap$109"}] + "fields":[{"name":"0bitmap$112"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$172", - "fields":[{"name":"0bitmap$113"}] + "fields":[{"name":"0bitmap$111"}] +}, +{ + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$173", + "fields":[{"name":"0bitmap$115"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$174", - "fields":[{"name":"0bitmap$116"}] + "fields":[{"name":"0bitmap$114"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$175", - "fields":[{"name":"0bitmap$115"}] + "fields":[{"name":"0bitmap$113"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$176", - "fields":[{"name":"0bitmap$114"}] + "fields":[{"name":"0bitmap$117"}] +}, +{ + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$177", + "fields":[{"name":"0bitmap$116"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$178", - "fields":[{"name":"0bitmap$139"}] + "fields":[{"name":"0bitmap$119"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$179", - "fields":[{"name":"0bitmap$121"}] + "fields":[{"name":"0bitmap$118"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$18", - "fields":[{"name":"0bitmap$298"}] + "fields":[{"name":"0bitmap$311"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$180", - "fields":[{"name":"0bitmap$120"}] + "fields":[{"name":"0bitmap$121"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$181", - "fields":[{"name":"0bitmap$118"}] + "fields":[{"name":"0bitmap$120"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$182", - "fields":[{"name":"0bitmap$119"}] + "fields":[{"name":"0bitmap$124"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$183", @@ -2768,43 +2836,39 @@ }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$185", - "fields":[{"name":"0bitmap$125"}] + "fields":[{"name":"0bitmap$126"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$187", - "fields":[{"name":"0bitmap$128"}] + "fields":[{"name":"0bitmap$129"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$188", - "fields":[{"name":"0bitmap$127"}] + "fields":[{"name":"0bitmap$128"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$189", - "fields":[{"name":"0bitmap$126"}] -}, -{ - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$190", - "fields":[{"name":"0bitmap$130"}] + "fields":[{"name":"0bitmap$127"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$191", - "fields":[{"name":"0bitmap$129"}] + "fields":[{"name":"0bitmap$152"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$192", - "fields":[{"name":"0bitmap$132"}] + "fields":[{"name":"0bitmap$134"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$193", - "fields":[{"name":"0bitmap$131"}] + "fields":[{"name":"0bitmap$133"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$194", - "fields":[{"name":"0bitmap$138"}] + "fields":[{"name":"0bitmap$131"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$195", - "fields":[{"name":"0bitmap$137"}] + "fields":[{"name":"0bitmap$132"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$196", @@ -2812,55 +2876,59 @@ }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$197", - "fields":[{"name":"0bitmap$134"}] + "fields":[{"name":"0bitmap$135"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$198", - "fields":[{"name":"0bitmap$133"}] + "fields":[{"name":"0bitmap$138"}] }, { - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$199", - "fields":[{"name":"0bitmap$135"}] + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$2", + "fields":[{"name":"0bitmap$336"}] }, { - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$2", - "fields":[{"name":"0bitmap$323"}] + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$200", + "fields":[{"name":"0bitmap$141"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$201", - "fields":[{"name":"0bitmap$157"}] + "fields":[{"name":"0bitmap$140"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$202", - "fields":[{"name":"0bitmap$143"}] + "fields":[{"name":"0bitmap$139"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$203", - "fields":[{"name":"0bitmap$142"}] + "fields":[{"name":"0bitmap$143"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$204", - "fields":[{"name":"0bitmap$140"}] + "fields":[{"name":"0bitmap$142"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$205", - "fields":[{"name":"0bitmap$141"}] + "fields":[{"name":"0bitmap$145"}] +}, +{ + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$206", + "fields":[{"name":"0bitmap$144"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$207", - "fields":[{"name":"0bitmap$153"}] + "fields":[{"name":"0bitmap$151"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$208", - "fields":[{"name":"0bitmap$152"}] + "fields":[{"name":"0bitmap$150"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$209", - "fields":[{"name":"0bitmap$144"}] + "fields":[{"name":"0bitmap$149"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$210", - "fields":[{"name":"0bitmap$145"}] + "fields":[{"name":"0bitmap$147"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$211", @@ -2868,751 +2936,795 @@ }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$212", - "fields":[{"name":"0bitmap$147"}] -}, -{ - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$213", "fields":[{"name":"0bitmap$148"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$214", - "fields":[{"name":"0bitmap$149"}] + "fields":[{"name":"0bitmap$170"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$215", - "fields":[{"name":"0bitmap$150"}] + "fields":[{"name":"0bitmap$156"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$216", - "fields":[{"name":"0bitmap$151"}] + "fields":[{"name":"0bitmap$155"}] +}, +{ + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$217", + "fields":[{"name":"0bitmap$153"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$218", "fields":[{"name":"0bitmap$154"}] }, { - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$219", - "fields":[{"name":"0bitmap$155"}] + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$220", + "fields":[{"name":"0bitmap$166"}] }, { - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$220", - "fields":[{"name":"0bitmap$156"}] + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$221", + "fields":[{"name":"0bitmap$165"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$222", - "fields":[{"name":"0bitmap$283"}] + "fields":[{"name":"0bitmap$157"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$223", - "fields":[{"name":"0bitmap$159"}] + "fields":[{"name":"0bitmap$158"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$224", - "fields":[{"name":"0bitmap$158"}] + "fields":[{"name":"0bitmap$159"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$225", - "fields":[{"name":"0bitmap$161"}] + "fields":[{"name":"0bitmap$160"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$226", - "fields":[{"name":"0bitmap$160"}] + "fields":[{"name":"0bitmap$161"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$227", - "fields":[{"name":"0bitmap$163"}] + "fields":[{"name":"0bitmap$162"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$228", - "fields":[{"name":"0bitmap$162"}] + "fields":[{"name":"0bitmap$163"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$229", - "fields":[{"name":"0bitmap$165"}] + "fields":[{"name":"0bitmap$164"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$23", - "fields":[{"name":"0bitmap$312"}] -}, -{ - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$230", - "fields":[{"name":"0bitmap$164"}] + "fields":[{"name":"0bitmap$325"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$231", - "fields":[{"name":"0bitmap$168"}] + "fields":[{"name":"0bitmap$167"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$232", - "fields":[{"name":"0bitmap$167"}] + "fields":[{"name":"0bitmap$168"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$233", - "fields":[{"name":"0bitmap$166"}] -}, -{ - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$234", - "fields":[{"name":"0bitmap$170"}] + "fields":[{"name":"0bitmap$169"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$235", - "fields":[{"name":"0bitmap$169"}] + "fields":[{"name":"0bitmap$296"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$236", - "fields":[{"name":"0bitmap$173"}] + "fields":[{"name":"0bitmap$172"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$237", - "fields":[{"name":"0bitmap$172"}] + "fields":[{"name":"0bitmap$171"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$238", - "fields":[{"name":"0bitmap$171"}] + "fields":[{"name":"0bitmap$174"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$239", - "fields":[{"name":"0bitmap$188"}] + "fields":[{"name":"0bitmap$173"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$24", - "fields":[{"name":"0bitmap$299"}] + "fields":[{"name":"0bitmap$312"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$240", - "fields":[{"name":"0bitmap$187"}] + "fields":[{"name":"0bitmap$176"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$241", - "fields":[{"name":"0bitmap$177"}] + "fields":[{"name":"0bitmap$175"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$242", - "fields":[{"name":"0bitmap$174"}] + "fields":[{"name":"0bitmap$178"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$243", - "fields":[{"name":"0bitmap$175"}] + "fields":[{"name":"0bitmap$177"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$244", - "fields":[{"name":"0bitmap$176"}] + "fields":[{"name":"0bitmap$181"}] +}, +{ + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$245", + "fields":[{"name":"0bitmap$180"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$246", - "fields":[{"name":"0bitmap$181"}] + "fields":[{"name":"0bitmap$179"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$247", - "fields":[{"name":"0bitmap$180"}] + "fields":[{"name":"0bitmap$183"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$248", - "fields":[{"name":"0bitmap$178"}] + "fields":[{"name":"0bitmap$182"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$249", - "fields":[{"name":"0bitmap$179"}] + "fields":[{"name":"0bitmap$186"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$25", - "fields":[{"name":"0bitmap$300"}] + "fields":[{"name":"0bitmap$313"}] +}, +{ + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$250", + "fields":[{"name":"0bitmap$185"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$251", - "fields":[{"name":"0bitmap$186"}] + "fields":[{"name":"0bitmap$184"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$252", - "fields":[{"name":"0bitmap$182"}] + "fields":[{"name":"0bitmap$201"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$253", - "fields":[{"name":"0bitmap$183"}] + "fields":[{"name":"0bitmap$200"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$254", - "fields":[{"name":"0bitmap$184"}] + "fields":[{"name":"0bitmap$190"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$255", - "fields":[{"name":"0bitmap$185"}] + "fields":[{"name":"0bitmap$187"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$256", - "fields":[{"name":"0bitmap$190"}] + "fields":[{"name":"0bitmap$188"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$257", "fields":[{"name":"0bitmap$189"}] }, -{ - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$258", - "fields":[{"name":"0bitmap$204"}] -}, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$259", - "fields":[{"name":"0bitmap$203"}] + "fields":[{"name":"0bitmap$194"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$26", - "fields":[{"name":"0bitmap$301"}] + "fields":[{"name":"0bitmap$314"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$260", - "fields":[{"name":"0bitmap$194"}] + "fields":[{"name":"0bitmap$193"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$261", - "fields":[{"name":"0bitmap$193"}] + "fields":[{"name":"0bitmap$191"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$262", - "fields":[{"name":"0bitmap$191"}] + "fields":[{"name":"0bitmap$192"}] }, { - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$263", - "fields":[{"name":"0bitmap$192"}] + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$264", + "fields":[{"name":"0bitmap$199"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$265", - "fields":[{"name":"0bitmap$202"}] + "fields":[{"name":"0bitmap$195"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$266", - "fields":[{"name":"0bitmap$195"}] + "fields":[{"name":"0bitmap$196"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$267", - "fields":[{"name":"0bitmap$196"}] + "fields":[{"name":"0bitmap$197"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$268", - "fields":[{"name":"0bitmap$197"}] + "fields":[{"name":"0bitmap$198"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$269", - "fields":[{"name":"0bitmap$198"}] + "fields":[{"name":"0bitmap$203"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$27", - "fields":[{"name":"0bitmap$302"}] + "fields":[{"name":"0bitmap$315"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$270", - "fields":[{"name":"0bitmap$199"}] + "fields":[{"name":"0bitmap$202"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$271", - "fields":[{"name":"0bitmap$200"}] + "fields":[{"name":"0bitmap$217"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$272", - "fields":[{"name":"0bitmap$201"}] + "fields":[{"name":"0bitmap$216"}] +}, +{ + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$273", + "fields":[{"name":"0bitmap$207"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$274", "fields":[{"name":"0bitmap$206"}] }, { - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$276", - "fields":[{"name":"0bitmap$217"}] + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$275", + "fields":[{"name":"0bitmap$204"}] }, { - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$277", - "fields":[{"name":"0bitmap$216"}] + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$276", + "fields":[{"name":"0bitmap$205"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$278", - "fields":[{"name":"0bitmap$210"}] + "fields":[{"name":"0bitmap$215"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$279", - "fields":[{"name":"0bitmap$209"}] + "fields":[{"name":"0bitmap$208"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$28", - "fields":[{"name":"0bitmap$303"}] + "fields":[{"name":"0bitmap$316"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$280", - "fields":[{"name":"0bitmap$207"}] + "fields":[{"name":"0bitmap$209"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$281", - "fields":[{"name":"0bitmap$208"}] -}, -{ - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$283", - "fields":[{"name":"0bitmap$215"}] + "fields":[{"name":"0bitmap$210"}] }, { - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$284", + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$282", "fields":[{"name":"0bitmap$211"}] }, { - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$285", + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$283", "fields":[{"name":"0bitmap$212"}] }, { - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$286", + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$284", "fields":[{"name":"0bitmap$213"}] }, { - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$287", + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$285", "fields":[{"name":"0bitmap$214"}] }, { - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$288", + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$287", "fields":[{"name":"0bitmap$219"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$289", - "fields":[{"name":"0bitmap$218"}] + "fields":[{"name":"0bitmap$230"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$29", - "fields":[{"name":"0bitmap$304"}] + "fields":[{"name":"0bitmap$317"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$290", - "fields":[{"name":"0bitmap$256"}] + "fields":[{"name":"0bitmap$229"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$291", - "fields":[{"name":"0bitmap$255"}] + "fields":[{"name":"0bitmap$223"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$292", - "fields":[{"name":"0bitmap$230"}] + "fields":[{"name":"0bitmap$222"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$293", - "fields":[{"name":"0bitmap$224"}] -}, -{ - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$294", "fields":[{"name":"0bitmap$220"}] }, { - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$295", + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$294", "fields":[{"name":"0bitmap$221"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$296", - "fields":[{"name":"0bitmap$222"}] + "fields":[{"name":"0bitmap$228"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$297", - "fields":[{"name":"0bitmap$223"}] + "fields":[{"name":"0bitmap$224"}] +}, +{ + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$298", + "fields":[{"name":"0bitmap$225"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$299", - "fields":[{"name":"0bitmap$229"}] + "fields":[{"name":"0bitmap$226"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$3", - "fields":[{"name":"0bitmap$320"}] + "fields":[{"name":"0bitmap$333"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$30", - "fields":[{"name":"0bitmap$305"}] + "fields":[{"name":"0bitmap$318"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$300", - "fields":[{"name":"0bitmap$225"}] + "fields":[{"name":"0bitmap$227"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$301", - "fields":[{"name":"0bitmap$226"}] + "fields":[{"name":"0bitmap$232"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$302", - "fields":[{"name":"0bitmap$227"}] + "fields":[{"name":"0bitmap$231"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$303", - "fields":[{"name":"0bitmap$228"}] + "fields":[{"name":"0bitmap$269"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$304", - "fields":[{"name":"0bitmap$254"}] + "fields":[{"name":"0bitmap$268"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$305", - "fields":[{"name":"0bitmap$234"}] + "fields":[{"name":"0bitmap$243"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$306", - "fields":[{"name":"0bitmap$231"}] + "fields":[{"name":"0bitmap$237"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$307", - "fields":[{"name":"0bitmap$232"}] + "fields":[{"name":"0bitmap$233"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$308", - "fields":[{"name":"0bitmap$233"}] + "fields":[{"name":"0bitmap$234"}] }, { - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$31", - "fields":[{"name":"0bitmap$306"}] + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$309", + "fields":[{"name":"0bitmap$235"}] }, { - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$310", - "fields":[{"name":"0bitmap$248"}] + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$31", + "fields":[{"name":"0bitmap$319"}] }, { - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$311", - "fields":[{"name":"0bitmap$235"}] + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$310", + "fields":[{"name":"0bitmap$236"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$312", - "fields":[{"name":"0bitmap$236"}] + "fields":[{"name":"0bitmap$242"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$313", - "fields":[{"name":"0bitmap$237"}] + "fields":[{"name":"0bitmap$238"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$314", - "fields":[{"name":"0bitmap$238"}] + "fields":[{"name":"0bitmap$239"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$315", - "fields":[{"name":"0bitmap$239"}] + "fields":[{"name":"0bitmap$240"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$316", - "fields":[{"name":"0bitmap$240"}] + "fields":[{"name":"0bitmap$241"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$317", - "fields":[{"name":"0bitmap$241"}] + "fields":[{"name":"0bitmap$267"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$318", - "fields":[{"name":"0bitmap$242"}] + "fields":[{"name":"0bitmap$247"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$319", - "fields":[{"name":"0bitmap$243"}] + "fields":[{"name":"0bitmap$244"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$32", - "fields":[{"name":"0bitmap$307"}] + "fields":[{"name":"0bitmap$320"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$320", - "fields":[{"name":"0bitmap$244"}] -}, -{ - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$321", "fields":[{"name":"0bitmap$245"}] }, { - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$322", + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$321", "fields":[{"name":"0bitmap$246"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$323", - "fields":[{"name":"0bitmap$247"}] + "fields":[{"name":"0bitmap$261"}] +}, +{ + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$324", + "fields":[{"name":"0bitmap$248"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$325", - "fields":[{"name":"0bitmap$253"}] + "fields":[{"name":"0bitmap$249"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$326", - "fields":[{"name":"0bitmap$249"}] + "fields":[{"name":"0bitmap$250"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$327", - "fields":[{"name":"0bitmap$250"}] + "fields":[{"name":"0bitmap$251"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$328", - "fields":[{"name":"0bitmap$251"}] + "fields":[{"name":"0bitmap$252"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$329", - "fields":[{"name":"0bitmap$252"}] + "fields":[{"name":"0bitmap$253"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$33", - "fields":[{"name":"0bitmap$308"}] + "fields":[{"name":"0bitmap$321"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$330", - "fields":[{"name":"0bitmap$258"}] + "fields":[{"name":"0bitmap$254"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$331", - "fields":[{"name":"0bitmap$257"}] + "fields":[{"name":"0bitmap$255"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$332", - "fields":[{"name":"0bitmap$260"}] + "fields":[{"name":"0bitmap$256"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$333", - "fields":[{"name":"0bitmap$259"}] + "fields":[{"name":"0bitmap$257"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$334", - "fields":[{"name":"0bitmap$267"}] + "fields":[{"name":"0bitmap$258"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$335", - "fields":[{"name":"0bitmap$266"}] + "fields":[{"name":"0bitmap$259"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$336", - "fields":[{"name":"0bitmap$265"}] -}, -{ - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$337", - "fields":[{"name":"0bitmap$261"}] + "fields":[{"name":"0bitmap$260"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$338", - "fields":[{"name":"0bitmap$262"}] + "fields":[{"name":"0bitmap$266"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$339", - "fields":[{"name":"0bitmap$263"}] + "fields":[{"name":"0bitmap$262"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$34", - "fields":[{"name":"0bitmap$309"}] + "fields":[{"name":"0bitmap$322"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$340", - "fields":[{"name":"0bitmap$264"}] + "fields":[{"name":"0bitmap$263"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$341", - "fields":[{"name":"0bitmap$280"}] + "fields":[{"name":"0bitmap$264"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$342", - "fields":[{"name":"0bitmap$279"}] + "fields":[{"name":"0bitmap$265"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$343", - "fields":[{"name":"0bitmap$270"}] + "fields":[{"name":"0bitmap$271"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$344", - "fields":[{"name":"0bitmap$268"}] + "fields":[{"name":"0bitmap$270"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$345", - "fields":[{"name":"0bitmap$269"}] + "fields":[{"name":"0bitmap$273"}] +}, +{ + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$346", + "fields":[{"name":"0bitmap$272"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$347", - "fields":[{"name":"0bitmap$274"}] + "fields":[{"name":"0bitmap$280"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$348", - "fields":[{"name":"0bitmap$271"}] + "fields":[{"name":"0bitmap$279"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$349", - "fields":[{"name":"0bitmap$272"}] + "fields":[{"name":"0bitmap$278"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$35", - "fields":[{"name":"0bitmap$310"}] + "fields":[{"name":"0bitmap$323"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$350", - "fields":[{"name":"0bitmap$273"}] + "fields":[{"name":"0bitmap$274"}] +}, +{ + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$351", + "fields":[{"name":"0bitmap$275"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$352", - "fields":[{"name":"0bitmap$278"}] + "fields":[{"name":"0bitmap$276"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$353", - "fields":[{"name":"0bitmap$275"}] + "fields":[{"name":"0bitmap$277"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$354", - "fields":[{"name":"0bitmap$276"}] + "fields":[{"name":"0bitmap$293"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$355", - "fields":[{"name":"0bitmap$277"}] + "fields":[{"name":"0bitmap$292"}] +}, +{ + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$356", + "fields":[{"name":"0bitmap$283"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$357", - "fields":[{"name":"0bitmap$282"}] + "fields":[{"name":"0bitmap$281"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$358", - "fields":[{"name":"0bitmap$281"}] + "fields":[{"name":"0bitmap$282"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$36", - "fields":[{"name":"0bitmap$311"}] + "fields":[{"name":"0bitmap$324"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$360", - "fields":[{"name":"0bitmap$359"}] + "fields":[{"name":"0bitmap$287"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$361", - "fields":[{"name":"0bitmap$335"}] + "fields":[{"name":"0bitmap$284"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$362", - "fields":[{"name":"0bitmap$334"}] + "fields":[{"name":"0bitmap$285"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$363", - "fields":[{"name":"0bitmap$350"}] -}, -{ - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$364", - "fields":[{"name":"0bitmap$349"}] + "fields":[{"name":"0bitmap$286"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$365", - "fields":[{"name":"0bitmap$339"}] + "fields":[{"name":"0bitmap$291"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$366", - "fields":[{"name":"0bitmap$338"}] + "fields":[{"name":"0bitmap$288"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$367", - "fields":[{"name":"0bitmap$336"}] + "fields":[{"name":"0bitmap$289"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$368", - "fields":[{"name":"0bitmap$337"}] -}, -{ - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$369", - "fields":[{"name":"0bitmap$348"}] + "fields":[{"name":"0bitmap$290"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$370", - "fields":[{"name":"0bitmap$347"}] + "fields":[{"name":"0bitmap$295"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$371", - "fields":[{"name":"0bitmap$340"}] -}, -{ - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$372", - "fields":[{"name":"0bitmap$341"}] + "fields":[{"name":"0bitmap$294"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$373", - "fields":[{"name":"0bitmap$342"}] + "fields":[{"name":"0bitmap$372"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$374", - "fields":[{"name":"0bitmap$343"}] + "fields":[{"name":"0bitmap$348"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$375", - "fields":[{"name":"0bitmap$344"}] + "fields":[{"name":"0bitmap$347"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$376", - "fields":[{"name":"0bitmap$345"}] + "fields":[{"name":"0bitmap$363"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$377", - "fields":[{"name":"0bitmap$346"}] + "fields":[{"name":"0bitmap$362"}] }, { - "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$379", + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$378", "fields":[{"name":"0bitmap$352"}] }, +{ + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$379", + "fields":[{"name":"0bitmap$351"}] +}, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$38", - "fields":[{"name":"0bitmap$317"}] + "fields":[{"name":"0bitmap$330"}] +}, +{ + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$380", + "fields":[{"name":"0bitmap$349"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$381", - "fields":[{"name":"0bitmap$355"}] + "fields":[{"name":"0bitmap$350"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$382", - "fields":[{"name":"0bitmap$354"}] + "fields":[{"name":"0bitmap$361"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$383", - "fields":[{"name":"0bitmap$353"}] + "fields":[{"name":"0bitmap$360"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$384", - "fields":[{"name":"0bitmap$358"}] + "fields":[{"name":"0bitmap$353"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$385", - "fields":[{"name":"0bitmap$357"}] + "fields":[{"name":"0bitmap$354"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$386", + "fields":[{"name":"0bitmap$355"}] +}, +{ + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$387", "fields":[{"name":"0bitmap$356"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$388", - "fields":[{"name":"0bitmap$360"}] + "fields":[{"name":"0bitmap$357"}] +}, +{ + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$389", + "fields":[{"name":"0bitmap$358"}] +}, +{ + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$390", + "fields":[{"name":"0bitmap$359"}] +}, +{ + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$392", + "fields":[{"name":"0bitmap$365"}] +}, +{ + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$394", + "fields":[{"name":"0bitmap$368"}] +}, +{ + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$395", + "fields":[{"name":"0bitmap$367"}] +}, +{ + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$396", + "fields":[{"name":"0bitmap$366"}] +}, +{ + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$397", + "fields":[{"name":"0bitmap$371"}] +}, +{ + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$398", + "fields":[{"name":"0bitmap$370"}] +}, +{ + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$399", + "fields":[{"name":"0bitmap$369"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$4", - "fields":[{"name":"0bitmap$319"}] + "fields":[{"name":"0bitmap$332"}] +}, +{ + "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$401", + "fields":[{"name":"0bitmap$373"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$43", - "fields":[{"name":"0bitmap$322"}] + "fields":[{"name":"0bitmap$335"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$44", - "fields":[{"name":"0bitmap$321"}] + "fields":[{"name":"0bitmap$334"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$46", - "fields":[{"name":"0bitmap$333"}] + "fields":[{"name":"0bitmap$346"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$47", - "fields":[{"name":"0bitmap$325"}] + "fields":[{"name":"0bitmap$338"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$49", - "fields":[{"name":"0bitmap$332"}] + "fields":[{"name":"0bitmap$345"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$5", - "fields":[{"name":"0bitmap$294"}] + "fields":[{"name":"0bitmap$307"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$50", - "fields":[{"name":"0bitmap$331"}] + "fields":[{"name":"0bitmap$344"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$51", - "fields":[{"name":"0bitmap$330"}] + "fields":[{"name":"0bitmap$343"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$52", - "fields":[{"name":"0bitmap$327"}] + "fields":[{"name":"0bitmap$340"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$54", - "fields":[{"name":"0bitmap$329"}] + "fields":[{"name":"0bitmap$342"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$55", - "fields":[{"name":"0bitmap$328"}] + "fields":[{"name":"0bitmap$341"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$58", @@ -3624,7 +3736,7 @@ }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$6", - "fields":[{"name":"0bitmap$288"}] + "fields":[{"name":"0bitmap$301"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$60", @@ -3668,7 +3780,7 @@ }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$7", - "fields":[{"name":"0bitmap$284"}] + "fields":[{"name":"0bitmap$297"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$70", @@ -3712,7 +3824,7 @@ }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$8", - "fields":[{"name":"0bitmap$285"}] + "fields":[{"name":"0bitmap$298"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$80", @@ -3736,7 +3848,7 @@ }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$86", - "fields":[{"name":"0bitmap$82"}] + "fields":[{"name":"0bitmap$95"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$87", @@ -3752,7 +3864,7 @@ }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$9", - "fields":[{"name":"0bitmap$286"}] + "fields":[{"name":"0bitmap$299"}] }, { "name":"fpp.compiler.codegen.AstJsonEncoder$$anon$90", diff --git a/compiler/lib/src/main/scala/analysis/Analysis.scala b/compiler/lib/src/main/scala/analysis/Analysis.scala index 168f3014c3..68fdce302d 100644 --- a/compiler/lib/src/main/scala/analysis/Analysis.scala +++ b/compiler/lib/src/main/scala/analysis/Analysis.scala @@ -88,6 +88,14 @@ case class Analysis( tlmPacketSet: Option[TlmPacketSet] = None, /** The mapping from nodes to implied uses */ impliedUseMap: Map[AstNode.Id, ImpliedUse.Uses] = Map(), + /** Node ID of the template expansion currently */ + template: Option[AstNode.Id] = None, + /** Maps template expansion AST nodes to their */ + templateExpansionMap: Map[AstNode.Id, TemplateExpansion] = Map(), + /** Tracks the current expansion we are analyzing inside of */ + templateExpansion: Option[TemplateExpansion] = None, + /** Node ID of the template definition we are currently cloning inside of */ + templateDefinition: Option[AstNode.Id] = None, /** The set of symbols defined with a dictionary specifier */ dictionarySymbolSet: Set[Symbol] = Set(), /** The mapping from system symbols to systems */ @@ -294,6 +302,7 @@ case class Analysis( this.useDefMap(id) match { case cis: Symbol.ComponentInstance => Right(cis) case ts: Symbol.Topology => Right(ts) + case ps: Symbol.TemplateInterfaceArg => Right(ps) case s => Left( SemanticError.InvalidSymbol( s.getUnqualifiedName, @@ -306,11 +315,20 @@ case class Analysis( /** Gets an interface instance from the topology or component instance map */ def getInterfaceInstance(id: AstNode.Id): Result.Result[InterfaceInstance] = - for (iis <- getInterfaceInstanceSymbol(id)) - yield iis match { - case cis: Symbol.ComponentInstance => InterfaceInstance.fromComponentInstance(this.componentInstanceMap(cis)) - case top: Symbol.Topology => InterfaceInstance.fromTopology(this.topologyMap(top)) + for { + iis <- getInterfaceInstanceSymbol(id) + ii <- { + iis match { + case cis: Symbol.ComponentInstance => Right(InterfaceInstance.fromComponentInstance(this.componentInstanceMap(cis))) + case top: Symbol.Topology => Right(InterfaceInstance.fromTopology(this.topologyMap(top))) + case ts: Symbol.TemplateInterfaceArg => + for { + ii <- getInterfaceInstance(ts.value.id) + iface <- this.getInterface(ts.paramDef.interface.id) + } yield InterfaceInstance.fromTemplateArg(ts.paramDef, iface, ii) + } } + } yield ii /** Gets an interface symbol from use-def map */ def getInterfaceSymbol(id: AstNode.Id): Result.Result[Symbol.Interface] = @@ -331,6 +349,20 @@ case class Analysis( for (cis <- getInterfaceSymbol(id)) yield this.interfaceMap(cis) + /** Gets a template symbol from use-def map */ + def getTemplateSymbol(id: AstNode.Id): Result.Result[Symbol.Template] = + this.useDefMap(id) match { + case ts: Symbol.Template => Right(ts) + case s => Left( + SemanticError.InvalidSymbol( + s.getUnqualifiedName, + Locations.get(id), + "not a template symbol", + s.getLoc + ) + ) + } + /** Gets a topology symbol from use-def map */ def getTopologySymbol(id: AstNode.Id): Result.Result[Symbol.Topology] = this.useDefMap(id) match { diff --git a/compiler/lib/src/main/scala/analysis/Analyzers/BasicUseAnalyzer.scala b/compiler/lib/src/main/scala/analysis/Analyzers/BasicUseAnalyzer.scala index 52ddae861f..3728336260 100644 --- a/compiler/lib/src/main/scala/analysis/Analyzers/BasicUseAnalyzer.scala +++ b/compiler/lib/src/main/scala/analysis/Analyzers/BasicUseAnalyzer.scala @@ -27,9 +27,27 @@ trait BasicUseAnalyzer extends TypeExpressionAnalyzer { /** A use of a type definition */ def typeUse(a: Analysis, node: AstNode[Ast.TypeName], use: Name.Qualified): Result = default(a) - /** A use of a state machine definition*/ + /** A use of a state machine definition */ def stateMachineUse(a: Analysis, node: AstNode[Ast.QualIdent], use: Name.Qualified): Result = default(a) + /** A use of a template definition */ + def templateUse(a: Analysis, node: AstNode[Ast.QualIdent], use: Name.Qualified): Result = default(a) + + /** A use of a template constant parameter */ + override def templateConstantArg(a: Analysis, arg: Symbol.TemplateConstantArg) = { + exprNode(a, arg.value) + } + + /** A use of a template type parameter */ + override def templateTypeArg(a: Analysis, arg: Symbol.TemplateTypeArg) = { + typeNameNode(a, arg.value) + } + + /** A use of a template interface parameter */ + override def templateInterfaceArg(a: Analysis, arg: Symbol.TemplateInterfaceArg) = { + qualIdentNode (interfaceInstanceUse) (a, arg.value) + } + /** An implied constant use */ def impliedConstantUse(a: Analysis, iu: ImpliedUse) = { val result = for { @@ -206,33 +224,70 @@ trait BasicUseAnalyzer extends TypeExpressionAnalyzer { portInstanceIdentifierNode(a, data.underlyingPort) } + private def portInstanceIdentifierNode(a: Analysis, node: AstNode[Ast.PortInstanceIdentifier]): Result = + qualIdentNode (interfaceInstanceUse) (a, node.data.interfaceInstance) + override def typeNameQualIdentNode(a: Analysis, node: AstNode[Ast.TypeName], tn: Ast.TypeNameQualIdent) = { val use = Name.Qualified.fromQualIdent(tn.name.data) typeUse(a, node, use) } - override def typeNameStringNode( + override def specTemplateExpandAnnotatedNode( a: Analysis, - node: AstNode[Ast.TypeName], - tn: Ast.TypeNameString + aNode: Ast.Annotated[AstNode[Ast.SpecTemplateExpand]] ) = { - val id = node.id + val (_, node, _) = aNode + val data = node.data for { - a <- visitImpliedUses(a, id) - a <- super.typeNameStringNode(a, node, tn) + a <- templateUse( + a, + data.template, + Name.Qualified.fromQualIdent(data.template.data) + ) + + a <- super.specTemplateExpandAnnotatedNode(a, aNode) } yield a } - private def portInstanceIdentifierNode(a: Analysis, node: AstNode[Ast.PortInstanceIdentifier]): Result = - qualIdentNode (interfaceInstanceUse) (a, node.data.interfaceInstance) + override def defModuleTemplateAnnotatedNode( + a: Analysis, + aNode: Ast.Annotated[AstNode[Ast.DefModuleTemplate]] + ) = { + def templateParam( + a: Analysis, + pNode: Ast.Annotated[AstNode[Ast.TemplateParam]] + ) = { + val (_, node, _) = pNode + node.data match { + case Ast.TemplateParam.Constant(_, tn) => typeNameNode(a, tn) + case Ast.TemplateParam.Interface(_, interface) => + qualIdentNode(interfaceUse)(a, interface) + case _: Ast.TemplateParam.Type => Right(a) + } + } - private def qualIdentNode + Result.foldLeft (aNode._2.data.params) (a) (templateParam) + } + + protected def qualIdentNode (f: (Analysis, AstNode[Ast.QualIdent], Name.Qualified) => Result) (a: Analysis, qualIdent: AstNode[Ast.QualIdent]): Result = { val use = Name.Qualified.fromQualIdent(qualIdent.data) f(a, qualIdent, use) } + override def typeNameStringNode( + a: Analysis, + node: AstNode[Ast.TypeName], + tn: Ast.TypeNameString + ) = { + val id = node.id + for { + a <- visitImpliedUses(a, id) + a <- super.typeNameStringNode(a, node, tn) + } yield a + } + private def tlmChannelIdentifierNode ( a: Analysis, node: AstNode[Ast.TlmChannelIdentifier] diff --git a/compiler/lib/src/main/scala/analysis/Analyzers/ModuleAnalyzer.scala b/compiler/lib/src/main/scala/analysis/Analyzers/ModuleAnalyzer.scala index 8cf78d705b..10604d50f0 100644 --- a/compiler/lib/src/main/scala/analysis/Analyzers/ModuleAnalyzer.scala +++ b/compiler/lib/src/main/scala/analysis/Analyzers/ModuleAnalyzer.scala @@ -8,13 +8,30 @@ trait ModuleAnalyzer extends Analyzer { override def defModuleAnnotatedNode( a: Analysis, - node: Ast.Annotated[AstNode[Ast.DefModule]] + aNode: Ast.Annotated[AstNode[Ast.DefModule]] ) = { - val (_, node1, _) = node - val Ast.DefModule(name, members) = node1.data + val (_, node, _) = aNode + val Ast.DefModule(name, members) = node.data val a1 = a.copy(scopeNameList = name :: a.scopeNameList) for { a2 <- visitList(a1, members, matchModuleMember) } yield a2.copy(scopeNameList = a.scopeNameList) } + override def specTemplateExpandAnnotatedNode( + a: Analysis, + aNode: Ast.Annotated[AstNode[Ast.SpecTemplateExpand]] + ) = { + val (_, node, _) = aNode + // Check if this template has been expanded + node.data.members match { + case Some(members) => { + // Mark the analysis with the proper expansion + val a1 = a.copy(templateExpansion = Some(a.templateExpansionMap(node.id))) + for { a2 <- visitList(a1, members, matchModuleMember) } + yield a2.copy(templateExpansion = a.templateExpansion) + } + case None => Right(a) + } + } + } diff --git a/compiler/lib/src/main/scala/analysis/Analyzers/TemplateExpandAnalyzer.scala b/compiler/lib/src/main/scala/analysis/Analyzers/TemplateExpandAnalyzer.scala new file mode 100644 index 0000000000..8d268d0dde --- /dev/null +++ b/compiler/lib/src/main/scala/analysis/Analyzers/TemplateExpandAnalyzer.scala @@ -0,0 +1,45 @@ +package fpp.compiler.analysis + +import fpp.compiler.ast._ +import fpp.compiler.util._ + +/** Analyze template expansions members */ +trait TemplateExpandAnalyzer extends Analyzer { + + /** A use of a template constant argument */ + def templateConstantArg(a: Analysis, arg: Symbol.TemplateConstantArg) = default(a) + + /** A use of a template type parameter */ + def templateTypeArg(a: Analysis, arg: Symbol.TemplateTypeArg) = default(a) + + /** A use of a template interface parameter */ + def templateInterfaceArg(a: Analysis, arg: Symbol.TemplateInterfaceArg) = default(a) + + def templateParam(a: Analysis, arg: TemplateArgSymbol) = { + arg match { + case param: Symbol.TemplateConstantArg => templateConstantArg(a, param) + case param: Symbol.TemplateTypeArg => templateTypeArg(a, param) + case param: Symbol.TemplateInterfaceArg => templateInterfaceArg(a, param) + } + } + + override def specTemplateExpandAnnotatedNode( + a: Analysis, + aNode: Ast.Annotated[AstNode[Ast.SpecTemplateExpand]] + ) = { + val (_, node, _) = aNode + val data = node.data + for { + + // Analyze the parameters on this template expansion. + a <- a.templateExpansionMap.get(node.id) match { + case Some(expansion) => + Result.foldLeft (expansion.params.values.toList) (a) (templateParam) + case None => Right(a) + } + + a <- super.specTemplateExpandAnnotatedNode(a, aNode) + } yield a + } + +} diff --git a/compiler/lib/src/main/scala/analysis/Analyzers/TypeExpressionAnalyzer.scala b/compiler/lib/src/main/scala/analysis/Analyzers/TypeExpressionAnalyzer.scala index 49453d8d0f..baede0a8e0 100644 --- a/compiler/lib/src/main/scala/analysis/Analyzers/TypeExpressionAnalyzer.scala +++ b/compiler/lib/src/main/scala/analysis/Analyzers/TypeExpressionAnalyzer.scala @@ -12,6 +12,7 @@ trait TypeExpressionAnalyzer with StateMachineAnalyzer with TlmPacketSetAnalyzer with TopologyAnalyzer + with TemplateExpandAnalyzer { def defEnumConstantAnnotatedNode(a: Analysis, node: Ast.Annotated[AstNode[Ast.DefEnumConstant]]): Result = { @@ -296,4 +297,22 @@ trait TypeExpressionAnalyzer } yield a } + override def defModuleTemplateAnnotatedNode(a: Analysis, aNode: Ast.Annotated[AstNode[Ast.DefModuleTemplate]]) = { + val (_, node, _) = aNode + val data = node.data + Result.foldLeft(data.params) (a) ((a, param) => { + param._2.data match { + case Ast.TemplateParam.Constant(name, typeName) => + typeNameNode(a, typeName) + case _ => Right(a) + } + }) + } + + override def templateConstantArg(a: Analysis, arg: Symbol.TemplateConstantArg) = { + for { + a <- exprNode(a, arg.value) + } yield a + } + } diff --git a/compiler/lib/src/main/scala/analysis/Analyzers/UseAnalyzer.scala b/compiler/lib/src/main/scala/analysis/Analyzers/UseAnalyzer.scala index afa08dbb03..0da8bda3dc 100644 --- a/compiler/lib/src/main/scala/analysis/Analyzers/UseAnalyzer.scala +++ b/compiler/lib/src/main/scala/analysis/Analyzers/UseAnalyzer.scala @@ -26,7 +26,7 @@ trait UseAnalyzer extends BasicUseAnalyzer { override def exprDotNode(a: Analysis, node: AstNode[Ast.Expr], e: Ast.ExprDot) = a.useDefMap.get(node.id) match { - case Some(Symbol.Constant(_) | Symbol.EnumConstant(_)) => + case Some(Symbol.Constant(_) | Symbol.EnumConstant(_) | Symbol.TemplateConstantArg(_, _)) => // e is a use, so it must be a constant use val use = getQualifiedName(e) constantUse(a, node, use) diff --git a/compiler/lib/src/main/scala/analysis/CheckSemantics/CheckExprTypes.scala b/compiler/lib/src/main/scala/analysis/CheckSemantics/CheckExprTypes.scala index 5c1dba4f1a..0c7651a1b9 100644 --- a/compiler/lib/src/main/scala/analysis/CheckSemantics/CheckExprTypes.scala +++ b/compiler/lib/src/main/scala/analysis/CheckSemantics/CheckExprTypes.scala @@ -11,12 +11,15 @@ object CheckExprTypes extends UseAnalyzer { val symbol = a.useDefMap(node.id) for { a <- symbol match { - // Unqualified constant symbol: visit the constant definition + // Constant symbol: visit the constant definition // to ensure it has a type case Symbol.Constant(node) => defConstantAnnotatedNode(a, node) - // Unqualified enum symbol: if this is in scope, then we are in + // Enum symbol: if this is in scope, then we are in // the enum definition, so it already has a type case Symbol.EnumConstant(node) => Right(a) + // Template constant argument symbol: we are already inside the template expansion + // therefore this already has a type + case Symbol.TemplateConstantArg(_, _) => Right(a) // Invalid use of a symbol in an expression case _ => Left(SemanticError.InvalidSymbol( @@ -279,6 +282,23 @@ object CheckExprTypes extends UseAnalyzer { } yield a.assignType(node -> t) } + override def templateConstantArg( + a: Analysis, + arg: Symbol.TemplateConstantArg + ) = { + val Symbol.TemplateConstantArg(paramDef, value) = arg + for { + // Visit the literal value + a <- super.templateConstantArg(a, arg) + + // Make sure the value can be converted into the type in the template + ty <- Analysis.convertTypes( + Locations.get(value.id), + a.typeMap(value.id) -> a.typeMap(paramDef.typeName.id) + ) + } yield a.assignType(value -> ty) + } + override def specCommandAnnotatedNode(a: Analysis, aNode: Ast.Annotated[AstNode[Ast.SpecCommand]]) = { val (_, node, _) = aNode val data = node.data diff --git a/compiler/lib/src/main/scala/analysis/CheckSemantics/CheckSemantics.scala b/compiler/lib/src/main/scala/analysis/CheckSemantics/CheckSemantics.scala index c542847ed7..ecf256f563 100644 --- a/compiler/lib/src/main/scala/analysis/CheckSemantics/CheckSemantics.scala +++ b/compiler/lib/src/main/scala/analysis/CheckSemantics/CheckSemantics.scala @@ -10,6 +10,9 @@ object CheckSemantics { def tuList(a: Analysis, tul: List[Ast.TransUnit]): Result.Result[Analysis] = { for { a <- EnterSymbols.visitList(a, tul, EnterSymbols.transUnit) + a_tul <- ResolveTemplates.transUnit(a, tul) + a <- Right(a_tul._1) + tul <- Right(a_tul._2) a <- ConstructImpliedUseMap.visitList(a, tul, ConstructImpliedUseMap.transUnit) a <- CheckUses.visitList(a, tul, CheckUses.transUnit) _ <- CheckUseDefCycles.visitList(a, tul, CheckUseDefCycles.transUnit) @@ -19,6 +22,7 @@ object CheckSemantics { a <- EvalImpliedEnumConsts.visitList(a, tul, EvalImpliedEnumConsts.transUnit) a <- EvalConstantExprs.visitList(a, tul, EvalConstantExprs.transUnit) a <- FinalizeTypeDefs.visitList(a, tul, FinalizeTypeDefs.transUnit) + a <- FinalizeConstantExprs.visitList(a, tul, FinalizeConstantExprs.transUnit) _ <- CheckFrameworkConstantValues.check(a) a <- CheckPortDefs.visitList(a, tul, CheckPortDefs.transUnit) a <- CheckInterfaceDefs.visitList(a, tul, CheckInterfaceDefs.transUnit) @@ -28,6 +32,7 @@ object CheckSemantics { a <- CheckStateMachineDefs.visitList(a, tul, CheckStateMachineDefs.transUnit) a <- CheckTopologyInstances.visitList(a, tul, CheckTopologyInstances.transUnit) a <- CheckTopologyDefs.visitList(a, tul, CheckTopologyDefs.transUnit) + _ <- CheckTemplateInterfaceArgs.check(a) a <- BuildSpecLocMap.visitList(a, tul, BuildSpecLocMap.transUnit) a <- CheckSpecLocs.visitList(a, tul, CheckSpecLocs.transUnit) a <- CheckDictionaryDefs.visitList(a, tul, CheckDictionaryDefs.transUnit) diff --git a/compiler/lib/src/main/scala/analysis/CheckSemantics/CheckTemplateInterfaceArgs.scala b/compiler/lib/src/main/scala/analysis/CheckSemantics/CheckTemplateInterfaceArgs.scala new file mode 100644 index 0000000000..4476b86d77 --- /dev/null +++ b/compiler/lib/src/main/scala/analysis/CheckSemantics/CheckTemplateInterfaceArgs.scala @@ -0,0 +1,35 @@ +package fpp.compiler.analysis + +import fpp.compiler.ast._ +import fpp.compiler.util._ + +object CheckTemplateInterfaceArgs +{ + + /** Check all interface parameters template expansions implement the proper interfaces */ + def check(a: Analysis): Result.Result[Unit] = + Result.foldLeft(a.templateExpansionMap.toList) (()) ((_, expansion) => { + val (expansionNodeId, t) = expansion + Result.foldLeft(t.params.values.collect { + case arg @ Symbol.TemplateInterfaceArg(_, _) => arg + })(())((_, arg) => { + for { + // Resolve the concrete instance supplied as the argument + instance <- a.getInterfaceInstance(arg.value.id) + // Resolve the interface declared for this parameter + iface <- a.getInterface(arg.paramDef.interface.id) + // Make sure the concrete instance provides everything the declared + // interface requires (the declared interface must be a sub-interface + // of the concrete instance's port interface) + _ <- instance.getInterface.implements(iface.portInterface) match { + case Right(_) => Right(()) + case Left(err) => Left(SemanticError.InterfaceImplements( + Locations.get(arg.value.id), + err + )) + } + } yield (()) + }) + }) + +} diff --git a/compiler/lib/src/main/scala/analysis/CheckSemantics/CheckTemplateUses.scala b/compiler/lib/src/main/scala/analysis/CheckSemantics/CheckTemplateUses.scala new file mode 100644 index 0000000000..8adff45ff7 --- /dev/null +++ b/compiler/lib/src/main/scala/analysis/CheckSemantics/CheckTemplateUses.scala @@ -0,0 +1,50 @@ +package fpp.compiler.analysis + +import fpp.compiler.ast._ +import fpp.compiler.util._ + +object CheckTemplateUses + extends Analyzer + with ModuleAnalyzer +{ + val helpers = CheckUsesHelpers( + (a: Analysis) => a.nestedScope, + (a: Analysis, ns: NestedScope) => a.copy(nestedScope = ns), + (a: Analysis) => a.symbolScopeMap, + (a: Analysis) => a.useDefMap, + (a: Analysis, udm: Map[AstNode.Id, Symbol]) => a.copy(useDefMap = udm) + ) + + override def defModuleAnnotatedNode( + a: Analysis, + aNode: Ast.Annotated[AstNode[Ast.DefModule]] + ) = { + val node = aNode._2 + val Ast.DefModule(name, members) = node.data + for { + symbol <- { + val mapping = a.nestedScope.get (NameGroup.Value) _ + helpers.getSymbolForName(NameGroup.Value, mapping)(node.id, name) + } + a <- { + val scope = a.symbolScopeMap(symbol) + val newNestedScope = a.nestedScope.push(scope) + val a1 = a.copy(nestedScope = newNestedScope) + visitList(a1, members, matchModuleMember) + } + } + yield a.copy(nestedScope = a.nestedScope.pop) + } + + override def specTemplateExpandAnnotatedNode( + a: Analysis, + aNode: Ast.Annotated[AstNode[Ast.SpecTemplateExpand]] + ) = { + val (_, node, _) = aNode + val data = node.data + for { + a <- super.specTemplateExpandAnnotatedNode(a, aNode) + a <- helpers.visitQualIdentNode (NameGroup.Template) (a, data.template) + } yield a + } +} diff --git a/compiler/lib/src/main/scala/analysis/CheckSemantics/CheckUseDefCycles.scala b/compiler/lib/src/main/scala/analysis/CheckSemantics/CheckUseDefCycles.scala index 9e0c2fc7d9..3f45f2510a 100644 --- a/compiler/lib/src/main/scala/analysis/CheckSemantics/CheckUseDefCycles.scala +++ b/compiler/lib/src/main/scala/analysis/CheckSemantics/CheckUseDefCycles.scala @@ -49,6 +49,18 @@ object CheckUseDefCycles extends UseAnalyzer { visitDefPost(a, symbol, node, super.defInterfaceAnnotatedNode) } + override def templateConstantArg(a: Analysis, arg: Symbol.TemplateConstantArg) = { + visitDefPost(a, arg, arg, super.templateConstantArg) + } + + override def templateTypeArg(a: Analysis, arg: Symbol.TemplateTypeArg) = { + visitDefPost(a, arg, arg, super.templateTypeArg) + } + + override def templateInterfaceArg(a: Analysis, arg: Symbol.TemplateInterfaceArg) = { + visitDefPost(a, arg, arg, super.templateInterfaceArg) + } + override def interfaceUse(a: Analysis, node: AstNode[Ast.QualIdent], use: Name.Qualified) = visitUse(a, node, use) @@ -77,6 +89,9 @@ object CheckUseDefCycles extends UseAnalyzer { case Symbol.Interface(node) => defInterfaceAnnotatedNode(a, node) case Symbol.Struct(node) => defStructAnnotatedNode(a, node) case Symbol.Topology(node) => defTopologyAnnotatedNode(a, node) + case arg: Symbol.TemplateConstantArg => templateConstantArg(a, arg) + case arg: Symbol.TemplateTypeArg => templateTypeArg(a, arg) + case arg: Symbol.TemplateInterfaceArg => templateInterfaceArg(a, arg) case _ => Right(a) } } diff --git a/compiler/lib/src/main/scala/analysis/CheckSemantics/CheckUses.scala b/compiler/lib/src/main/scala/analysis/CheckSemantics/CheckUses.scala index 303a80a39f..91f228c762 100644 --- a/compiler/lib/src/main/scala/analysis/CheckSemantics/CheckUses.scala +++ b/compiler/lib/src/main/scala/analysis/CheckSemantics/CheckUses.scala @@ -2,8 +2,6 @@ package fpp.compiler.analysis import fpp.compiler.ast._ import fpp.compiler.util._ -import fpp.compiler.ast.Ast.Expr -import fpp.compiler.ast.Ast.ExprIdent /** Match uses to their definitions */ object CheckUses extends BasicUseAnalyzer { @@ -42,6 +40,7 @@ object CheckUses extends BasicUseAnalyzer { // Left side is a constant, we are selecting a member of this constant // we are not creating another use. case Some(Symbol.Constant(_)) => Right(None) + case Some(Symbol.TemplateConstantArg(_, _)) => Right(None) // The left side is some symbol other than a constant (a qualifier), // look up this symbol and add it to the use-def entries @@ -156,6 +155,55 @@ object CheckUses extends BasicUseAnalyzer { yield a.copy(nestedScope = a.nestedScope.pop) } + override def specTemplateExpandAnnotatedNode( + a: Analysis, + aNode: Ast.Annotated[AstNode[Ast.SpecTemplateExpand]] + ) = { + val node = aNode._2 + val expansion = a.templateExpansionMap(node.id) + val Right(tmpl) = a.getTemplateSymbol(node.data.template.id) + val scope = expansion.scope + + // We do use-analysis on the scope of the definition + param scope + // This is a bit unorthodox but we need to build a new nested scope from scratch + def getNestedScope(symbol: Symbol): NestedScope = { + val parentScope = a.parentSymbolMap.get(symbol) match { + case None => a.nestedScope.globalScope + case Some(parent) => getNestedScope(parent) + } + + a.symbolScopeMap.get(symbol) match { + case None => parentScope + case Some(symbolScope) => parentScope.push(symbolScope) + } + } + + val oldNestedScope = a.nestedScope + val newNestedScope = getNestedScope(tmpl) + .push(expansion.paramScope) + .push(expansion.scope) + + val Some(members) = node.data.members + + for { + // Analyze the inside of the template expansion + a <- { + val a1 = a.copy(nestedScope = newNestedScope) + visitList(a1, members, matchModuleMember) + } + + // Reset the use analysis scope back to the outer scope + a <- Right(a.copy(nestedScope = oldNestedScope)) + + // Analyze the parameter list + a <- { + val expansion = a.templateExpansionMap(node.id) + Result.foldLeft (expansion.params.values.toList) (a) (templateParam) + } + } + yield a + } + override def defStateMachineAnnotatedNode(a: Analysis, aNode: Ast.Annotated[AstNode[Ast.DefStateMachine]]) = { val (_, node, _) = aNode val data = node.data @@ -179,6 +227,9 @@ object CheckUses extends BasicUseAnalyzer { override def interfaceUse(a: Analysis, node: AstNode[Ast.QualIdent], use: Name.Qualified) = helpers.visitQualIdentNode (NameGroup.PortInterface) (a, node) + override def templateUse(a: Analysis, node: AstNode[Ast.QualIdent], use: Name.Qualified) = + helpers.visitQualIdentNode (NameGroup.Template) (a, node) + override def typeUse(a: Analysis, node: AstNode[Ast.TypeName], use: Name.Qualified) = { val data = node.data data match { diff --git a/compiler/lib/src/main/scala/analysis/CheckSemantics/ConstructImpliedUseMap.scala b/compiler/lib/src/main/scala/analysis/CheckSemantics/ConstructImpliedUseMap.scala index ab82f8e164..f807c84c8c 100644 --- a/compiler/lib/src/main/scala/analysis/CheckSemantics/ConstructImpliedUseMap.scala +++ b/compiler/lib/src/main/scala/analysis/CheckSemantics/ConstructImpliedUseMap.scala @@ -6,6 +6,16 @@ import fpp.compiler.util._ /** Construct the implied use map */ object ConstructImpliedUseMap extends TypeExpressionAnalyzer { + override def defModuleTemplateAnnotatedNode( + a: Analysis, + aNode: Ast.Annotated[AstNode[Ast.DefModuleTemplate]] + ) = { + for { + a <- super.defModuleTemplateAnnotatedNode(a, aNode) + a <- visitList(a, aNode._2.data.members, matchModuleMember) + } yield a + } + override def specPortInstanceAnnotatedNode( a: Analysis, aNode: Ast.Annotated[AstNode[Ast.SpecPortInstance]] diff --git a/compiler/lib/src/main/scala/analysis/CheckSemantics/EnterSymbols.scala b/compiler/lib/src/main/scala/analysis/CheckSemantics/EnterSymbols.scala index bceb967076..df62c55431 100644 --- a/compiler/lib/src/main/scala/analysis/CheckSemantics/EnterSymbols.scala +++ b/compiler/lib/src/main/scala/analysis/CheckSemantics/EnterSymbols.scala @@ -233,6 +233,25 @@ object EnterSymbols } } + override def defModuleTemplateAnnotatedNode( + a: Analysis, + aNode: Ast.Annotated[AstNode[Ast.DefModuleTemplate]] + ) = { + val (_, node, _) = aNode + val data = node.data + val name = data.name + val symbol = Symbol.Template(aNode) + val nestedScope = a.nestedScope + + for (nestedScope <- nestedScope.put(NameGroup.Template)(name, symbol)) + yield updateMap(a, symbol).copy(nestedScope = nestedScope) + } + + override def specTemplateExpandAnnotatedNode( + a: Analysis, + aNode: Ast.Annotated[AstNode[Ast.SpecTemplateExpand]] + ) = Right(a) + override def defPortAnnotatedNode( a: Analysis, aNode: Ast.Annotated[AstNode[Ast.DefPort]] diff --git a/compiler/lib/src/main/scala/analysis/CheckSemantics/EnterTemplateSymbols.scala b/compiler/lib/src/main/scala/analysis/CheckSemantics/EnterTemplateSymbols.scala new file mode 100644 index 0000000000..16033cb939 --- /dev/null +++ b/compiler/lib/src/main/scala/analysis/CheckSemantics/EnterTemplateSymbols.scala @@ -0,0 +1,231 @@ +package fpp.compiler.analysis + +import fpp.compiler.ast._ +import fpp.compiler.util._ + +/** + * Enter symbols from new template expansions + * (as well as the template expansion itself) + */ +object EnterTemplateSymbols + extends Analyzer + with ModuleAnalyzer +{ + override def defModuleAnnotatedNode( + a: Analysis, + aNode: Ast.Annotated[AstNode[Ast.DefModule]] + ) = { + val (_, node, _) = aNode + val Ast.DefModule(name, members) = node.data + val oldScopeNameList = a.scopeNameList + val newScopeNameList = name :: oldScopeNameList + val parentSymbol = a.parentSymbol + val a1 = a.copy(scopeNameList = newScopeNameList) + for { + triple <- a1.nestedScope.innerScope.get (NameGroup.Value) (name) match { + case Some(symbol: Symbol.Module) => + // We found a module symbol with the same name at the current level. + // Re-open the scope. + val scope = a1.symbolScopeMap(symbol) + Right((a1, symbol, scope)) + case Some(symbol) => + // We found a non-module symbol with the same name at the current level. + // This is an error. + val error = SemanticError.RedefinedSymbol( + name, + Locations.get(node.id), + symbol.getLoc + ) + Left(error) + case None => + // We did not find a symbol with the same name at the current level. + // Create a new module symbol now. + val symbol = Symbol.Module(aNode) + val scope = Scope.empty + for { + nestedScope <- Result.foldLeft (NameGroup.groups) (a1.nestedScope) ( + (ns, ng) => ns.put (ng) (name, symbol) + ) + } + yield { + val a = a1.copy(nestedScope = nestedScope) + (a, symbol, scope) + } + } + a <- { + val (a2, symbol, scope) = triple + val a3 = a2.copy( + nestedScope = a2.nestedScope.push(scope), + parentSymbol = Some(symbol) + ) + visitList(a3, members, matchModuleMember) + } + } + yield { + val symbol = triple._2 + val scope = a.nestedScope.innerScope + val newSymbolScopeMap = a.symbolScopeMap + (symbol -> scope) + val a1 = a.copy( + scopeNameList = oldScopeNameList, + nestedScope = a.nestedScope.pop, + parentSymbol = parentSymbol, + symbolScopeMap = newSymbolScopeMap + ) + updateMap(a1, symbol) + } + } + + override def specTemplateExpandAnnotatedNode( + a: Analysis, + aNode: Ast.Annotated[AstNode[Ast.SpecTemplateExpand]] + ) = { + val (_, node, _) = aNode + val data = node.data + + (data.members, a.templateExpansionMap.get(node.id)) match { + case (None, _) => { + // This template has not been expanded yet, can't do much + Right(a) + } + case (Some(members), Some(expansion)) => { + // We already entered this expansion + // Make sure we recursively enter all the symbols + // We still need to update the scope on re-expand + for { + a <- Right(a.copy(nestedScope = a.nestedScope.push(expansion.scope))) + a <- this.visitList(a, members, this.matchModuleMember) + } yield { + val templateScope = a.nestedScope.innerScope + val nestedScope = a.nestedScope.pop + + a.copy( + nestedScope = nestedScope, + templateExpansionMap = a.templateExpansionMap + ( + node.id -> expansion.copy(scope = templateScope) + ) + ) + } + } + case (Some(members), None) => { + val tmpl = a.getTemplateSymbol(data.template.id) match { + case Right(tmpl) => tmpl + case Left(error) => throw InternalError( + s"template symbol should already be resolved: $error" + ) + } + val defParams = tmpl.node._2.data.params + + // Build the parameter set of the expansion + for { + // Make sure the lengths line up + _ <- { + if data.args.length == defParams.length + then Right(()) + else Left(SemanticError.MismatchedTemplateParameters( + Locations.get(node.id), + Locations.get(tmpl.node._2.id), + data.args.length, + defParams.length + )) + } + + // Create the parameter symbols by mapping each argument together with the definition + // Make sure each argument is of the proper type + params <- { + Result.map[ + (AstNode[Ast.TemplateArg], Ast.Annotated[AstNode[Ast.TemplateParam]]), + TemplateArgSymbol + ](data.args zip defParams, (valueParam, defParam) => { + (defParam._2.data, valueParam.data) match { + case (defParam: Ast.TemplateParam.Constant, Ast.TemplateArg.Constant(value)) => + Right(Symbol.TemplateConstantArg(defParam, value)) + case (defParam: Ast.TemplateParam.Type, Ast.TemplateArg.Type(typeName)) => + Right(Symbol.TemplateTypeArg(defParam, typeName)) + case (defParam: Ast.TemplateParam.Interface, Ast.TemplateArg.Interface(instance)) => + Right(Symbol.TemplateInterfaceArg(defParam, instance)) + case (dp, vp) => { + val (name, defKind) = dp match { + case Ast.TemplateParam.Constant(name, _) => (name, "constant") + case Ast.TemplateParam.Type(name) => (name, "type") + case Ast.TemplateParam.Interface(name, _) => (name, "interface") + } + + val valKind = vp match { + case Ast.TemplateArg.Constant(_) => "constant" + case Ast.TemplateArg.Type(_) => "type" + case Ast.TemplateArg.Interface(_) => "interface" + } + + Left(SemanticError.InvalidTemplateParameter( + name, + Locations.get(valueParam.id), + Locations.get(defParam._2.id), + s"expected ${defKind} template parameter, got ${valKind} parameter" + )) + } + } + }) + } + + // Enter the template parameters into a new scope + nestedScope <- { + val scope = Scope.empty + Result.foldLeft(params) (a.nestedScope.push(scope)) ((nestedScope, param) => { + param match { + case Symbol.TemplateConstantArg(_, _) => nestedScope.put(NameGroup.Value)(param.getUnqualifiedName, param) + case Symbol.TemplateTypeArg(_, _) => nestedScope.put(NameGroup.Type)(param.getUnqualifiedName, param) + case Symbol.TemplateInterfaceArg(_, _) => nestedScope.put(NameGroup.PortInterfaceInstance)(param.getUnqualifiedName, param) + } + }) + } + + paramScope <- Right(nestedScope.innerScope) + a <- Right(a.copy(nestedScope = nestedScope.pop)) + + // Create an empty scope for entering template expanded symbols + a <- { + val scope = Scope.empty + Right(a.copy(nestedScope = a.nestedScope.push(scope))) + } + + // Enter the child symbols in to the analysis + a <- EnterSymbols.visitList(a, List(Ast.TransUnit(members)), EnterSymbols.transUnit) + + // Duplicate the symbols entries into the outer scope + a <- { + val templateScope = a.nestedScope.innerScope + val nestedScope = a.nestedScope.pop + + for { + nestedScope <- Result.foldLeft (templateScope.map.toList) (nestedScope) ((ns, ngs) => { + val (ng, symbols) = ngs + Result.foldLeft (symbols.map.toList) (ns) ((ns, symEntry) => { + val (name, symbol) = symEntry + ns.put (ng) (name, symbol) + }) + }) + } yield a.copy( + nestedScope = nestedScope, + templateExpansionMap = a.templateExpansionMap + (node.id -> TemplateExpansion( + tmpl.node, + aNode, + Map.from(params.map(p => (p.getUnqualifiedName, p))), + paramScope, + templateScope, + )) + ) + } + + a <- this.visitList(a, members, this.matchModuleMember) + } yield a + } + } + } + + private def updateMap(a: Analysis, s: Symbol): Analysis = { + val parentSymbolMap = a.parentSymbol.fold (a.parentSymbolMap) (ps => + a.parentSymbolMap + (s -> ps) + ) + a.copy(parentSymbolMap = parentSymbolMap) + } +} diff --git a/compiler/lib/src/main/scala/analysis/CheckSemantics/EvalConstantExprs.scala b/compiler/lib/src/main/scala/analysis/CheckSemantics/EvalConstantExprs.scala index b7ede9f102..ecf255dcfb 100644 --- a/compiler/lib/src/main/scala/analysis/CheckSemantics/EvalConstantExprs.scala +++ b/compiler/lib/src/main/scala/analysis/CheckSemantics/EvalConstantExprs.scala @@ -12,6 +12,11 @@ object EvalConstantExprs extends UseAnalyzer { a <- symbol match { case Symbol.EnumConstant(node) => defEnumConstantAnnotatedNode(a, node) case Symbol.Constant(node) => defConstantAnnotatedNode(a, node) + // We must be inside a template expansion, the parameter's value + // has already been added to the valueMap + case Symbol.TemplateConstantArg(paramDef, value) => { + Right(a) + } case _ => throw InternalError(s"invalid constant use symbol ${symbol} (${symbol.getClass.getName()})") } } yield { @@ -83,12 +88,36 @@ object EvalConstantExprs extends UseAnalyzer { else Right(a) } + override def templateConstantArg( + a: Analysis, + arg: Symbol.TemplateConstantArg + ) = { + val Symbol.TemplateConstantArg(paramDef, value) = arg + val loc = Locations.get(arg.value.id) + for { + a <- super.templateConstantArg(a, arg) + a <- FinalizeTypeDefs.typeNameNode(a, paramDef.typeName) + ty <- Right(a.typeMap(paramDef.typeName.id)) + v <- Right(a.valueMap(value.id)) + newVal <- { + v.convertToType(ty) match { + case Some(v) => Right(v) + case None => Left(SemanticError.TypeMismatch(loc, s"cannot convert value $v to type $ty")) + } + } + } yield { + a.assignType(value -> ty) + a.assignValue(value -> newVal) + } + } + override def exprArrayNode(a: Analysis, node: AstNode[Ast.Expr], e: Ast.ExprArray) = for (a <- super.exprArrayNode(a, node, e)) yield { val eltType = a.typeMap(node.id) match { case Type.AnonArray(_, eltType) => eltType - case _ => throw InternalError("element type of array expression should be AnonArray") + case Type.Array(_, Type.AnonArray(_, eltType), _, _) => eltType + case _ => throw InternalError("element type of array expression should be AnonArray or Array") } def f(node: AstNode[Ast.Expr]) = { val v = a.valueMap(node.id) @@ -106,8 +135,8 @@ object EvalConstantExprs extends UseAnalyzer { elements <- { a.valueMap(e.e1.id) match { - case Value.AnonArray(elements) => Right(elements) - case Value.Array(Value.AnonArray(elements), _) => Right(elements) + case Value.AnonArray(elements, None) => Right(elements) + case Value.Array(Value.AnonArray(elements, None), _) => Right(elements) case _ => throw InternalError("expected array value") } } @@ -161,7 +190,6 @@ object EvalConstantExprs extends UseAnalyzer { Right(a.assignValue(node -> v)) } - override def exprLiteralFloatNode(a: Analysis, node: AstNode[Ast.Expr], e: Ast.ExprLiteralFloat) = { val v = Value.Float(e.value.toDouble, Type.Float.F64) Right(a.assignValue(node -> v)) diff --git a/compiler/lib/src/main/scala/analysis/CheckSemantics/FinalizeConstantExprs.scala b/compiler/lib/src/main/scala/analysis/CheckSemantics/FinalizeConstantExprs.scala new file mode 100644 index 0000000000..fee6e3f6a5 --- /dev/null +++ b/compiler/lib/src/main/scala/analysis/CheckSemantics/FinalizeConstantExprs.scala @@ -0,0 +1,64 @@ +package fpp.compiler.analysis + +import fpp.compiler.ast._ +import fpp.compiler.util._ + +/** Finalize constant expressions. Fill in any missing anonymous array sizes */ +object FinalizeConstantExprs extends UseAnalyzer +{ + override def exprArrayNode(a: Analysis, node: AstNode[Ast.Expr], e: Ast.ExprArray) = { + val loc = Locations.get(node.id) + val emptyListError = SemanticError.EmptyArray(loc) + for { + a <- super.exprArrayNode(a, node, e) + eltType <- a.commonType(e.elts.map(_.id), emptyListError) + _ <- { + val typeNames = e.elts.map(elt => a.typeMap(elt.id).toString) + val msg = "cannot compute common type of array value with elements: " + typeNames.mkString(", ") + eltType match { + case Type.AnonArray(None, _) => Left( + SemanticError.TypeMismatch(loc, msg) + ) + case _ => Right(()) + } + } + } yield { + def f(node: AstNode[Ast.Expr]) = { + val v = a.valueMap(node.id) + Analysis.convertValueToType(v, eltType) + } + val elts = e.elts.map(f) + val v = Value.AnonArray(elts) + a.assignType(node -> Type.AnonArray(Some(e.elts.size), eltType)) + .assignValue(node -> v) + } + } + + override def constantUse(a: Analysis, node: AstNode[Ast.Expr], use: Name.Qualified) = { + val symbol = a.useDefMap(node.id) + for { + a <- symbol match { + // Constant symbol: visit the constant definition + // to ensure it has a type + case Symbol.Constant(node) => defConstantAnnotatedNode(a, node) + // Enum symbol: if this is in scope, then we are in + // the enum definition, so it already has a type + case Symbol.EnumConstant(node) => Right(a) + // Template parameter symbol: we are already inside the template expansion + // therefore this already has a type + case Symbol.TemplateConstantArg(_, _) => Right(a) + // Invalid use of a symbol in an expression + case _ => + Left(SemanticError.InvalidSymbol( + symbol.getUnqualifiedName, + Locations.get(node.id), + "not a constant symbol", + symbol.getLoc + )) + } + } yield { + val t = a.typeMap(symbol.getNodeId) + a.assignType(node -> t) + } + } +} diff --git a/compiler/lib/src/main/scala/analysis/CheckSemantics/ResolveTemplates.scala b/compiler/lib/src/main/scala/analysis/CheckSemantics/ResolveTemplates.scala new file mode 100644 index 0000000000..5994229f3f --- /dev/null +++ b/compiler/lib/src/main/scala/analysis/CheckSemantics/ResolveTemplates.scala @@ -0,0 +1,20 @@ +package fpp.compiler.analysis + +import fpp.compiler.ast._ +import fpp.compiler.util._ +import fpp.compiler.transform._ + +/** Expand template expansion specifiers and enter the symbols they produce. */ +object ResolveTemplates { + def transUnit( + a: Analysis, + tul: List[Ast.TransUnit] + ): Result.Result[(Analysis, List[Ast.TransUnit])] = { + for { + a <- CheckTemplateUses.visitList(a, tul, CheckTemplateUses.transUnit) + s_tul <- ExpandTemplates.transformList(a, tul, ExpandTemplates.transUnit) + tul <- Right(s_tul._2) + a <- EnterTemplateSymbols.visitList(a, tul, EnterTemplateSymbols.transUnit) + } yield (a, tul) + } +} diff --git a/compiler/lib/src/main/scala/analysis/ComputeDependencies/AddDependencies.scala b/compiler/lib/src/main/scala/analysis/ComputeDependencies/AddDependencies.scala index 231c366c64..e3b4c091d3 100644 --- a/compiler/lib/src/main/scala/analysis/ComputeDependencies/AddDependencies.scala +++ b/compiler/lib/src/main/scala/analysis/ComputeDependencies/AddDependencies.scala @@ -50,6 +50,35 @@ object AddDependencies extends BasicUseAnalyzer { } yield a } + override def defModuleTemplateAnnotatedNode( + a: Analysis, + aNode: Ast.Annotated[AstNode[Ast.DefModuleTemplate]] + ) = { + for { + a <- super.defModuleTemplateAnnotatedNode(a, aNode) + a <- visitList(a, aNode._2.data.members, matchModuleMember) + } yield a + } + + override def specTemplateExpandAnnotatedNode( + a: Analysis, + aNode: Ast.Annotated[AstNode[Ast.SpecTemplateExpand]] + ) = { + val (_, node, _) = aNode + for { + a <- super.specTemplateExpandAnnotatedNode(a, aNode) + a <- Result.foldLeft (node.data.args) (a) ((a, arg) => arg.data match { + case Ast.TemplateArg.Constant(value) => exprNode(a, value) + case Ast.TemplateArg.Type(typeName) => typeNameNode(a, typeName) + case Ast.TemplateArg.Interface(instance) => + qualIdentNode (interfaceInstanceUse) (a, instance) + }) + } yield a + } + + override def templateUse(a: Analysis, node: AstNode[Ast.QualIdent], use: Name.Qualified) = + analyzeUse(a, Ast.SpecLoc.Template, use) + override def stateMachineUse(a: Analysis, node: AstNode[Ast.QualIdent], use: Name.Qualified) = analyzeUse(a, Ast.SpecLoc.StateMachine, use) diff --git a/compiler/lib/src/main/scala/analysis/ComputeDependencies/Framework/ComputeFrameworkDependencies.scala b/compiler/lib/src/main/scala/analysis/ComputeDependencies/Framework/ComputeFrameworkDependencies.scala index c90c04795d..ad705b6179 100644 --- a/compiler/lib/src/main/scala/analysis/ComputeDependencies/Framework/ComputeFrameworkDependencies.scala +++ b/compiler/lib/src/main/scala/analysis/ComputeDependencies/Framework/ComputeFrameworkDependencies.scala @@ -42,6 +42,15 @@ object ComputeFrameworkDependencies extends AstStateVisitor { visitList(s, data.members, matchModuleMember) } + override def defModuleTemplateAnnotatedNode( + s: State, + aNode: Ast.Annotated[AstNode[Ast.DefModuleTemplate]] + ) = { + val (_, node, _) = aNode + val data = node.data + visitList(s, data.members, matchModuleMember) + } + override def specPortInstanceAnnotatedNode( s: State, aNode: Ast.Annotated[AstNode[Ast.SpecPortInstance]] diff --git a/compiler/lib/src/main/scala/analysis/Semantics/Connection.scala b/compiler/lib/src/main/scala/analysis/Semantics/Connection.scala index 496651e408..8b5f3ecf75 100644 --- a/compiler/lib/src/main/scala/analysis/Semantics/Connection.scala +++ b/compiler/lib/src/main/scala/analysis/Semantics/Connection.scala @@ -219,16 +219,22 @@ object Connection { /** Get underlying endpoint by stripping off topology port aliases */ def getUnderlyingEndpoint(): Endpoint = { - port.interfaceInstance match { - // This endpoint is already a component instance - case InterfaceInstance.InterfaceComponentInstance(ci) => this - case InterfaceInstance.InterfaceTopology(top) => this.copy( - // Look up the mapping for this port instance - port = top.portMap(port.portInstance.getUnqualifiedName).pii, - topologyPort = Some(this) - // Recursively resolve the endpoint to a component instance - ).getUnderlyingEndpoint() + def underlyingEndpointHelper(ii: InterfaceInstance): Endpoint = { + ii match { + // This endpoint is already a component instance + case InterfaceInstance.InterfaceComponentInstance(ci) => this + case InterfaceInstance.InterfaceTopology(top) => this.copy( + // Look up the mapping for this port instance + port = top.portMap(port.portInstance.getUnqualifiedName).pii, + topologyPort = Some(this) + // Recursively resolve the endpoint to a component instance + ).getUnderlyingEndpoint() + case InterfaceInstance.InterfaceTemplateArg(_, _, tii) => + underlyingEndpointHelper(tii) + } } + + underlyingEndpointHelper(port.interfaceInstance) } } diff --git a/compiler/lib/src/main/scala/analysis/Semantics/GenericScope/GenericNestedScope.scala b/compiler/lib/src/main/scala/analysis/Semantics/GenericScope/GenericNestedScope.scala index 042cc9cb4b..f1c7d446b8 100644 --- a/compiler/lib/src/main/scala/analysis/Semantics/GenericScope/GenericNestedScope.scala +++ b/compiler/lib/src/main/scala/analysis/Semantics/GenericScope/GenericNestedScope.scala @@ -49,6 +49,9 @@ case class GenericNestedScope[NG, S <: SymbolInterface]( /** Get the innermost nested scope */ def innerScope: GenericScope[NG,S] = splitScopes._1 + /** Get the outmost nested scope (the global scope) */ + def globalScope: GenericNestedScope[NG,S] = GenericNestedScope(List(scopes.last)) + private def splitScopes: (GenericScope[NG,S], List[GenericScope[NG,S]]) = scopes match { case head :: tail => (head, tail) case _ => throw new InternalError("empty scope stack") diff --git a/compiler/lib/src/main/scala/analysis/Semantics/GenericScope/GenericScope.scala b/compiler/lib/src/main/scala/analysis/Semantics/GenericScope/GenericScope.scala index 5622f917c2..2c96431d5a 100644 --- a/compiler/lib/src/main/scala/analysis/Semantics/GenericScope/GenericScope.scala +++ b/compiler/lib/src/main/scala/analysis/Semantics/GenericScope/GenericScope.scala @@ -30,4 +30,9 @@ case class GenericScope[NG, S <: SymbolInterface]( case None => GenericNameSymbolMap[S]() } + override def toString(): String = + (this.map.map((ng, g) => { + (ng, g.map.keySet) + })).toString() + } diff --git a/compiler/lib/src/main/scala/analysis/Semantics/ImpliedUse.scala b/compiler/lib/src/main/scala/analysis/Semantics/ImpliedUse.scala index 008478514e..60cc47cfb2 100644 --- a/compiler/lib/src/main/scala/analysis/Semantics/ImpliedUse.scala +++ b/compiler/lib/src/main/scala/analysis/Semantics/ImpliedUse.scala @@ -14,7 +14,6 @@ case class ImpliedUse( ) { def asExprNode: AstNode[Ast.Expr] = { - val Name.Qualified(qualifier, base) = name val head :: tail = name.toIdentList val expr = tail.foldLeft (Ast.ExprIdent(head): Ast.Expr) ((e1, s) => Ast.ExprDot(AstNode.create(e1, id), AstNode.create(s, id)) @@ -22,6 +21,17 @@ case class ImpliedUse( AstNode.create(expr, id) } + def asUniqueExprNode: AstNode[Ast.Expr] = { + val head :: tail = name.toIdentList + val expr = tail.foldLeft (Ast.ExprIdent(head): Ast.Expr) ((e1, s) => + Ast.ExprDot( + AstNode.create(e1, ImpliedUse.replicateId(id)), + AstNode.create(s, ImpliedUse.replicateId(id)) + ) + ) + AstNode.create(expr, ImpliedUse.replicateId(id)) + } + def asQualIdentNode: AstNode[Ast.QualIdent] = { val nodeList = name.toIdentList.map(AstNode.create(_, id)) val qualIdent = Ast.QualIdent.fromNodeList(nodeList) diff --git a/compiler/lib/src/main/scala/analysis/Semantics/Interface.scala b/compiler/lib/src/main/scala/analysis/Semantics/Interface.scala index 95f43b27ec..81b6de7526 100644 --- a/compiler/lib/src/main/scala/analysis/Semantics/Interface.scala +++ b/compiler/lib/src/main/scala/analysis/Semantics/Interface.scala @@ -12,6 +12,9 @@ case class Interface( /* The port interface of the component */ portInterface: PortInterface = PortInterface("interface"), ) { + + def getUnqualifiedName: String = aNode._2.data.name + /** Add a port instance */ def addPortInstance(instance: PortInstance): Result.Result[Interface] = for { diff --git a/compiler/lib/src/main/scala/analysis/Semantics/InterfaceInstance.scala b/compiler/lib/src/main/scala/analysis/Semantics/InterfaceInstance.scala index 5f960ffa5f..15267d1423 100644 --- a/compiler/lib/src/main/scala/analysis/Semantics/InterfaceInstance.scala +++ b/compiler/lib/src/main/scala/analysis/Semantics/InterfaceInstance.scala @@ -45,10 +45,30 @@ object InterfaceInstance { override def getInterface: PortInterface = top.portInterface } + final case class InterfaceTemplateArg( + paramDef: Ast.TemplateParam.Interface, + interface: Interface, + ii: InterfaceInstance, + ) extends InterfaceInstance { + override def getQualifiedName: Name.Qualified = Name.Qualified.fromIdent(paramDef.name) + override def getUnqualifiedName: String = paramDef.name + override def getLoc: Location = Locations.get(paramDef.interface.id) + override def getInterface: PortInterface = interface.portInterface + + override def getPortInstance(name: AstNode[Ast.Ident]): Result.Result[PortInstance] = + getInterface.getPortInstance(name, interface.getUnqualifiedName) + } + def fromComponentInstance(ci: ComponentInstance) = InterfaceComponentInstance(ci) def fromTopology(top: Topology) = InterfaceTopology(top) + def fromTemplateArg( + paramDef: Ast.TemplateParam.Interface, + interface: Interface, + ii: InterfaceInstance + ) = InterfaceTemplateArg(paramDef, interface, ii) + } diff --git a/compiler/lib/src/main/scala/analysis/Semantics/NameGroup.scala b/compiler/lib/src/main/scala/analysis/Semantics/NameGroup.scala index c66d335832..42e9935d3f 100644 --- a/compiler/lib/src/main/scala/analysis/Semantics/NameGroup.scala +++ b/compiler/lib/src/main/scala/analysis/Semantics/NameGroup.scala @@ -36,16 +36,24 @@ object NameGroup { override def toString(): String = "type" } + case object Template extends NameGroup { + override def toString(): String = "template" + } + case object Value extends NameGroup { override def toString(): String = "constant" } + // Template parameters can only be referred inside an expansion + case object TemplateParam extends NameGroup + val groups: List[NameGroup] = List( Component, Port, StateMachine, PortInterfaceInstance, PortInterface, + Template, Type, Value ) diff --git a/compiler/lib/src/main/scala/analysis/Semantics/ResolveTopology/ResolveTopologyInstances.scala b/compiler/lib/src/main/scala/analysis/Semantics/ResolveTopology/ResolveTopologyInstances.scala index 1f8014ccc3..d0247722a0 100644 --- a/compiler/lib/src/main/scala/analysis/Semantics/ResolveTopology/ResolveTopologyInstances.scala +++ b/compiler/lib/src/main/scala/analysis/Semantics/ResolveTopology/ResolveTopologyInstances.scala @@ -11,16 +11,33 @@ object ResolveTopologyInstances { t <- { val tops = t.directTopologies.toList Right(tops.foldLeft (t) ((t, ti) => { - t.addInstance(InterfaceInstance.fromTopology(a.topologyMap(ti._1)), ti._2) + val ii = InterfaceInstance.fromTopology(a.topologyMap(ti._1)) + t.addInstance(ii, ti._2) })) } t <- { val comps = t.directComponentInstances.toList Right(comps.foldLeft (t) ((t, ci) => { - t.addInstance(InterfaceInstance.fromComponentInstance(a.componentInstanceMap(ci._1)), ci._2) + val ii = InterfaceInstance.fromComponentInstance(a.componentInstanceMap(ci._1)) + t.addInstance(ii, ci._2) })) } + + t <- { + val instances = t.directTemplateArgs.toList + Result.foldLeft(instances) (t) ((t, symI) => { + val (tip, loc) = symI + for { + ii <- a.getInterfaceInstance(symI._1.value.id) + iface <- a.getInterface(tip.paramDef.interface.id) + } yield t.addInstance(InterfaceInstance.fromTemplateArg( + tip.paramDef, + iface, + ii + ), loc) + }) + } } yield t diff --git a/compiler/lib/src/main/scala/analysis/Semantics/Symbol.scala b/compiler/lib/src/main/scala/analysis/Semantics/Symbol.scala index 91282441dc..436945338f 100644 --- a/compiler/lib/src/main/scala/analysis/Semantics/Symbol.scala +++ b/compiler/lib/src/main/scala/analysis/Semantics/Symbol.scala @@ -14,6 +14,9 @@ sealed trait TypeSymbol extends Symbol /** A port interface instance symbol */ sealed trait InterfaceInstanceSymbol extends Symbol +/** A template argument symbol */ +sealed trait TemplateArgSymbol extends Symbol + object Symbol { final case class AbsType(node: Ast.Annotated[AstNode[Ast.DefAbsType]]) extends TypeSymbol { @@ -81,5 +84,30 @@ object Symbol { override def getNodeId = node._2.id override def getUnqualifiedName = node._2.data.name } + final case class Template(node: Ast.Annotated[AstNode[Ast.DefModuleTemplate]]) extends Symbol { + override def getNodeId = node._2.id + override def getUnqualifiedName = node._2.data.name + } + final case class TemplateConstantArg( + paramDef: Ast.TemplateParam.Constant, + value: AstNode[Ast.Expr] + ) extends TemplateArgSymbol { + override def getUnqualifiedName = paramDef.name + override def getNodeId = value.id + } + final case class TemplateTypeArg( + paramDef: Ast.TemplateParam.Type, + value: AstNode[Ast.TypeName] + ) extends TemplateArgSymbol { + override def getUnqualifiedName = paramDef.name + override def getNodeId = value.id + } + final case class TemplateInterfaceArg( + paramDef: Ast.TemplateParam.Interface, + value: AstNode[Ast.QualIdent] + ) extends TemplateArgSymbol, InterfaceInstanceSymbol { + override def getUnqualifiedName = paramDef.name + override def getNodeId = value.id + } } diff --git a/compiler/lib/src/main/scala/analysis/Semantics/TemplateExpansion.scala b/compiler/lib/src/main/scala/analysis/Semantics/TemplateExpansion.scala new file mode 100644 index 0000000000..e3c3e86f3a --- /dev/null +++ b/compiler/lib/src/main/scala/analysis/Semantics/TemplateExpansion.scala @@ -0,0 +1,20 @@ +package fpp.compiler.analysis + +import fpp.compiler.ast._ +import fpp.compiler.util._ + +/** An FPP template */ +case class TemplateExpansion( + /** The AST node defining the template */ + defNode: Ast.Annotated[AstNode[Ast.DefModuleTemplate]], + /** The AST node expanding the template */ + expansion: Ast.Annotated[AstNode[Ast.SpecTemplateExpand]], + /** Arguments bound to the parameters of this template during expansion */ + params: Map[String, TemplateArgSymbol], + /** Scope where template argument symbols are entered */ + paramScope: Scope, + /** Scope where symbols defined in the expansion are entered */ + scope: Scope +) { + +} diff --git a/compiler/lib/src/main/scala/analysis/Semantics/Topology.scala b/compiler/lib/src/main/scala/analysis/Semantics/Topology.scala index 62efcd059f..e5d4840895 100644 --- a/compiler/lib/src/main/scala/analysis/Semantics/Topology.scala +++ b/compiler/lib/src/main/scala/analysis/Semantics/Topology.scala @@ -14,6 +14,8 @@ case class Topology( directTopologies: Map[Symbol.Topology, Location] = Map(), /** The directly imported component instances */ directComponentInstances: Map[Symbol.ComponentInstance, Location] = Map(), + /** The directly imported template arguments */ + directTemplateArgs: Map[Symbol.TemplateInterfaceArg, Location] = Map(), /** The transitively imported topologies */ transitiveImportSet: Set[Symbol.Topology] = Set(), /** The instances of this topology */ @@ -173,10 +175,13 @@ case class Topology( instance: InterfaceInstance, loc: Location ): Topology = { - val pairOpt = instanceMap.get(instance) // Use the previous location, if it exists - val mergedLoc = pairOpt.getOrElse(loc) - val map = instanceMap + (instance -> mergedLoc) + val o = instanceMap.get(instance) match { + case None => loc + case Some(otherLoc) => otherLoc + } + + val map = instanceMap + (instance -> o) this.copy(instanceMap = map) } @@ -225,6 +230,20 @@ case class Topology( ) ) } + + case arg: Symbol.TemplateInterfaceArg => + directTemplateArgs.get(arg) match { + case Some(prevLoc) => Left( + SemanticError.DuplicateInstance( + symbol.getUnqualifiedName, + loc, + prevLoc + ) + ) + case None => + val map = directTemplateArgs + (arg -> loc) + Right(this.copy(directTemplateArgs = map)) + } } /** Assigns a port number to a connection at a port instance */ @@ -294,7 +313,10 @@ case class Topology( /** Precompute the set of component instances in the topology */ lazy val componentInstanceMap: Map[ComponentInstance, Location] = { - instanceMap collect { case (InterfaceInstance.InterfaceComponentInstance(ci), loc: Location) => (ci, loc) } + instanceMap collect { + case (InterfaceInstance.InterfaceComponentInstance(ci), loc) => (ci, loc) + case (InterfaceInstance.InterfaceTemplateArg(_, _, InterfaceInstance.InterfaceComponentInstance(ci)), loc) => (ci, loc) + } } /** Gets the set of used port numbers */ diff --git a/compiler/lib/src/main/scala/analysis/Semantics/Value.scala b/compiler/lib/src/main/scala/analysis/Semantics/Value.scala index 1bb2fffcbd..bff266d543 100644 --- a/compiler/lib/src/main/scala/analysis/Semantics/Value.scala +++ b/compiler/lib/src/main/scala/analysis/Semantics/Value.scala @@ -64,10 +64,14 @@ sealed trait Value { def promoteToAnonArray(anonArray: Type.AnonArray): Option[Value.AnonArray] = { if (this.getType.isPromotableToArray) for { - size <- anonArray.size elt <- this.convertToType(anonArray.eltType) } - yield Value.AnonArray(List.fill(size)(elt)) + yield { + anonArray.size match { + case Some(size) => Value.AnonArray(List.fill(size)(elt), None) + case None => Value.AnonArray(Nil, Some(elt)) + } + } else None } def promoteToArray(array: Type.Array): Option[Value.Array] = @@ -310,7 +314,7 @@ object Value { } /** Anonymous array values */ - case class AnonArray(elements: List[Value]) extends Value { + case class AnonArray(elements: List[Value], scalar: Option[Value] = None) extends Value { def convertToAnonArray(anonArrayType: Type.AnonArray): Option[Value.AnonArray] = { def convertElements(in: List[Value], t: Type, out: List[Value]): Option[List[Value]] = @@ -411,14 +415,15 @@ object Value { /** Anonymous struct values */ case class AnonStruct(members: Struct.Members) extends Value { - def convertToAnonStruct(anonStructType: Type.AnonStruct): Option[Value.AnonStruct] = { + def convertToAnonStruct(anonStructType: Type.AnonStruct, memberDefaults: Struct.Members): Option[Value.AnonStruct] = { def convertMembers(in: List[Type.Struct.Member], out: Struct.Members): Option[Struct.Members] = in match { case Nil => Some(out) case (m -> t) :: tail => { - val vOpt = members.get(m) match { - case Some(v) => v.convertToType(t) - case None => t.getDefaultValue + val vOpt = (members.get(m), memberDefaults.get(m)) match { + case (Some(v), _) => v.convertToType(t) + case (None, Some(v)) => Some(v) + case (None, None) => t.getDefaultValue } vOpt match { case Some(v) => convertMembers(tail, out + (m -> v)) @@ -431,14 +436,14 @@ object Value { } def convertToStruct(structType: Type.Struct): Option[Value.Struct] = { - val Type.Struct(_, anonStructType, _, _, _) = structType - for (anonStruct <- convertToAnonStruct(anonStructType)) + val Type.Struct(_, anonStructType, default, _, _) = structType + for (anonStruct <- convertToAnonStruct(anonStructType, default.map(_.anonStruct.members).getOrElse(Map()))) yield Struct(anonStruct, structType) } override def convertToDistinctType(t: Type) = t.getUnderlyingType match { - case anonStructType : Type.AnonStruct => convertToAnonStruct(anonStructType) + case anonStructType : Type.AnonStruct => convertToAnonStruct(anonStructType, Map()) case structType : Type.Struct => convertToStruct(structType) case _ => None } @@ -471,7 +476,7 @@ object Value { case class Struct(anonStruct: AnonStruct, t: Type.Struct) extends Value { def convertToAnonStruct(anonStructType: Type.AnonStruct): Option[Value.AnonStruct] = - anonStruct.convertToAnonStruct(anonStructType) + anonStruct.convertToAnonStruct(anonStructType, t.default.map(_.anonStruct.members).getOrElse(Map())) def convertToStruct(structType: Type.Struct): Option[Value.Struct] = anonStruct.convertToStruct(structType) override def convertToDistinctType(t: Type) = diff --git a/compiler/lib/src/main/scala/analysis/UsedSymbols.scala b/compiler/lib/src/main/scala/analysis/UsedSymbols.scala index dea479774c..d9111b8947 100644 --- a/compiler/lib/src/main/scala/analysis/UsedSymbols.scala +++ b/compiler/lib/src/main/scala/analysis/UsedSymbols.scala @@ -118,6 +118,10 @@ object UsedSymbols extends UseAnalyzer { case Symbol.Struct(node) => defStructAnnotatedNode(a1, node) case Symbol.System(node) => defSystemAnnotatedNode(a1, node) case Symbol.Topology(node) => defTopologyAnnotatedNode(a1, node) + case Symbol.Template(node) => defModuleTemplateAnnotatedNode(a1, node) + case Symbol.TemplateConstantArg(_, expr) => exprNode(a, expr) + case Symbol.TemplateTypeArg(_, tn) => typeNameNode(a, tn) + case Symbol.TemplateInterfaceArg(_, name) => qualIdentNode (interfaceInstanceUse) (a, name) } a2.usedSymbolSet.flatMap(resolveNode) + resolveEnumConstant(s) } diff --git a/compiler/lib/src/main/scala/ast/Ast.scala b/compiler/lib/src/main/scala/ast/Ast.scala index 2bc91ef2e3..5df7231342 100644 --- a/compiler/lib/src/main/scala/ast/Ast.scala +++ b/compiler/lib/src/main/scala/ast/Ast.scala @@ -10,6 +10,12 @@ object Ast { /** Formal parameter list */ type FormalParamList = List[Annotated[AstNode[FormalParam]]] + /** Template parameter list */ + type TemplateParamList = List[Annotated[AstNode[TemplateParam]]] + + /** Template argument list */ + type TemplateArgList = List[AstNode[TemplateArg]] + /** Identifier */ type Ident = String @@ -160,6 +166,7 @@ object Ast { final case class DefEnum(node: AstNode[Ast.DefEnum]) extends Node final case class DefInterface(node: AstNode[Ast.DefInterface]) extends Node final case class DefModule(node: AstNode[Ast.DefModule]) extends Node + final case class DefModuleTemplate(node: AstNode[Ast.DefModuleTemplate]) extends Node final case class DefPort(node: AstNode[Ast.DefPort]) extends Node final case class DefStateMachine(node: AstNode[Ast.DefStateMachine]) extends Node final case class DefStruct(node: AstNode[Ast.DefStruct]) extends Node @@ -167,8 +174,34 @@ object Ast { final case class DefTopology(node: AstNode[Ast.DefTopology]) extends Node final case class SpecInclude(node: AstNode[Ast.SpecInclude]) extends Node final case class SpecLoc(node: AstNode[Ast.SpecLoc]) extends Node + final case class SpecTemplateExpand(node: AstNode[Ast.SpecTemplateExpand]) extends Node } + /** Template parameter */ + sealed trait TemplateParam + object TemplateParam { + final case class Constant( + name: Ident, + typeName: AstNode[Ast.TypeName] + ) extends TemplateParam + + final case class Type( + name: Ident + ) extends TemplateParam + + final case class Interface( + name: Ident, + interface: AstNode[QualIdent], + ) extends TemplateParam + } + + /** Module template definition */ + final case class DefModuleTemplate( + name: Ident, + params: TemplateParamList, + members: List[ModuleMember] + ) + /** Port definition */ final case class DefPort( name: Ident, @@ -406,7 +439,14 @@ object Ast { case (Nil, name) => QualIdent.Unqualified(name.data) case (qualifier, name) => { val qualifier1 = fromNodeList(qualifier) - val node = AstNode.create(qualifier1, QualIdent.NodeList.name(qualifier).id) + val id = QualIdent.NodeList.name(qualifier).id + val node = AstNode.create(qualifier1) + Locations.getOpt(id) match { + case None => () + case Some(loc) => + Locations.put(node.id, loc) + () + } QualIdent.Qualified(node, name) } } @@ -639,6 +679,9 @@ object Ast { case object Interface extends Kind { override def toString = "interface" } + case object Template extends Kind { + override def toString = "template" + } } /** Parameter specifier */ @@ -768,6 +811,21 @@ object Ast { queueFull: Option[QueueFull] ) + /** Template argument */ + sealed trait TemplateArg + object TemplateArg { + final case class Constant(expr: AstNode[Expr]) extends TemplateArg + final case class Type(typeName: AstNode[TypeName]) extends TemplateArg + final case class Interface(instance: AstNode[QualIdent]) extends TemplateArg + } + + /** Template expansion specifier */ + final case class SpecTemplateExpand( + template: AstNode[QualIdent], + args: TemplateArgList, + members: Option[List[ModuleMember]] + ) + /** Telemetry channel specifier */ final case class SpecTlmChannel( name: Ident, diff --git a/compiler/lib/src/main/scala/ast/AstStateTransformer.scala b/compiler/lib/src/main/scala/ast/AstStateTransformer.scala index e327ec9ddd..b92cfcd4f2 100644 --- a/compiler/lib/src/main/scala/ast/AstStateTransformer.scala +++ b/compiler/lib/src/main/scala/ast/AstStateTransformer.scala @@ -17,7 +17,7 @@ trait AstStateTransformer extends AstTransformer { } /** Transform a list in sequence, threading state */ - def transformList[A,B]( + def transformList[A, B]( s: State, list: List[A], transform: (State, A) => Result[B] diff --git a/compiler/lib/src/main/scala/ast/AstTransformer.scala b/compiler/lib/src/main/scala/ast/AstTransformer.scala index a851eed190..dd4499b4bf 100644 --- a/compiler/lib/src/main/scala/ast/AstTransformer.scala +++ b/compiler/lib/src/main/scala/ast/AstTransformer.scala @@ -17,81 +17,74 @@ trait AstTransformer { def default(in: In): Out + def defaultNode[T]( + in: In, + node: AstNode[T] + ): ResultNode[T] = + Right(default(in), node) + + def defaultAnnotatedNode[T]( + in: In, + aNode: Ast.Annotated[AstNode[T]] + ): ResultAnnotatedNode[T] = + Right(default(in), aNode) + def defAbsTypeAnnotatedNode( in: In, node: Ast.Annotated[AstNode[Ast.DefAbsType]] ): ResultAnnotatedNode[Ast.DefAbsType] = - Right(default(in), node) - - def defActionAnnotatedNode( - in: In, - node: Ast.Annotated[AstNode[Ast.DefAction]] - ): ResultAnnotatedNode[Ast.DefAction] = - Right(default(in), node) + defaultAnnotatedNode(in, node) def defAliasTypeAnnotatedNode( in: In, node: Ast.Annotated[AstNode[Ast.DefAliasType]] ): ResultAnnotatedNode[Ast.DefAliasType] = - Right(default(in), node) + defaultAnnotatedNode(in, node) def defArrayAnnotatedNode(in: In, node: Ast.Annotated[AstNode[Ast.DefArray]]): ResultAnnotatedNode[Ast.DefArray] = - Right(default(in), node) - - def defChoiceAnnotatedNode( - in: In, - node: Ast.Annotated[AstNode[Ast.DefChoice]] - ): ResultAnnotatedNode[Ast.DefChoice] = - Right(default(in), node) + defaultAnnotatedNode(in, node) def defComponentAnnotatedNode(in: In, node: Ast.Annotated[AstNode[Ast.DefComponent]]): ResultAnnotatedNode[Ast.DefComponent] = - Right(default(in), node) + defaultAnnotatedNode(in, node) def defComponentInstanceAnnotatedNode( in: In, node: Ast.Annotated[AstNode[Ast.DefComponentInstance]] - ): ResultAnnotatedNode[Ast.DefComponentInstance] = Right(default(in), node) + ): ResultAnnotatedNode[Ast.DefComponentInstance] = + defaultAnnotatedNode(in, node) def defConstantAnnotatedNode( in: In, node: Ast.Annotated[AstNode[Ast.DefConstant]] - ): ResultAnnotatedNode[Ast.DefConstant] = Right(default(in), node) + ): ResultAnnotatedNode[Ast.DefConstant] = + defaultAnnotatedNode(in, node) def defEnumAnnotatedNode( in: In, node: Ast.Annotated[AstNode[Ast.DefEnum]] - ): ResultAnnotatedNode[Ast.DefEnum] = Right(default(in), node) - - def defGuardAnnotatedNode( - in: In, - node: Ast.Annotated[AstNode[Ast.DefGuard]] - ): ResultAnnotatedNode[Ast.DefGuard] = - Right(default(in), node) + ): ResultAnnotatedNode[Ast.DefEnum] = + defaultAnnotatedNode(in, node) def defInterfaceAnnotatedNode(in: In, node: Ast.Annotated[AstNode[Ast.DefInterface]]): ResultAnnotatedNode[Ast.DefInterface] = - Right(default(in), node) + defaultAnnotatedNode(in, node) def defModuleAnnotatedNode( in: In, node: Ast.Annotated[AstNode[Ast.DefModule]] - ): ResultAnnotatedNode[Ast.DefModule] = Right(default(in), node) - - def defPortAnnotatedNode( - in: In, - node: Ast.Annotated[AstNode[Ast.DefPort]] - ): ResultAnnotatedNode[Ast.DefPort] = Right(default(in), node) + ): ResultAnnotatedNode[Ast.DefModule] = + defaultAnnotatedNode(in, node) - def defSignalAnnotatedNode( + def defModuleTemplateAnnotatedNode( in: In, - node: Ast.Annotated[AstNode[Ast.DefSignal]] - ): ResultAnnotatedNode[Ast.DefSignal] = - Right(default(in), node) + node: Ast.Annotated[AstNode[Ast.DefModuleTemplate]] + ): ResultAnnotatedNode[Ast.DefModuleTemplate] = + defaultAnnotatedNode(in, node) - def defStateAnnotatedNode( + def defPortAnnotatedNode( in: In, - node: Ast.Annotated[AstNode[Ast.DefState]] - ): ResultAnnotatedNode[Ast.DefState] = - Right(default(in), node) + node: Ast.Annotated[AstNode[Ast.DefPort]] + ): ResultAnnotatedNode[Ast.DefPort] = + defaultAnnotatedNode(in, node) def defStateMachineAnnotatedNode( in: In, @@ -105,204 +98,264 @@ trait AstTransformer { def defStateMachineAnnotatedNodeExternal( in: In, node: Ast.Annotated[AstNode[Ast.DefStateMachine]] - ): ResultAnnotatedNode[Ast.DefStateMachine] = Right(default(in), node) + ): ResultAnnotatedNode[Ast.DefStateMachine] = + defaultAnnotatedNode(in, node) def defStateMachineAnnotatedNodeInternal( in: In, node: Ast.Annotated[AstNode[Ast.DefStateMachine]], members: List[Ast.StateMachineMember] - ): ResultAnnotatedNode[Ast.DefStateMachine] = Right(default(in), node) + ): ResultAnnotatedNode[Ast.DefStateMachine] = + defaultAnnotatedNode(in, node) + + def defActionAnnotatedNode( + in: In, + node: Ast.Annotated[AstNode[Ast.DefAction]] + ): ResultAnnotatedNode[Ast.DefAction] = + defaultAnnotatedNode(in, node) + + def defChoiceAnnotatedNode( + in: In, + node: Ast.Annotated[AstNode[Ast.DefChoice]] + ): ResultAnnotatedNode[Ast.DefChoice] = + defaultAnnotatedNode(in, node) + + def defGuardAnnotatedNode( + in: In, + node: Ast.Annotated[AstNode[Ast.DefGuard]] + ): ResultAnnotatedNode[Ast.DefGuard] = + defaultAnnotatedNode(in, node) + + def defSignalAnnotatedNode( + in: In, + node: Ast.Annotated[AstNode[Ast.DefSignal]] + ): ResultAnnotatedNode[Ast.DefSignal] = + defaultAnnotatedNode(in, node) + + def defStateAnnotatedNode( + in: In, + node: Ast.Annotated[AstNode[Ast.DefState]] + ): ResultAnnotatedNode[Ast.DefState] = + defaultAnnotatedNode(in, node) + + def specInitialTransitionAnnotatedNode( + in: In, + node: Ast.Annotated[AstNode[Ast.SpecInitialTransition]] + ): ResultAnnotatedNode[Ast.SpecInitialTransition] = + defaultAnnotatedNode(in, node) + + def specStateEntryAnnotatedNode( + in: In, + node: Ast.Annotated[AstNode[Ast.SpecStateEntry]] + ): ResultAnnotatedNode[Ast.SpecStateEntry] = + defaultAnnotatedNode(in, node) + + def specStateExitAnnotatedNode( + in: In, + node: Ast.Annotated[AstNode[Ast.SpecStateExit]] + ): ResultAnnotatedNode[Ast.SpecStateExit] = + defaultAnnotatedNode(in, node) + + def specStateMachineInstanceAnnotatedNode( + in: In, + node: Ast.Annotated[AstNode[Ast.SpecStateMachineInstance]] + ): ResultAnnotatedNode[Ast.SpecStateMachineInstance] = + defaultAnnotatedNode(in, node) + + def specStateTransitionAnnotatedNode( + in: In, + node: Ast.Annotated[AstNode[Ast.SpecStateTransition]] + ): ResultAnnotatedNode[Ast.SpecStateTransition] = + defaultAnnotatedNode(in, node) def defStructAnnotatedNode( in: In, node: Ast.Annotated[AstNode[Ast.DefStruct]] - ): ResultAnnotatedNode[Ast.DefStruct] = Right(default(in), node) + ): ResultAnnotatedNode[Ast.DefStruct] = + defaultAnnotatedNode(in, node) def defSystemAnnotatedNode( in: In, node: Ast.Annotated[AstNode[Ast.DefSystem]] - ): ResultAnnotatedNode[Ast.DefSystem] = Right(default(in), node) + ): ResultAnnotatedNode[Ast.DefSystem] = + defaultAnnotatedNode(in, node) def defTopologyAnnotatedNode( in: In, node: Ast.Annotated[AstNode[Ast.DefTopology]] - ): ResultAnnotatedNode[Ast.DefTopology] = Right(default(in), node) + ): ResultAnnotatedNode[Ast.DefTopology] = + defaultAnnotatedNode(in, node) def exprArrayNode(in: In, node: AstNode[Ast.Expr], e: Ast.ExprArray): ResultNode[Ast.Expr] = - Right(default(in), node) + defaultNode(in, node) def exprArraySubscriptNode(in: In, node: AstNode[Ast.Expr], e: Ast.ExprArraySubscript): ResultNode[Ast.Expr] = - Right(default(in), node) + defaultNode(in, node) def exprBinopNode(in: In, node: AstNode[Ast.Expr], e: Ast.ExprBinop): ResultNode[Ast.Expr] = - Right(default(in), node) + defaultNode(in, node) def exprDotNode(in: In, node: AstNode[Ast.Expr], e: Ast.ExprDot): ResultNode[Ast.Expr] = - Right(default(in), node) + defaultNode(in, node) def exprIdentNode(in: In, node: AstNode[Ast.Expr], e: Ast.ExprIdent): ResultNode[Ast.Expr] = - Right(default(in), node) + defaultNode(in, node) def exprLiteralBoolNode(in: In, node: AstNode[Ast.Expr], e: Ast.ExprLiteralBool): ResultNode[Ast.Expr] = - Right(default(in), node) + defaultNode(in, node) def exprLiteralFloatNode(in: In, node: AstNode[Ast.Expr], e: Ast.ExprLiteralFloat): ResultNode[Ast.Expr] = - Right(default(in), node) + defaultNode(in, node) def exprLiteralIntNode(in: In, node: AstNode[Ast.Expr], e: Ast.ExprLiteralInt): ResultNode[Ast.Expr] = - Right(default(in), node) + defaultNode(in, node) def exprLiteralStringNode(in: In, node: AstNode[Ast.Expr], e: Ast.ExprLiteralString): ResultNode[Ast.Expr] = - Right(default(in), node) + defaultNode(in, node) def exprParenNode(in: In, node: AstNode[Ast.Expr], e: Ast.ExprParen): ResultNode[Ast.Expr] = - Right(default(in), node) + defaultNode(in, node) def exprSizeOfNode(in: In, node: AstNode[Ast.Expr], e: Ast.ExprSizeOf): ResultNode[Ast.Expr] = - Right(default(in), node) + defaultNode(in, node) def exprStructNode(in: In, node: AstNode[Ast.Expr], e: Ast.ExprStruct): ResultNode[Ast.Expr] = - Right(default(in), node) + defaultNode(in, node) def exprUnopNode(in: In, node: AstNode[Ast.Expr], e: Ast.ExprUnop): ResultNode[Ast.Expr] = - Right(default(in), node) + defaultNode(in, node) def specCommandAnnotatedNode( in: In, node: Ast.Annotated[AstNode[Ast.SpecCommand]] - ): ResultAnnotatedNode[Ast.SpecCommand] = Right(default(in), node) + ): ResultAnnotatedNode[Ast.SpecCommand] = + defaultAnnotatedNode(in, node) def specInstanceAnnotatedNode( in: In, node: Ast.Annotated[AstNode[Ast.SpecInstance]] - ): ResultAnnotatedNode[Ast.SpecInstance] = Right(default(in), node) + ): ResultAnnotatedNode[Ast.SpecInstance] = + defaultAnnotatedNode(in, node) def specConnectionGraphAnnotatedNode( in: In, node: Ast.Annotated[AstNode[Ast.SpecConnectionGraph]] - ): ResultAnnotatedNode[Ast.SpecConnectionGraph] = Right(default(in), node) + ): ResultAnnotatedNode[Ast.SpecConnectionGraph] = + defaultAnnotatedNode(in, node) def specContainerAnnotatedNode( in: In, node: Ast.Annotated[AstNode[Ast.SpecContainer]] - ): ResultAnnotatedNode[Ast.SpecContainer] = Right(default(in), node) + ): ResultAnnotatedNode[Ast.SpecContainer] = + defaultAnnotatedNode(in, node) def specEventAnnotatedNode( in: In, node: Ast.Annotated[AstNode[Ast.SpecEvent]] - ): ResultAnnotatedNode[Ast.SpecEvent] = Right(default(in), node) + ): ResultAnnotatedNode[Ast.SpecEvent] = + defaultAnnotatedNode(in, node) def specIncludeAnnotatedNode( in: In, node: Ast.Annotated[AstNode[Ast.SpecInclude]] - ): ResultAnnotatedNode[Ast.SpecInclude] = Right(default(in), node) + ): ResultAnnotatedNode[Ast.SpecInclude] = + defaultAnnotatedNode(in, node) def specInitAnnotatedNode( in: In, node: Ast.Annotated[AstNode[Ast.SpecInit]] - ): ResultAnnotatedNode[Ast.SpecInit] = Right(default(in), node) - - def specInitialTransitionAnnotatedNode( - in: In, - node: Ast.Annotated[AstNode[Ast.SpecInitialTransition]] - ): ResultAnnotatedNode[Ast.SpecInitialTransition] = - Right(default(in), node) + ): ResultAnnotatedNode[Ast.SpecInit] = + defaultAnnotatedNode(in, node) def specInterfaceImportAnnotatedNode( in: In, node: Ast.Annotated[AstNode[Ast.SpecImport]] - ): ResultAnnotatedNode[Ast.SpecImport] = Right(default(in), node) + ): ResultAnnotatedNode[Ast.SpecImport] = + defaultAnnotatedNode(in, node) def specInternalPortAnnotatedNode( in: In, node: Ast.Annotated[AstNode[Ast.SpecInternalPort]] - ): ResultAnnotatedNode[Ast.SpecInternalPort] = Right(default(in), node) + ): ResultAnnotatedNode[Ast.SpecInternalPort] = + defaultAnnotatedNode(in, node) def specLocAnnotatedNode( in: In, node: Ast.Annotated[AstNode[Ast.SpecLoc]] - ): ResultAnnotatedNode[Ast.SpecLoc] = Right(default(in), node) + ): ResultAnnotatedNode[Ast.SpecLoc] = + defaultAnnotatedNode(in, node) + + def specTemplateExpandAnnotatedNode( + in: In, + node: Ast.Annotated[AstNode[Ast.SpecTemplateExpand]] + ): ResultAnnotatedNode[Ast.SpecTemplateExpand] = + defaultAnnotatedNode(in, node) def specParamAnnotatedNode( in: In, node: Ast.Annotated[AstNode[Ast.SpecParam]] - ): ResultAnnotatedNode[Ast.SpecParam] = Right(default(in), node) + ): ResultAnnotatedNode[Ast.SpecParam] = + defaultAnnotatedNode(in, node) def specPortInstanceAnnotatedNode( in: In, node: Ast.Annotated[AstNode[Ast.SpecPortInstance]] - ): ResultAnnotatedNode[Ast.SpecPortInstance] = Right(default(in), node) + ): ResultAnnotatedNode[Ast.SpecPortInstance] = + defaultAnnotatedNode(in, node) def specPortMatchingAnnotatedNode( in: In, node: Ast.Annotated[AstNode[Ast.SpecPortMatching]] - ): ResultAnnotatedNode[Ast.SpecPortMatching] = Right(default(in), node) + ): ResultAnnotatedNode[Ast.SpecPortMatching] = + defaultAnnotatedNode(in, node) def specRecordAnnotatedNode( in: In, node: Ast.Annotated[AstNode[Ast.SpecRecord]] - ): ResultAnnotatedNode[Ast.SpecRecord] = Right(default(in), node) - - def specStateEntryAnnotatedNode( - in: In, - node: Ast.Annotated[AstNode[Ast.SpecStateEntry]] - ): ResultAnnotatedNode[Ast.SpecStateEntry] = - Right(default(in), node) - - def specStateExitAnnotatedNode( - in: In, - node: Ast.Annotated[AstNode[Ast.SpecStateExit]] - ): ResultAnnotatedNode[Ast.SpecStateExit] = - Right(default(in), node) - - def specStateMachineInstanceAnnotatedNode( - in: In, - node: Ast.Annotated[AstNode[Ast.SpecStateMachineInstance]] - ): ResultAnnotatedNode[Ast.SpecStateMachineInstance] = Right(default(in), node) - - def specStateTransitionAnnotatedNode( - in: In, - node: Ast.Annotated[AstNode[Ast.SpecStateTransition]] - ): ResultAnnotatedNode[Ast.SpecStateTransition] = - Right(default(in), node) + ): ResultAnnotatedNode[Ast.SpecRecord] = + defaultAnnotatedNode(in, node) def specTlmChannelAnnotatedNode( in: In, node: Ast.Annotated[AstNode[Ast.SpecTlmChannel]] - ): ResultAnnotatedNode[Ast.SpecTlmChannel] = Right(default(in), node) + ): ResultAnnotatedNode[Ast.SpecTlmChannel] = + defaultAnnotatedNode(in, node) def specTlmPacketAnnotatedNode( in: In, node: Ast.Annotated[AstNode[Ast.SpecTlmPacket]] - ): ResultAnnotatedNode[Ast.SpecTlmPacket] = Right(default(in), node) + ): ResultAnnotatedNode[Ast.SpecTlmPacket] = + defaultAnnotatedNode(in, node) def specTopPortAnnotatedNode( in: In, node: Ast.Annotated[AstNode[Ast.SpecTopPort]] - ): ResultAnnotatedNode[Ast.SpecTopPort] = Right(default(in), node) + ): ResultAnnotatedNode[Ast.SpecTopPort] = + defaultAnnotatedNode(in, node) def specTlmPacketSetAnnotatedNode( in: In, node: Ast.Annotated[AstNode[Ast.SpecTlmPacketSet]] - ): ResultAnnotatedNode[Ast.SpecTlmPacketSet] = Right(default(in), node) - - def transUnit(in: In, tu: Ast.TransUnit): Result[Ast.TransUnit] = - Right(default(in), tu) + ): ResultAnnotatedNode[Ast.SpecTlmPacketSet] = + defaultAnnotatedNode(in, node) def typeNameBoolNode(in: In, node: AstNode[Ast.TypeName]): ResultNode[Ast.TypeName] = - Right(default(in), node) + defaultNode(in, node) def typeNameFloatNode(in: In, node: AstNode[Ast.TypeName], tn: Ast.TypeNameFloat): ResultNode[Ast.TypeName] = - Right(default(in), node) + defaultNode(in, node) def typeNameIntNode(in: In, node: AstNode[Ast.TypeName], tn: Ast.TypeNameInt): ResultNode[Ast.TypeName] = - Right(default(in), node) + defaultNode(in, node) def typeNameQualIdentNode(in: In, node: AstNode[Ast.TypeName], tn: Ast.TypeNameQualIdent): ResultNode[Ast.TypeName] = - Right(default(in), node) + defaultNode(in, node) def typeNameStringNode(in: In, node: AstNode[Ast.TypeName], tn: Ast.TypeNameString): ResultNode[Ast.TypeName] = - Right(default(in), node) + defaultNode(in, node) + + def transUnit(in: In, tu: Ast.TransUnit): Result[Ast.TransUnit] = + Right(default(in), tu) final def matchComponentMember(in: In, member: Ast.ComponentMember): Result[List[Ast.ComponentMember]] = { def transform[T]( @@ -493,6 +546,8 @@ trait AstTransformer { transform(defEnumAnnotatedNode(in, (pre, node1, post)), Ast.ModuleMember.DefEnum(_)) case Ast.ModuleMember.DefModule(node1) => transform(defModuleAnnotatedNode(in, (pre, node1, post)), Ast.ModuleMember.DefModule(_)) + case Ast.ModuleMember.DefModuleTemplate(node1) => + transform(defModuleTemplateAnnotatedNode(in, (pre, node1, post)), Ast.ModuleMember.DefModuleTemplate(_)) case Ast.ModuleMember.DefPort(node1) => transform(defPortAnnotatedNode(in, (pre, node1, post)), Ast.ModuleMember.DefPort(_)) case Ast.ModuleMember.DefStateMachine(node1) => @@ -507,6 +562,8 @@ trait AstTransformer { transform(specIncludeAnnotatedNode(in, (pre, node1, post)), Ast.ModuleMember.SpecInclude(_)) case Ast.ModuleMember.SpecLoc(node1) => transform(specLocAnnotatedNode(in, (pre, node1, post)), Ast.ModuleMember.SpecLoc(_)) + case Ast.ModuleMember.SpecTemplateExpand(node1) => + transform(specTemplateExpandAnnotatedNode(in, (pre, node1, post)), Ast.ModuleMember.SpecTemplateExpand(_)) } } @@ -566,10 +623,4 @@ trait AstTransformer { case tn : Ast.TypeNameString => typeNameStringNode(in, node, tn) } - private def transformNode[In,Out](rn: ResultNode[In], f: AstNode[In] => Out): Result[Out] = - for (pair <- rn) yield { - val (out, node) = pair - (out, f(node)) - } - } diff --git a/compiler/lib/src/main/scala/ast/AstVisitor.scala b/compiler/lib/src/main/scala/ast/AstVisitor.scala index 5becb44443..cbea6be133 100644 --- a/compiler/lib/src/main/scala/ast/AstVisitor.scala +++ b/compiler/lib/src/main/scala/ast/AstVisitor.scala @@ -33,6 +33,8 @@ trait AstVisitor { def defModuleAnnotatedNode(in: In, node: Ast.Annotated[AstNode[Ast.DefModule]]): Out = default(in) + def defModuleTemplateAnnotatedNode(in: In, node: Ast.Annotated[AstNode[Ast.DefModuleTemplate]]): Out = default(in) + def defPortAnnotatedNode(in: In, node: Ast.Annotated[AstNode[Ast.DefPort]]): Out = default(in) def defSignalAnnotatedNode(in: In, node: Ast.Annotated[AstNode[Ast.DefSignal]]): Out = default(in) @@ -108,6 +110,8 @@ trait AstVisitor { def specLocAnnotatedNode(in: In, node: Ast.Annotated[AstNode[Ast.SpecLoc]]): Out = default(in) + def specTemplateExpandAnnotatedNode(in: In, node: Ast.Annotated[AstNode[Ast.SpecTemplateExpand]]): Out = default(in) + def specParamAnnotatedNode(in: In, node: Ast.Annotated[AstNode[Ast.SpecParam]]): Out = default(in) def specPortInstanceAnnotatedNode(in: In, node: Ast.Annotated[AstNode[Ast.SpecPortInstance]]): Out = default(in) @@ -208,6 +212,7 @@ trait AstVisitor { case Ast.ModuleMember.DefEnum(node1) => defEnumAnnotatedNode(in, (pre, node1, post)) case Ast.ModuleMember.DefInterface(node1) => defInterfaceAnnotatedNode(in, (pre, node1, post)) case Ast.ModuleMember.DefModule(node1) => defModuleAnnotatedNode(in, (pre, node1, post)) + case Ast.ModuleMember.DefModuleTemplate(node1) => defModuleTemplateAnnotatedNode(in, (pre, node1, post)) case Ast.ModuleMember.DefPort(node1) => defPortAnnotatedNode(in, (pre, node1, post)) case Ast.ModuleMember.DefStateMachine(node1) => defStateMachineAnnotatedNode(in, (pre, node1, post)) case Ast.ModuleMember.DefStruct(node1) => defStructAnnotatedNode(in, (pre, node1, post)) @@ -215,6 +220,7 @@ trait AstVisitor { case Ast.ModuleMember.DefTopology(node1) => defTopologyAnnotatedNode(in, (pre, node1, post)) case Ast.ModuleMember.SpecInclude(node1) => specIncludeAnnotatedNode(in, (pre, node1, post)) case Ast.ModuleMember.SpecLoc(node1) => specLocAnnotatedNode(in, (pre, node1, post)) + case Ast.ModuleMember.SpecTemplateExpand(node1) => specTemplateExpandAnnotatedNode(in, (pre, node1, post)) } } diff --git a/compiler/lib/src/main/scala/ast/ModuleTemplateStateTransformer.scala b/compiler/lib/src/main/scala/ast/ModuleTemplateStateTransformer.scala new file mode 100644 index 0000000000..34bede1aaf --- /dev/null +++ b/compiler/lib/src/main/scala/ast/ModuleTemplateStateTransformer.scala @@ -0,0 +1,26 @@ +package fpp.compiler.ast + +import fpp.compiler.syntax._ + +/** Visit module template members */ +trait ModuleTemplateStateTransformer extends AstStateTransformer { + + override def defModuleTemplateAnnotatedNode( + s: State, + aNode: Ast.Annotated[AstNode[Ast.DefModuleTemplate]] + ) = { + val (pre, node, post) = aNode + val Ast.DefModuleTemplate(name, params, members) = node.data + for { result <- transformList(s, members, moduleTemplateMember) } + yield { + val (s1, members1) = result + val defModuleTemplate = Ast.DefModuleTemplate(name, params, members1.flatten) + val node1 = AstNode.create(defModuleTemplate, node.id) + (s1, (pre, node1, post)) + } + } + + def moduleTemplateMember(s: State, member: Ast.ModuleMember): Result[List[Ast.ModuleMember]] = + matchModuleMember(s, member) + +} diff --git a/compiler/lib/src/main/scala/codegen/AstWriter.scala b/compiler/lib/src/main/scala/codegen/AstWriter.scala index be3d7c3437..3f1e74612f 100644 --- a/compiler/lib/src/main/scala/codegen/AstWriter.scala +++ b/compiler/lib/src/main/scala/codegen/AstWriter.scala @@ -2,7 +2,6 @@ package fpp.compiler.codegen import fpp.compiler.ast._ import fpp.compiler.util._ -import fpp.compiler.ast.Ast.QualIdent /** Write out an FPP AST */ object AstWriter extends AstVisitor with LineUtils { @@ -173,6 +172,33 @@ object AstWriter extends AstVisitor with LineUtils { (ident(data.name) ++ data.members.flatMap(moduleMember)).map(indentIn) } + override def defModuleTemplateAnnotatedNode( + in: In, + aNode: Ast.Annotated[AstNode[Ast.DefModuleTemplate]] + ) = { + val (_, node, _) = aNode + val data = node.data + lines("def module template") ++ + List.concat( + ident(data.name), + templateParamList(data.params), + data.members.flatMap(moduleMember) + ).map(indentIn) + } + + override def specTemplateExpandAnnotatedNode( + in: In, + aNode: Ast.Annotated[AstNode[Ast.SpecTemplateExpand]] + ) = { + val (_, node, _) = aNode + val data = node.data + lines("expand") ++ + List.concat( + qualIdent(data.template.data), + templateArgList(data.args) + ).map(indentIn) + } + override def defPortAnnotatedNode( in: In, aNode: Ast.Annotated[AstNode[Ast.DefPort]] @@ -866,6 +892,43 @@ object AstWriter extends AstVisitor with LineUtils { private def formalParamList(params: Ast.FormalParamList) = params.flatMap(annotateNode(formalParam)) + private def templateParam(tp: Ast.TemplateParam) = { + tp match { + case Ast.TemplateParam.Constant(name, typeName) => + line("constant template param") :: + typeNameNode(typeName).map(indentIn) + case Ast.TemplateParam.Type(name) => + line(s"type template param") :: + ident(name).map(indentIn) + case Ast.TemplateParam.Interface(name, interface) => + line(s"interface template param") :: + List.concat( + ident(name), + qualIdent(interface.data) + ).map(indentIn) + } + } + + private def templateParamList(params: Ast.TemplateParamList) = + params.flatMap(annotateNode(templateParam)) + + private def templateArg(tp: AstNode[Ast.TemplateArg]) = { + tp.data match { + case Ast.TemplateArg.Constant(e) => + line("constant template arg") :: + exprNode(e).map(indentIn) + case Ast.TemplateArg.Type(name) => + line("type template arg") :: + typeNameNode(name).map(indentIn) + case Ast.TemplateArg.Interface(i) => + line("interface template param") :: + qualIdent(i.data).map(indentIn) + } + } + + private def templateArgList(args: Ast.TemplateArgList) = + args.flatMap(templateArg) + private def ident(s: String) = lines("ident " ++ s) private def moduleMember(member: Ast.ModuleMember) = { diff --git a/compiler/lib/src/main/scala/codegen/CppWriter/CppWriterState.scala b/compiler/lib/src/main/scala/codegen/CppWriter/CppWriterState.scala index cb9798695f..62055b69a0 100644 --- a/compiler/lib/src/main/scala/codegen/CppWriter/CppWriterState.scala +++ b/compiler/lib/src/main/scala/codegen/CppWriter/CppWriterState.scala @@ -189,10 +189,14 @@ case class CppWriterState( this.a.interfaceMap(iface).aNode, ) a.usedSymbolSet.flatMap(getIncludeFiles).toList - case _: Symbol.ComponentInstance => List() + case arg: Symbol.TemplateTypeArg => getIncludeFiles(a.useDefMap(arg.getNodeId)) + case arg: Symbol.TemplateInterfaceArg => getIncludeFiles(a.useDefMap(arg.getNodeId)) case _: Symbol.Constant => List() case _: Symbol.EnumConstant => List() case _: Symbol.Module => List() + case _: Symbol.ComponentInstance => List() + case _: Symbol.Template => List() + case _: Symbol.TemplateConstantArg => List() case _: Symbol.System => List() } } diff --git a/compiler/lib/src/main/scala/codegen/FppWriter.scala b/compiler/lib/src/main/scala/codegen/FppWriter.scala index 8ad5bbf306..162f4ed0f1 100644 --- a/compiler/lib/src/main/scala/codegen/FppWriter.scala +++ b/compiler/lib/src/main/scala/codegen/FppWriter.scala @@ -262,6 +262,38 @@ object FppWriter extends AstVisitor with LineUtils { List(Line.blank, line("}")) } + override def defModuleTemplateAnnotatedNode( + in: In, + aNode: Ast.Annotated[AstNode[Ast.DefModuleTemplate]] + ) = { + val (_, node, _) = aNode + val data = node.data + lines (s"module template ${ident(data.name)}"). + join ("") (paramList (templateParam) (data.params)). + addSuffix(" {") ++ + ((Line.blankSeparated (moduleMember) (data.members)).map(indentIn)) ++ + List(Line.blank, line("}")) + } + + override def specTemplateExpandAnnotatedNode( + in: In, + aNode: Ast.Annotated[AstNode[Ast.SpecTemplateExpand]] + ): Out = { + val (_, node, _) = aNode + val data = node.data + val header = + lines("expand"). + join(" ") (qualIdent(data.template.data)). + join ("") (templateArgList(data.args)) + data.members match { + case None => header + case Some(members) => + header.addSuffix(" {") ++ + (Line.blankSeparated (moduleMember) (members)).map(indentIn) ++ + List(Line.blank, line("}")) + } + } + override def defPortAnnotatedNode( in: In, aNode: Ast.Annotated[AstNode[Ast.DefPort]] @@ -849,15 +881,38 @@ object FppWriter extends AstVisitor with LineUtils { lines(name).join (": ") (typeNameNode(fp.typeName)) } - private def formalParamList(fpl: Ast.FormalParamList) = - fpl match { + private val formalParamList = paramList (formalParam) + + private def paramList[T] (f: T => List[Line]) (params: List[Ast.Annotated[AstNode[T]]]) = + params match { case Nil => Nil case _ => lines("(") ++ - fpl.flatMap(annotateNode(formalParam)).map(indentIn) ++ + params.flatMap(annotateNode(f)).map(indentIn) ++ lines(")") } + private def templateArg(arg: Ast.TemplateArg) = + arg match { + case Ast.TemplateArg.Constant(e) => + lines("constant").join(" ") (exprNode(e)) + case Ast.TemplateArg.Type(name) => + lines("type").join(" ") (typeNameNode(name)) + case Ast.TemplateArg.Interface(i) => + lines("interface").join(" ") (qualIdent(i.data)) + } + + private def argList[T] (f: T => List[Line]) (args: List[AstNode[T]]) = + args match { + case Nil => Nil + case _ => + lines("(") ++ + args.flatMap({ case node => f(node.data) }).map(indentIn) ++ + lines(")") + } + + private val templateArgList = argList (templateArg) + private def ident(id: Ast.Ident) = if (Lexer.reservedWordSet.contains(id)) "$" ++ id else id @@ -867,6 +922,12 @@ object FppWriter extends AstVisitor with LineUtils { qualIdent(pii.interfaceInstance.data). addSuffix(s".${ident(pii.portName.data)}") + private def prefixWithDictionary(s: String, isDictionaryDef: Boolean) = + if isDictionaryDef then + s"dictionary $s" + else + s + private def qualIdent(qid: Ast.QualIdent): Out = lines(qualIdentString(qid)) @@ -900,6 +961,19 @@ object FppWriter extends AstVisitor with LineUtils { join (" ") (typeNameNode(member.typeName)). joinOpt (member.format) (" format ") (applyToData(string)) + private def templateParam(tp: Ast.TemplateParam) = { + tp match { + case Ast.TemplateParam.Constant(name, typeName) => + lines(s"constant $name: "). + join("") (typeNameNode(typeName)) + case Ast.TemplateParam.Type(name) => + lines(s"type $name") + case Ast.TemplateParam.Interface(name, interface) => + lines(s"interface $name: "). + join("") (qualIdent(interface.data)) + } + } + private def tlmChannelId(tci: Ast.TlmChannelIdentifier) = qualIdent(tci.componentInstance.data). addSuffix(s".${ident(tci.channelName.data)}") @@ -916,9 +990,4 @@ object FppWriter extends AstVisitor with LineUtils { private def unop(op: Ast.Unop) = op.toString - private def prefixWithDictionary(s: String, isDictionaryDef: Boolean) = - if isDictionaryDef then - s"dictionary $s" - else - s } diff --git a/compiler/lib/src/main/scala/codegen/JsonEncoder/AnalysisJsonEncoder.scala b/compiler/lib/src/main/scala/codegen/JsonEncoder/AnalysisJsonEncoder.scala index ffa734f57e..70847af8f2 100644 --- a/compiler/lib/src/main/scala/codegen/JsonEncoder/AnalysisJsonEncoder.scala +++ b/compiler/lib/src/main/scala/codegen/JsonEncoder/AnalysisJsonEncoder.scala @@ -55,8 +55,19 @@ object AnalysisJsonEncoder extends JsonEncoder{ private implicit val interfaceInstanceEncoder: Encoder[InterfaceInstance] = Encoder.instance { instance => val nodeJson = instance match { - case InterfaceInstance.InterfaceComponentInstance(ci) => ci.aNode.asJson - case InterfaceInstance.InterfaceTopology(t) => t.aNode.asJson + case InterfaceInstance.InterfaceComponentInstance(ci) => ci.aNode._2.id.asJson + case InterfaceInstance.InterfaceTopology(t) => t.aNode._2.id.asJson + case InterfaceInstance.InterfaceTemplateArg( + paramDef, + interface, + ii + ) => Json.obj( + "paramDef" -> Json.obj( + "name" -> paramDef.name.asJson, + "interfaceNodeId" -> paramDef.interface.id.asJson + ), + "ii" -> ii.asJson + ) } addTypeNameKey(instance, nodeJson) } diff --git a/compiler/lib/src/main/scala/codegen/LocateDefsFppWriter.scala b/compiler/lib/src/main/scala/codegen/LocateDefsFppWriter.scala index 433f45f51f..63688fc183 100644 --- a/compiler/lib/src/main/scala/codegen/LocateDefsFppWriter.scala +++ b/compiler/lib/src/main/scala/codegen/LocateDefsFppWriter.scala @@ -116,6 +116,30 @@ object LocateDefsFppWriter extends AstVisitor with LineUtils { members.flatMap(matchModuleMember(s1, _)) } + override def defModuleTemplateAnnotatedNode( + s: State, + aNode: Ast.Annotated[AstNode[Ast.DefModuleTemplate]] + ) = { + val (_, node, _) = aNode + val data = node.data + writeSpecLoc(s, Ast.SpecLoc.Template, data.name, node) + } + + override def specTemplateExpandAnnotatedNode( + s: State, + aNode: Ast.Annotated[AstNode[Ast.SpecTemplateExpand]] + ) = { + // If the template has been expanded, its generated definitions live in the + // members list. Locate them so that files using expansion-generated + // symbols can resolve them. The generated definitions are placed in the + // enclosing scope, so we do not push a scope name here. + val (_, node, _) = aNode + node.data.members match { + case Some(members) => members.flatMap(matchModuleMember(s, _)) + case None => Nil + } + } + override def defPortAnnotatedNode( s: State, aNode: Ast.Annotated[AstNode[Ast.DefPort]] diff --git a/compiler/lib/src/main/scala/syntax/Lexer.scala b/compiler/lib/src/main/scala/syntax/Lexer.scala index d59f46e13d..e4a6b1ba6d 100644 --- a/compiler/lib/src/main/scala/syntax/Lexer.scala +++ b/compiler/lib/src/main/scala/syntax/Lexer.scala @@ -58,6 +58,7 @@ object Lexer { ("event", EVENT), ("every", EVERY), ("exit", EXIT), + ("expand", EXPAND), ("external", EXTERNAL), ("false", FALSE), ("fatal", FATAL), @@ -121,6 +122,7 @@ object Lexer { ("sync", SYNC), ("system", SYSTEM), ("telemetry", TELEMETRY), + ("template", TEMPLATE), ("text", TEXT), ("throttle", THROTTLE), ("time", TIME), @@ -258,6 +260,7 @@ object Lexer { case EVERY => Token.EVERY() case EXIT => Token.EXIT() case EXTERNAL => Token.EXTERNAL() + case EXPAND => Token.EXPAND() case F32 => Token.F32() case F64 => Token.F64() case FALSE => Token.FALSE() @@ -347,6 +350,7 @@ object Lexer { case SYNC => Token.SYNC() case SYSTEM => Token.SYSTEM() case TELEMETRY => Token.TELEMETRY() + case TEMPLATE => Token.TEMPLATE() case TEXT => Token.TEXT() case THROTTLE => Token.THROTTLE() case TIME => Token.TIME() diff --git a/compiler/lib/src/main/scala/syntax/Parser.scala b/compiler/lib/src/main/scala/syntax/Parser.scala index e9ecc74264..b2abbf601f 100644 --- a/compiler/lib/src/main/scala/syntax/Parser.scala +++ b/compiler/lib/src/main/scala/syntax/Parser.scala @@ -422,17 +422,16 @@ object Parser extends Parsers { } } - def formalParamList: Parser[Ast.FormalParamList] = { - def id(x: Ast.Annotated[AstNode[Ast.FormalParam]]) = x - - def params = annotatedElementSequence(node(formalParam), comma, id) - + private def paramList[T](param: Parser[T]): Parser[List[Ast.Annotated[AstNode[T]]]] = { + def params = annotatedElementSequence(node(param), comma, { case x => x }) opt(lparen ~>! params <~! rparen) ^^ { case Some(params) => params case None => Nil } } + val formalParamList = paramList(formalParam) + def index: Parser[AstNode[Ast.Expr]] = lbracket ~>! exprNode <~! rbracket def moduleMemberNode: Parser[Ast.ModuleMember.Node] = { @@ -445,6 +444,7 @@ object Parser extends Parsers { Ast.ModuleMember.DefComponentInstance(n)) | node(defConstant) ^^ (n => Ast.ModuleMember.DefConstant(n)) | node(defEnum) ^^ (n => Ast.ModuleMember.DefEnum(n)) | + node(defModuleTemplate) ^^ (n => Ast.ModuleMember.DefModuleTemplate(n)) | node(defModule) ^^ (n => Ast.ModuleMember.DefModule(n)) | node(defPort) ^^ (n => Ast.ModuleMember.DefPort(n)) | node(defStateMachine) ^^ (n => @@ -454,6 +454,7 @@ object Parser extends Parsers { node(defTopology) ^^ (n => Ast.ModuleMember.DefTopology(n)) | node(specInclude) ^^ (n => Ast.ModuleMember.SpecInclude(n)) | node(specLoc) ^^ (n => Ast.ModuleMember.SpecLoc(n)) | + node(specTemplateExpand) ^^ (n => Ast.ModuleMember.SpecTemplateExpand(n)) | failure("module member expected") } @@ -700,6 +701,7 @@ object Parser extends Parsers { instance ^^ (_ => Ast.SpecLoc.Instance) | port ^^ (_ => Ast.SpecLoc.Port) | state ~! machine ^^ (_ => Ast.SpecLoc.StateMachine) | + template ^^ (_ => Ast.SpecLoc.Template) | system ^^ (_ => Ast.SpecLoc.System) | interface ^^ (_ => Ast.SpecLoc.Interface) def maybeDictPair = @@ -1041,6 +1043,60 @@ object Parser extends Parsers { failure("type name expected") } + private def templateParam: Parser[Ast.TemplateParam] = { + def paramConstant: Parser[Ast.TemplateParam.Constant] = { + (constant ~>! ident) ~! (colon ~>! node(typeName)) ^^ { + case id ~ tn => Ast.TemplateParam.Constant(id, tn) + } + } + + def paramType: Parser[Ast.TemplateParam.Type] = { + typeToken ~>! ident ^^ { + case id => Ast.TemplateParam.Type(id) + } + } + + def paramInterface: Parser[Ast.TemplateParam.Interface] = { + (interface ~>! ident) ~! (colon ~>! node(qualIdent)) ^^ { + case id ~ iface => Ast.TemplateParam.Interface(id, iface) + } + } + paramConstant | + paramType | + paramInterface | + failure("template parameter expected") + } + + val templateParamList = paramList(templateParam) + + def defModuleTemplate: Parser[Ast.DefModuleTemplate] = { + (module ~> template ~>! ident) ~! templateParamList ~! (lbrace ~>! moduleMembers <~! rbrace) ^^ { + case name ~ params ~ members => Ast.DefModuleTemplate(name, params, members) + } + } + + def templateArg: Parser[Ast.TemplateArg] = { + (constant ~>! exprNode) ^^ { case e => Ast.TemplateArg.Constant(e) } | + typeToken ~>! node(typeName) ^^ { case tn => Ast.TemplateArg.Type(tn) } | + interface ~>! node(qualIdent) ^^ { case i => Ast.TemplateArg.Interface(i) } | + failure("template argument expected") + } + + private def argList[T](arg: Parser[T]): Parser[List[AstNode[T]]] = { + opt(lparen ~>! elementSequence(node(arg), comma) <~! rparen) ^^ { + case Some(args) => args + case None => Nil + } + } + + val templateArgList = argList(templateArg) + + def specTemplateExpand: Parser[Ast.SpecTemplateExpand] = { + (expand ~>! node(qualIdent)) ~! templateArgList ^^ { + case id ~ args => Ast.SpecTemplateExpand(id, args, None) + } + } + override def commit[T](p: => Parser[T]) = Parser { in => def setError(e: Error) = { error match { @@ -1119,8 +1175,6 @@ object Parser extends Parsers { private def choice = accept("choice", { case t: Token.CHOICE => t }) - private def lbrace = accept("{", { case t: Token.LBRACE => t }) - private def colon = accept(":", { case t: Token.COLON => t }) private def comma = accept(",", { case t: Token.COMMA => t }) @@ -1177,6 +1231,8 @@ object Parser extends Parsers { private def exit = accept("exit", { case t: Token.EXIT => t }) + private def expand = accept("expand", { case t: Token.EXPAND => t }) + private def external = accept("external", { case t : Token.EXTERNAL => t }) private def falseToken = accept("false", { case t : Token.FALSE => t }) @@ -1222,9 +1278,11 @@ object Parser extends Parsers { private def instance = accept("instance", { case t: Token.INSTANCE => t }) + private def interface = accept("interface", { case t: Token.INTERFACE => t }) + private def internal = accept("internal", { case t: Token.INTERNAL => t }) - private def interface = accept("interface", { case t: Token.INTERFACE => t }) + private def lbrace = accept("{", { case t: Token.LBRACE => t }) private def lbracket = accept("[", { case t: Token.LBRACKET => t }) @@ -1349,6 +1407,8 @@ object Parser extends Parsers { private def telemetry = accept("telemetry", { case t: Token.TELEMETRY => t }) + private def template = accept("template", { case t: Token.TEMPLATE => t }) + private def text = accept("text", { case t: Token.TEXT => t }) private def throttle = accept("throttle", { case t: Token.THROTTLE => t }) @@ -1369,6 +1429,7 @@ object Parser extends Parsers { private def yellow = accept("yellow", { case t: Token.YELLOW => t }) + /** The first error seen */ private var error: Option[Error] = None diff --git a/compiler/lib/src/main/scala/syntax/Token.scala b/compiler/lib/src/main/scala/syntax/Token.scala index 820f9fac6f..e255b9e0ed 100644 --- a/compiler/lib/src/main/scala/syntax/Token.scala +++ b/compiler/lib/src/main/scala/syntax/Token.scala @@ -44,6 +44,7 @@ object Token { final case class EVENT() extends Token final case class EVERY() extends Token final case class EXIT() extends Token + final case class EXPAND() extends Token final case class EXTERNAL() extends Token final case class F32() extends Token final case class F64() extends Token @@ -63,8 +64,8 @@ object Token { final case class I8() extends Token final case class ID() extends Token final case class IDENTIFIER(str: String) extends Token - final case class IMPLEMENTS() extends Token final case class IF() extends Token + final case class IMPLEMENTS() extends Token final case class IMPORT() extends Token final case class INCLUDE() extends Token final case class INITIAL() extends Token @@ -133,6 +134,7 @@ object Token { final case class SYNC() extends Token final case class SYSTEM() extends Token final case class TELEMETRY() extends Token + final case class TEMPLATE() extends Token final case class TEXT() extends Token final case class THROTTLE() extends Token final case class TIME() extends Token @@ -178,6 +180,7 @@ enum TokenId { case BLOCK case BOOL case CHANGE + case CHOICE case COMMAND case COMPONENT case CONNECTIONS @@ -197,6 +200,7 @@ enum TokenId { case EVENT case EVERY case EXIT + case EXPAND case EXTERNAL case F32 case F64 @@ -216,15 +220,14 @@ enum TokenId { case I8 case ID case IF - case IMPORT case IMPLEMENTS + case IMPORT case INCLUDE case INITIAL case INPUT case INSTANCE case INTERFACE case INTERNAL - case CHOICE case LOCATE case LOW case MACHINE @@ -267,6 +270,7 @@ enum TokenId { case SYNC case SYSTEM case TELEMETRY + case TEMPLATE case TEXT case THROTTLE case TIME diff --git a/compiler/lib/src/main/scala/transform/AddStateEnums.scala b/compiler/lib/src/main/scala/transform/AddStateEnums.scala index 0cbdc240dd..4598f1f359 100644 --- a/compiler/lib/src/main/scala/transform/AddStateEnums.scala +++ b/compiler/lib/src/main/scala/transform/AddStateEnums.scala @@ -9,6 +9,7 @@ import fpp.compiler.util._ object AddStateEnums extends AstStateTransformer with ComponentStateTransformer with ModuleStateTransformer + with ModuleTemplateStateTransformer { type State = Unit diff --git a/compiler/lib/src/main/scala/transform/ExpandTemplates.scala b/compiler/lib/src/main/scala/transform/ExpandTemplates.scala new file mode 100644 index 0000000000..2052581284 --- /dev/null +++ b/compiler/lib/src/main/scala/transform/ExpandTemplates.scala @@ -0,0 +1,1138 @@ +package fpp.compiler.transform + +import fpp.compiler.analysis._ +import fpp.compiler.ast._ +import fpp.compiler.util._ + +/** Expand any template expansion specifiers that have not yet been expanded */ +object ExpandTemplates extends AstTransformer +{ + + type State = Analysis + + type In = State + + type Out = Unit + + def default(a: Analysis) = + throw new InternalError("ExpandTemplates: Transformer not implemented") + + /** Transform a list in sequence, threading state */ + def transformList[A, B]( + s: State, + list: List[A], + transform: (State, A) => Result[B] + ): Result[List[B]] = { + def helper(in: List[A], out: List[B]): Result[List[B]] = { + in match { + case Nil => Right(((), out)) + case head :: tail => transform(s, head) match { + case Left(e) => Left(e) + case Right((_, list)) => helper(tail, list :: out) + } + } + } + for { pair <- helper(list, Nil) } + yield ((), pair._2.reverse) + } + + override def transUnit( + a: Analysis, + tu: Ast.TransUnit + ): Result[Ast.TransUnit] = { + for { + members <- transformList(a, tu.members, matchModuleMember) + } yield (members._1, Ast.TransUnit(members._2.flatten)) + } + + // Duplicate every node inside a template definition + override def defaultNode[T]( + a: Analysis, + node: AstNode[T] + ) = + a.template match { + case None => Right((), node) + case Some(expansionNode) => { + val out = AstNode.create(node.data) + val inLoc = Locations.get(node.id) + Locations.put(out.id, Location( + inLoc.file, + inLoc.pos, + inLoc.includingLoc, + Some(Locations.get(expansionNode)) + )) + Right((), out) + } + } + + def defaultNodeOpt[T]( + a: Analysis, + node: Option[AstNode[T]] + ): Result[Option[AstNode[T]]] = + node match { + case None => Right(((), None)) + case Some(node) => + for (result <- defaultNode(a, node)) + yield (result._1, Some(result._2)) + } + + override def defaultAnnotatedNode[T]( + a: In, + aNode: Ast.Annotated[AstNode[T]] + ) = { + a.template match { + // We are not currently in a template, leave the node alone + case None => Right((), aNode) + case Some(_) => + val (pre, node, post) = aNode + for (inter <- defaultNode(a, node)) + yield (inter._1, (pre, inter._2, post)) + } + } + + inline def cloneNode[T]( + a: Analysis, + node: AstNode[T], + data: T + ) = + a.template match { + case None => AstNode.create(data, node.id) + case Some(expansionNode) => { + val out = AstNode.create(data) + val inLoc = Locations.get(node.id) + Locations.put(out.id, Location( + inLoc.file, + inLoc.pos, + inLoc.includingLoc, + Some(Locations.get(expansionNode)) + )) + out + } + } + + inline def cloneAnnotatedNode[T]( + a: Analysis, + aNode: Ast.Annotated[AstNode[T]], + data: T + ) = { + val (pre, node, post) = aNode + (pre, cloneNode(a, node, data), post) + } + + override def exprArrayNode(a: In, node: AstNode[Ast.Expr], e: Ast.ExprArray): ResultNode[Ast.Expr] = + for { result <- transformList(a, e.elts, matchExprNode) } + yield { + val (a1, elts1) = result + (a1, cloneNode(a, node, Ast.ExprArray(elts1))) + } + + override def exprArraySubscriptNode(a: In, node: AstNode[Ast.Expr], e: Ast.ExprArraySubscript): ResultNode[Ast.Expr] = + for { + e1 <- matchExprNode(a, e.e1) + e2 <- matchExprNode(a, e.e2) + } + yield { + val (_, e1_) = e1 + val (_, e2_) = e2 + ((), cloneNode(a, node, Ast.ExprArraySubscript(e1_, e2_))) + } + + override def exprBinopNode(a: In, node: AstNode[Ast.Expr], e: Ast.ExprBinop): ResultNode[Ast.Expr] = + for { + e1 <- matchExprNode(a, e.e1) + e2 <- matchExprNode(a, e.e2) + } + yield { + val (_, e1_) = e1 + val (_, e2_) = e2 + ((), cloneNode(a, node, Ast.ExprBinop(e1_, e.op, e2_))) + } + + override def exprDotNode(a: In, node: AstNode[Ast.Expr], e: Ast.ExprDot): ResultNode[Ast.Expr] = + for (result <- matchExprNode(a, e.e)) + yield { + val (a1, left) = result + (a1, cloneNode(a, node, Ast.ExprDot(left, cloneNode(a, e.id, e.id.data)))) + } + + override def exprParenNode(a: In, node: AstNode[Ast.Expr], e: Ast.ExprParen): ResultNode[Ast.Expr] = + for (result <- matchExprNode(a, e.e)) + yield { + val (a1, value) = result + (a1, cloneNode(a, node, Ast.ExprParen(value))) + } + + def structMember( + a: Analysis, + node: AstNode[Ast.StructMember] + ) = { + for (result <- matchExprNode(a, node.data.value)) + yield { + val (a1, value) = result + (a1, cloneNode(a, node, Ast.StructMember( + node.data.name, + value + ))) + } + } + + def cloneQualIdentNode( + a: In, + node: AstNode[Ast.QualIdent] + ): AstNode[Ast.QualIdent] = { + node.data match { + case Ast.QualIdent.Qualified(qualifier, name) => + cloneNode(a, node, Ast.QualIdent.Qualified( + cloneQualIdentNode(a, qualifier), + cloneNode(a, name, name.data) + )) + case Ast.QualIdent.Unqualified(name) => + cloneNode(a, node, Ast.QualIdent.Unqualified(name)) + } + } + + def qualIdentNode( + a: In, + node: AstNode[Ast.QualIdent] + ): ResultNode[Ast.QualIdent] = + Right(((), cloneQualIdentNode(a, node))) + + override def exprStructNode( + a: Analysis, + node: AstNode[Ast.Expr], + e: Ast.ExprStruct + ) = + for { result <- transformList(a, e.members, structMember) } + yield { + val (a1, members1) = result + (a1, cloneNode(a, node, Ast.ExprStruct(members1))) + } + + override def exprUnopNode(a: In, node: AstNode[Ast.Expr], e: Ast.ExprUnop) = + for (ec <- matchExprNode(a, e.e)) + yield (ec._1, cloneNode(a, node, Ast.ExprUnop(e.op, ec._2))) + + override def exprSizeOfNode(a: In, node: AstNode[Ast.Expr], e: Ast.ExprSizeOf): ResultNode[Ast.Expr] = + for (result <- matchTypeName(a, e.typeName)) + yield (result._1, cloneNode(a, node, Ast.ExprSizeOf(result._2))) + + override def typeNameQualIdentNode( + a: In, + node: AstNode[Ast.TypeName], + tn: Ast.TypeNameQualIdent + ): ResultNode[Ast.TypeName] = { + Right(((), cloneNode(a, node, Ast.TypeNameQualIdent( + cloneQualIdentNode(a, tn.name) + )))) + } + + def exprNodeOpt( + a: In, + node: Option[AstNode[Ast.Expr]] + ): Result[Option[AstNode[Ast.Expr]]] = + node match { + case None => Right(((), None)) + case Some(value) => + for (result <- matchExprNode(a, value)) + yield { + val (a1, v1) = result + (a1, Some(v1)) + } + } + + override def typeNameStringNode( + a: In, + node: AstNode[Ast.TypeName], + tn: Ast.TypeNameString + ): ResultNode[Ast.TypeName] = { + tn.size match { + case None => + Right(((), cloneNode(a, node, Ast.TypeNameString(None)))) + case Some(size) => + for (result <- matchExprNode(a, size)) + yield { + val (a1, value) = result + (a1, cloneNode(a, node, Ast.TypeNameString(Some(value)))) + } + } + } + + def typeNameNodeOpt( + a: In, + node: Option[AstNode[Ast.TypeName]] + ): Result[Option[AstNode[Ast.TypeName]]] = + node match { + case None => Right(((), None)) + case Some(tn) => + for (result <- matchTypeName(a, tn)) + yield ((), Some(result._2)) + } + + override def defAliasTypeAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.DefAliasType]] + ): ResultAnnotatedNode[Ast.DefAliasType] = + val data = aNode._2.data + for (result <- matchTypeName(a, data.typeName)) + yield { + val (a1, ty) = result + (a1, cloneAnnotatedNode( + a, aNode, data.copy(typeName = ty) + )) + } + + def cloneStringNodeOpt( + a: In, + node: Option[AstNode[String]] + ): Option[AstNode[String]] = + node match { + case None => None + case Some(value) => Some(cloneNode(a, value, value.data)) + } + + override def defArrayAnnotatedNode(a: In, aNode: Ast.Annotated[AstNode[Ast.DefArray]]): ResultAnnotatedNode[Ast.DefArray] = + val data = aNode._2.data + for { + size <- matchExprNode(a, data.size) + eltType <- matchTypeName(a, data.eltType) + default <- exprNodeOpt(a, data.default) + } yield { + ( + (), + cloneAnnotatedNode( + a, aNode, + data.copy( + size = size._2, + eltType = eltType._2, + default = default._2, + format = cloneStringNodeOpt(a, data.format) + ) + ) + ) + } + + override def defComponentAnnotatedNode(a: In, aNode: Ast.Annotated[AstNode[Ast.DefComponent]]): ResultAnnotatedNode[Ast.DefComponent] = + val data = aNode._2.data + for (result <- transformList(a, data.members, matchComponentMember)) + yield { + val (a1, members1) = result + (a1, cloneAnnotatedNode(a, aNode, data.copy(members = members1.flatten))) + } + + override def defComponentInstanceAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.DefComponentInstance]] + ): ResultAnnotatedNode[Ast.DefComponentInstance] = + val data = aNode._2.data + for { + component <- Right(cloneQualIdentNode(a, data.component)) + baseId <- matchExprNode(a, data.baseId) + queueSize <- exprNodeOpt(a, data.queueSize) + stackSize <- exprNodeOpt(a, data.stackSize) + priority <- exprNodeOpt(a, data.priority) + cpu <- exprNodeOpt(a, data.cpu) + initSpecs <- transformList(a, data.initSpecs, specInitAnnotatedNode) + } yield { + ( + (), + cloneAnnotatedNode( + a, aNode, + data.copy( + component=component, + baseId=baseId._2, + implType=cloneStringNodeOpt(a, data.implType), + file=cloneStringNodeOpt(a, data.file), + queueSize=queueSize._2, + stackSize=stackSize._2, + priority=priority._2, + cpu=cpu._2, + initSpecs=initSpecs._2 + ) + ) + ) + } + + override def defInterfaceAnnotatedNode(a: In, aNode: Ast.Annotated[AstNode[Ast.DefInterface]]): ResultAnnotatedNode[Ast.DefInterface] = + val data = aNode._2.data + for (result <- transformList(a, data.members, matchInterfaceMember)) + yield { + val (a1, members1) = result + (a1, cloneAnnotatedNode(a, aNode, data.copy(members=members1))) + } + + override def defConstantAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.DefConstant]] + ): ResultAnnotatedNode[Ast.DefConstant] = + val data = aNode._2.data + for (value <- matchExprNode(a, data.value)) + yield { + ((), + cloneAnnotatedNode( + a, aNode, + data.copy(value = value._2))) + } + + def defEnumConstantAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.DefEnumConstant]] + ): ResultAnnotatedNode[Ast.DefEnumConstant] = + val data = aNode._2.data + for (value <- exprNodeOpt(a, data.value)) + yield { + ((), cloneAnnotatedNode(a, aNode, data.copy(value = value._2))) + } + + override def defEnumAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.DefEnum]] + ): ResultAnnotatedNode[Ast.DefEnum] = + val data = aNode._2.data + for { + typeName <- typeNameNodeOpt(a, data.typeName) + constants <- transformList(a, data.constants, defEnumConstantAnnotatedNode) + default <- exprNodeOpt(a, data.default) + } yield ((), cloneAnnotatedNode(a, aNode, data.copy( + typeName = typeName._2, + constants = constants._2, + default = default._2 + ))) + + def formalAnnotatatedParam( + a: In, + aNode: Ast.Annotated[AstNode[Ast.FormalParam]] + ) = + val data = aNode._2.data + for (ty <- matchTypeName(a, data.typeName)) + yield ((), cloneAnnotatedNode(a, aNode, data.copy(typeName = ty._2))) + + def formalParamList( + a: In, + aNode: Ast.FormalParamList + ) = transformList(a, aNode, formalAnnotatatedParam) + + override def defPortAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.DefPort]] + ): ResultAnnotatedNode[Ast.DefPort] = + val data = aNode._2.data + for { + params <- formalParamList(a, data.params) + returnType <- typeNameNodeOpt(a, data.returnType) + } yield ((), cloneAnnotatedNode(a, aNode, data.copy( + params = params._2, + returnType = returnType._2 + ))) + + override def defStateMachineAnnotatedNodeExternal( + in: In, + node: Ast.Annotated[AstNode[Ast.DefStateMachine]] + ): ResultAnnotatedNode[Ast.DefStateMachine] = + defaultAnnotatedNode(in, node) + + override def defStateMachineAnnotatedNodeInternal( + a: In, + aNode: Ast.Annotated[AstNode[Ast.DefStateMachine]], + members: List[Ast.StateMachineMember] + ): ResultAnnotatedNode[Ast.DefStateMachine] = + val data = aNode._2.data + for (result <- transformList(a, members, matchStateMachineMember)) + yield (result._1, cloneAnnotatedNode(a, aNode, data.copy(members = Some(result._2.flatten)))) + + override def defStateMachineAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.DefStateMachine]] + ): ResultAnnotatedNode[Ast.DefStateMachine] = + val data = aNode._2.data + data.members match { + case None => defStateMachineAnnotatedNodeExternal(a, aNode) + case Some(members) => defStateMachineAnnotatedNodeInternal(a, aNode, members) + } + + override def defActionAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.DefAction]] + ): ResultAnnotatedNode[Ast.DefAction] = + val data = aNode._2.data + for { + typeName <- typeNameNodeOpt(a, data.typeName) + } yield { + ((), cloneAnnotatedNode(a, aNode, data.copy(typeName = typeName._2))) + } + + def transitionExpr( + a: In, + node: AstNode[Ast.TransitionExpr] + ): ResultNode[Ast.TransitionExpr] = + for { + actions <- transformList(a, node.data.actions, defaultNode) + target <- defaultNode(a, node.data.target) + } yield ((), cloneNode(a, node, node.data.copy( + actions = actions._2, + target = target._2, + ))) + + override def defChoiceAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.DefChoice]] + ): ResultAnnotatedNode[Ast.DefChoice] = + val data = aNode._2.data + for { + guard <- defaultNode(a, data.guard) + ifTransition <- transitionExpr(a, data.ifTransition) + elseTransition <- transitionExpr(a, data.elseTransition) + } yield { + ((), cloneAnnotatedNode(a, aNode, data.copy( + guard = guard._2, + ifTransition = ifTransition._2, + elseTransition = elseTransition._2, + ))) + } + + override def defGuardAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.DefGuard]] + ): ResultAnnotatedNode[Ast.DefGuard] = + val data = aNode._2.data + for { + typeName <- typeNameNodeOpt(a, data.typeName) + } yield { + ((), cloneAnnotatedNode(a, aNode, data.copy(typeName = typeName._2))) + } + + override def defSignalAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.DefSignal]] + ): ResultAnnotatedNode[Ast.DefSignal] = + val data = aNode._2.data + for { + typeName <- typeNameNodeOpt(a, data.typeName) + } yield { + ((), cloneAnnotatedNode(a, aNode, data.copy(typeName = typeName._2))) + } + + override def defStateAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.DefState]] + ): ResultAnnotatedNode[Ast.DefState] = + val data = aNode._2.data + for (members <- transformList(a, data.members, matchStateMember)) + yield ((), cloneAnnotatedNode(a, aNode, data.copy(members = members._2.flatten))) + + override def specInitialTransitionAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.SpecInitialTransition]] + ): ResultAnnotatedNode[Ast.SpecInitialTransition] = + val data = aNode._2.data + for { + transition <- transitionExpr(a, data.transition) + } yield { + ((), cloneAnnotatedNode(a, aNode, data.copy(transition = transition._2))) + } + + override def specStateEntryAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.SpecStateEntry]] + ): ResultAnnotatedNode[Ast.SpecStateEntry] = + val data = aNode._2.data + for { + actions <- transformList(a, data.actions, defaultNode) + } yield { + ((), cloneAnnotatedNode(a, aNode, data.copy(actions = actions._2))) + } + + override def specStateExitAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.SpecStateExit]] + ): ResultAnnotatedNode[Ast.SpecStateExit] = + val data = aNode._2.data + for { + actions <- transformList(a, data.actions, defaultNode) + } yield { + ((), cloneAnnotatedNode(a, aNode, data.copy(actions = actions._2))) + } + + def transitionOrDo( + a: In, + transitionOrDo: Ast.TransitionOrDo + ) = + transitionOrDo match + case Ast.TransitionOrDo.Transition(transition) => + for (result <- transitionExpr(a, transition)) + yield (result._1, Ast.TransitionOrDo.Transition(result._2)) + case Ast.TransitionOrDo.Do(actions) => + for (result <- transformList(a, actions, defaultNode)) + yield (result._1, Ast.TransitionOrDo.Do(result._2)) + + + override def specStateTransitionAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.SpecStateTransition]] + ): ResultAnnotatedNode[Ast.SpecStateTransition] = + val data = aNode._2.data + for { + signal <- defaultNode(a, data.signal) + guard <- defaultNodeOpt(a, data.guard) + transitionOrDo <- transitionOrDo(a, data.transitionOrDo) + } yield { + ((), cloneAnnotatedNode(a, aNode, data.copy( + signal = signal._2, + guard = guard._2, + transitionOrDo = transitionOrDo._2 + ))) + } + + def structTypeMemberAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.StructTypeMember]] + ) = + val data = aNode._2.data + for { + size <- exprNodeOpt(a, data.size) + typeName <- matchTypeName(a, data.typeName) + } yield { + ((), cloneAnnotatedNode(a, aNode, data.copy( + size = size._2, + typeName = typeName._2, + format = cloneStringNodeOpt(a, data.format) + ))) + } + + override def defStructAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.DefStruct]] + ): ResultAnnotatedNode[Ast.DefStruct] = + val data = aNode._2.data + for { + members <- transformList(a, data.members, structTypeMemberAnnotatedNode) + default <- exprNodeOpt(a, data.default) + } yield { + ((), cloneAnnotatedNode(a, aNode, data.copy( + members = members._2, + default = default._2 + ))) + } + + override def defTopologyAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.DefTopology]] + ): ResultAnnotatedNode[Ast.DefTopology] = + val data = aNode._2.data + for { + members <- transformList(a, data.members, matchTopologyMember) + implements <- transformList(a, data.implements, (a, q) => Right(((), cloneQualIdentNode(a, q)))) + } yield { + ((), cloneAnnotatedNode(a, aNode, data.copy( + members = members._2.flatten, + implements = implements._2 + ))) + } + + override def defSystemAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.DefSystem]] + ): ResultAnnotatedNode[Ast.DefSystem] = + val data = aNode._2.data + for { + topology <- qualIdentNode(a, data.topology) + } yield { + ((), cloneAnnotatedNode(a, aNode, data.copy( + topology = topology._2 + ))) + } + + override def specCommandAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.SpecCommand]] + ): ResultAnnotatedNode[Ast.SpecCommand] = + val data = aNode._2.data + for { + params <- formalParamList(a, data.params) + opcode <- exprNodeOpt(a, data.opcode) + priority <- exprNodeOpt(a, data.priority) + queueFull <- defaultNodeOpt(a, data.queueFull) + } yield { + ((), cloneAnnotatedNode(a, aNode, data.copy( + params = params._2, + opcode = opcode._2, + priority = priority._2, + queueFull = queueFull._2, + ))) + } + + override def specInstanceAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.SpecInstance]] + ): ResultAnnotatedNode[Ast.SpecInstance] = + val data = aNode._2.data + for { + instance <- qualIdentNode(a, data.instance) + } yield { + ((), cloneAnnotatedNode(a, aNode, data.copy( + instance = instance._2, + ))) + } + + def portInstanceIdentifierNode( + a: In, + pii: AstNode[Ast.PortInstanceIdentifier] + ): ResultNode[Ast.PortInstanceIdentifier] = { + for { + interfaceInstance <- qualIdentNode(a, pii.data.interfaceInstance) + portName <- defaultNode(a, pii.data.portName) + } yield ((), cloneNode(a, pii, pii.data.copy( + interfaceInstance = interfaceInstance._2, + portName = portName._2, + ))) + } + + override def specConnectionGraphAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.SpecConnectionGraph]] + ): ResultAnnotatedNode[Ast.SpecConnectionGraph] = + val data = aNode._2.data + + def connection( + a: In, + connection: Ast.SpecConnectionGraph.Connection + ): Result[Ast.SpecConnectionGraph.Connection] = { + for { + fromPort <- portInstanceIdentifierNode(a, connection.fromPort) + fromIndex <- exprNodeOpt(a, connection.fromIndex) + toPort <- portInstanceIdentifierNode(a, connection.toPort) + toIndex <- exprNodeOpt(a, connection.toIndex) + } yield { + ((), connection.copy( + fromPort = fromPort._2, + fromIndex = fromIndex._2, + toPort = toPort._2, + toIndex = toIndex._2, + )) + } + } + + data match { + case data @ Ast.SpecConnectionGraph.Direct(_, connections) => + for { + connections <- transformList(a, connections, connection) + } yield ((), cloneAnnotatedNode(a, aNode, data.copy( + connections = connections._2 + ))) + case data @ Ast.SpecConnectionGraph.Pattern(_, source, targets) => + for { + source <- qualIdentNode(a, source) + targets <- transformList(a, targets, qualIdentNode) + } yield ((), cloneAnnotatedNode(a, aNode, data.copy( + source = source._2, + targets = targets._2 + ))) + } + + override def specContainerAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.SpecContainer]] + ): ResultAnnotatedNode[Ast.SpecContainer] = + val data = aNode._2.data + for { + id <- exprNodeOpt(a, data.id) + defaultPriority <- exprNodeOpt(a, data.defaultPriority) + } yield { + ((), cloneAnnotatedNode(a, aNode, data.copy( + id = id._2, + defaultPriority = defaultPriority._2, + ))) + } + + override def specEventAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.SpecEvent]] + ): ResultAnnotatedNode[Ast.SpecEvent] = + val data = aNode._2.data + for { + params <- formalParamList(a, data.params) + id <- exprNodeOpt(a, data.id) + format <- defaultNode(a, data.format) + throttle <- { + data.throttle match { + case None => Right(((), None)) + case Some(throttle) => + for { + count <- matchExprNode(a, throttle.data.count) + every <- exprNodeOpt(a, throttle.data.every) + } yield ((), Some(cloneNode( + a, throttle, throttle.data.copy( + every = every._2, + count = count._2, + ) + ))) + } + } + } yield { + ((), cloneAnnotatedNode(a, aNode, data.copy( + params = params._2, + id = id._2, + format = format._2, + throttle = throttle._2, + ))) + } + + override def specIncludeAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.SpecInclude]] + ): ResultAnnotatedNode[Ast.SpecInclude] = + val data = aNode._2.data + for { + file <- defaultNode(a, data.file) + } yield (file._1, cloneAnnotatedNode(a, aNode, data.copy( + file = file._2, + ))) + + override def specInitAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.SpecInit]] + ): ResultAnnotatedNode[Ast.SpecInit] = + val data = aNode._2.data + for (result <- matchExprNode(a, data.phase)) + yield { + val (a1, phase1) = result + (a1, cloneAnnotatedNode(a, aNode, data.copy(phase=phase1))) + } + + override def specInternalPortAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.SpecInternalPort]] + ): ResultAnnotatedNode[Ast.SpecInternalPort] = + val data = aNode._2.data + for { + params <- formalParamList(a, data.params) + priority <- exprNodeOpt(a, data.priority) + } yield ((), cloneAnnotatedNode(a, aNode, data.copy( + params = params._2, + priority = priority._2, + ))) + + override def specLocAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.SpecLoc]] + ): ResultAnnotatedNode[Ast.SpecLoc] = + val data = aNode._2.data + for { + symbol <- qualIdentNode(a, data.symbol) + file <- defaultNode(a, data.file) + } yield ((), cloneAnnotatedNode(a, aNode, data.copy( + symbol = symbol._2, + file = file._2, + ))) + + override def specParamAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.SpecParam]] + ): ResultAnnotatedNode[Ast.SpecParam] = + val data = aNode._2.data + for { + typeName <- matchTypeName(a, data.typeName) + default <- exprNodeOpt(a, data.default) + id <- exprNodeOpt(a, data.id) + setOpcode <- exprNodeOpt(a, data.setOpcode) + saveOpcode <- exprNodeOpt(a, data.saveOpcode) + } yield ((), cloneAnnotatedNode(a, aNode, data.copy( + typeName = typeName._2, + default = default._2, + id = id._2, + setOpcode = setOpcode._2, + saveOpcode = saveOpcode._2, + ))) + + def qualIdentNodeOpt( + a: In, + qi: Option[AstNode[Ast.QualIdent]] + ): Result[Option[AstNode[Ast.QualIdent]]] = { + qi match { + case None => Right(((), None)) + case Some(value) => + for (result <- qualIdentNode(a, value)) + yield (((), Some(result._2))) + } + } + + override def specPortInstanceAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.SpecPortInstance]] + ): ResultAnnotatedNode[Ast.SpecPortInstance] = + val data = aNode._2.data + data match { + case data @ Ast.SpecPortInstance.General(_, _, _, _, _, _) => + for { + size <- exprNodeOpt(a, data.size) + port <- qualIdentNodeOpt(a, data.port) + priority <- exprNodeOpt(a, data.priority) + queueFull <- defaultNodeOpt(a, data.queueFull) + } yield { + ((), cloneAnnotatedNode(a, aNode, data.copy( + size = size._2, + port = port._2, + priority = priority._2, + queueFull = queueFull._2 + ))) + } + case data @ Ast.SpecPortInstance.Special(_, _, _, _, _) => + for { + priority <- exprNodeOpt(a, data.priority) + queueFull <- defaultNodeOpt(a, data.queueFull) + } yield { + ((), cloneAnnotatedNode(a, aNode, data.copy( + priority = priority._2, + queueFull = queueFull._2 + ))) + } + } + + override def specPortMatchingAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.SpecPortMatching]] + ): ResultAnnotatedNode[Ast.SpecPortMatching] = + val data = aNode._2.data + for { + port1 <- defaultNode(a, data.port1) + port2 <- defaultNode(a, data.port2) + } yield (((), cloneAnnotatedNode(a, aNode, data.copy( + port1 = port1._2, + port2 = port2._2 + )))) + + override def specRecordAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.SpecRecord]] + ): ResultAnnotatedNode[Ast.SpecRecord] = + val data = aNode._2.data + for { + recordType <- matchTypeName(a, data.recordType) + id <- exprNodeOpt(a, data.id) + } yield (((), cloneAnnotatedNode(a, aNode, data.copy( + recordType = recordType._2, + id = id._2 + )))) + + override def specStateMachineInstanceAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.SpecStateMachineInstance]] + ): ResultAnnotatedNode[Ast.SpecStateMachineInstance] = + val data = aNode._2.data + for { + stateMachine <- qualIdentNode(a, data.stateMachine) + priority <- exprNodeOpt(a, data.priority) + } yield (((), cloneAnnotatedNode(a, aNode, data.copy( + stateMachine = stateMachine._2, + priority = priority._2 + )))) + + override def specTlmChannelAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.SpecTlmChannel]] + ): ResultAnnotatedNode[Ast.SpecTlmChannel] = + val data = aNode._2.data + def limit( + a: In, + limit: Ast.SpecTlmChannel.Limit + ): Result[Ast.SpecTlmChannel.Limit] = { + val (kind, value) = limit + for { + kind <- defaultNode(a, kind) + value <- matchExprNode(a, value) + } yield (((), (kind._2, value._2))) + } + + for { + typeName <- matchTypeName(a, data.typeName) + id <- exprNodeOpt(a, data.id) + low <- transformList(a, data.low, limit) + high <- transformList(a, data.high, limit) + } yield (((), cloneAnnotatedNode(a, aNode, data.copy( + typeName = typeName._2, + id = id._2, + format = cloneStringNodeOpt(a, data.format), + low = low._2, + high = high._2 + )))) + + override def specTlmPacketAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.SpecTlmPacket]] + ): ResultAnnotatedNode[Ast.SpecTlmPacket] = + val data = aNode._2.data + def tlmPacketMember( + a: In, + member: Ast.TlmPacketMember + ): Result[Ast.TlmPacketMember] = { + member match { + case Ast.TlmPacketMember.SpecInclude(node) => + for (file <- defaultNode(a, node.data.file)) + yield ((), Ast.TlmPacketMember.SpecInclude( + cloneNode(a, node, node.data.copy(file = file._2)) + )) + case Ast.TlmPacketMember.TlmChannelIdentifier(node) => + for { + componentInstance <- qualIdentNode(a, node.data.componentInstance) + channelName <- defaultNode(a, node.data.channelName) + } yield ((), Ast.TlmPacketMember.TlmChannelIdentifier( + cloneNode(a, node, node.data.copy( + componentInstance = componentInstance._2, + channelName = channelName._2 + )) + )) + } + } + + for { + id <- exprNodeOpt(a, data.id) + group <- matchExprNode(a, data.group) + members <- transformList(a, data.members, tlmPacketMember) + } yield (((), cloneAnnotatedNode(a, aNode, data.copy( + id = id._2, + group = group._2, + members = members._2, + )))) + + override def specTopPortAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.SpecTopPort]] + ): ResultAnnotatedNode[Ast.SpecTopPort] = + val data = aNode._2.data + for { + underlyingPort <- portInstanceIdentifierNode(a, data.underlyingPort) + } yield ((), cloneAnnotatedNode(a, aNode, data.copy( + underlyingPort = underlyingPort._2, + ))) + + override def specTlmPacketSetAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.SpecTlmPacketSet]] + ): ResultAnnotatedNode[Ast.SpecTlmPacketSet] = + val data = aNode._2.data + def tlmChannelIdentifier( + a: In, + node: AstNode[Ast.TlmChannelIdentifier] + ): ResultNode[Ast.TlmChannelIdentifier] = + val data = node.data + for { + componentInstance <- qualIdentNode(a, data.componentInstance) + channelName <- defaultNode(a, data.channelName) + } yield ((), cloneNode(a, node, data.copy( + componentInstance = componentInstance._2, + channelName = channelName._2 + ))) + + for { + members <- transformList(a, data.members, matchTlmPacketSetMember) + omitted <- transformList(a, data.omitted, tlmChannelIdentifier) + } yield ((), cloneAnnotatedNode(a, aNode, data.copy( + members = members._2.flatten, + omitted = omitted._2, + ))) + + override def specInterfaceImportAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.SpecImport]] + ): ResultAnnotatedNode[Ast.SpecImport] = + val data = aNode._2.data + for { + sym <- qualIdentNode(a, data.sym) + } yield ((), cloneAnnotatedNode(a, aNode, data.copy( + sym = sym._2, + ))) + + override def defModuleTemplateAnnotatedNode( + a: In, + aNode: Ast.Annotated[AstNode[Ast.DefModuleTemplate]] + ): ResultAnnotatedNode[Ast.DefModuleTemplate] = + val (_, node, _) = aNode + val data = node.data + + def templateParam( + a: In, + param: Ast.Annotated[AstNode[Ast.TemplateParam]] + ): ResultAnnotatedNode[Ast.TemplateParam] = { + val (_, node, _) = param + node.data match { + case data @ Ast.TemplateParam.Constant(_, tn) => + for (tn <- matchTypeName(a, tn)) + yield ((), cloneAnnotatedNode(a, param, data.copy(typeName = tn._2))) + case data @ Ast.TemplateParam.Type(_) => + Right(((), cloneAnnotatedNode(a, param, data))) + case data @ Ast.TemplateParam.Interface(_, interface) => + for (interface <- qualIdentNode(a, interface)) + yield ((), cloneAnnotatedNode(a, param, data.copy(interface = interface._2))) + } + } + + for { + // Validate no nested template + _ <- a.templateDefinition match { + case Some(parent) => Left(SemanticError.NestedTemplateDefinition( + Locations.get(aNode._2.id), + Locations.get(parent) + )) + case None => Right(()) + } + a <- Right(a.copy(templateDefinition = Some(node.id))) + params <- transformList(a, data.params, templateParam) + members <- transformList(a, data.members, matchModuleMember) + a <- Right(a.copy(templateDefinition = None)) + } + yield { + val (_, params1) = params + val (_, members1) = members + ((), cloneAnnotatedNode(a, aNode, data.copy( + params = params1, + members = members1.flatten + ))) + } + + override def defModuleAnnotatedNode( + a: Analysis, + aNode: Ast.Annotated[AstNode[Ast.DefModule]] + ) = { + val (_, node, _) = aNode + val data = node.data + for { result <- transformList(a, data.members, matchModuleMember) } + yield { + val (a1, members1) = result + (a1, cloneAnnotatedNode(a, aNode, data.copy(members = members1.flatten))) + } + } + + override def specTemplateExpandAnnotatedNode( + a: Analysis, + aNode: Ast.Annotated[AstNode[Ast.SpecTemplateExpand]] + ): ResultAnnotatedNode[Ast.SpecTemplateExpand] = { + val (pre, node, post) = aNode + val data = node.data + + (a.template, a.templateDefinition) match { + case (None, None) => + // Not inside a template: expand it + for { + // Look up the template def + tmpl <- a.getTemplateSymbol(data.template.id) + + // Clone the template body, recording the expansion node so that any + // nested expansion specifier is rejected and so that cloned nodes + // point back at the expansion site + members <- transformList( + a.copy(template = Some(node.id)), + tmpl.node._2.data.members, + matchModuleMember + ) + } yield { + // Paste the expanded template body into the expansion specifier + ((), (pre, AstNode.create(data.copy(members = Some(members._2.flatten)), node.id), post)) + } + case (template, templateDefinition) => + // The expansion specifier is nested inside a template body + Left(SemanticError.TemplateExpansionInTemplate( + Locations.get(node.id), + Locations.get(templateDefinition.orElse(template).get) + )) + } + } +} diff --git a/compiler/lib/src/main/scala/transform/ResolveSpecInclude.scala b/compiler/lib/src/main/scala/transform/ResolveSpecInclude.scala index c17da1a38f..285753283c 100644 --- a/compiler/lib/src/main/scala/transform/ResolveSpecInclude.scala +++ b/compiler/lib/src/main/scala/transform/ResolveSpecInclude.scala @@ -9,6 +9,7 @@ import fpp.compiler.util._ object ResolveSpecInclude extends AstStateTransformer with ComponentStateTransformer with ModuleStateTransformer + with ModuleTemplateStateTransformer with StateMachineStateTransformer with TopologyStateTransformer { @@ -25,6 +26,14 @@ object ResolveSpecInclude extends AstStateTransformer yield (result._1, Ast.TransUnit(result._2.flatten)) } + override def defStateMachineAnnotatedNode( + in: In, + node: Ast.Annotated[AstNode[Ast.DefStateMachine]] + ): ResultAnnotatedNode[Ast.DefStateMachine] = + node._2.data.members match { + case Some(members) => defStateMachineAnnotatedNodeInternal(in, node, members) + case None => defStateMachineAnnotatedNodeExternal(in, node) + } override def componentMember(a: Analysis, member: Ast.ComponentMember): Result[List[Ast.ComponentMember]] = { val (_, node, _) = member.node node match { @@ -51,6 +60,10 @@ object ResolveSpecInclude extends AstStateTransformer } } + override def moduleTemplateMember(a: Analysis, member: Ast.ModuleMember): Result[List[Ast.ModuleMember]] = { + moduleMember(a, member) + } + override def stateMachineMember(a: Analysis, member: Ast.StateMachineMember): Result[List[Ast.StateMachineMember]] = { val (_, node, _) = member.node node match { @@ -126,7 +139,6 @@ object ResolveSpecInclude extends AstStateTransformer private def checkForCycle(includingLoc: Location, includedPath: String): Result.Result[Unit] = { def checkLoc(locOpt: Option[Location], visitedPaths: List[String]): Result.Result[Unit] = locOpt match { - case None => Right(()) case Some(loc) => { val path = loc.file.toString val visitedPaths1 = path :: visitedPaths @@ -136,6 +148,7 @@ object ResolveSpecInclude extends AstStateTransformer } else checkLoc(loc.includingLoc, visitedPaths1) } + case _ => Right(()) } includingLoc.file match { case File.StdIn => Right(()) diff --git a/compiler/lib/src/main/scala/util/Error.scala b/compiler/lib/src/main/scala/util/Error.scala index c2c289e3e6..d1259b5191 100644 --- a/compiler/lib/src/main/scala/util/Error.scala +++ b/compiler/lib/src/main/scala/util/Error.scala @@ -270,6 +270,38 @@ sealed trait Error { System.err.println("conflicting port number is here:") System.err.println(p2Loc) printMatchingLoc(matchingLoc) + case SemanticError.MismatchedTemplateParameters( + expandLoc: Location, + defLoc: Location, + expandLength: Number, + defLength: Number, + ) => + Error.print (Some(expandLoc)) (s"expected $defLength templates parameter, got $expandLength") + System.err.println("template defined here:") + System.err.println(defLoc) + case SemanticError.InvalidTemplateParameter( + paramName: String, + expandLoc: Location, + defLoc: Location, + msg: String, + ) => + Error.print (Some(expandLoc)) (s"invalid template parameter value for $paramName: $msg") + System.err.println("template defined here:") + System.err.println(defLoc) + case SemanticError.NestedTemplateDefinition( + nestedLoc: Location, + parentLoc: Location + ) => + Error.print (Some(nestedLoc)) ("module template definitions cannot be nested") + System.err.println("parent template defined here:") + System.err.println(parentLoc) + case SemanticError.TemplateExpansionInTemplate( + expandLoc: Location, + templateLoc: Location + ) => + Error.print (Some(expandLoc)) ("template expansion specifiers cannot appear inside a module template") + System.err.println("enclosing template defined here:") + System.err.println(templateLoc) case SemanticError.MissingAsync(kind, loc) => Error.print (Some(loc)) (s"$kind component must have async input") case SemanticError.MissingConnection(loc, matchingLoc) => @@ -725,6 +757,30 @@ object SemanticError { p2Number: Int, matchingLoc: Location ) extends Error + /** Mismatched template parameter */ + final case class MismatchedTemplateParameters( + expandLoc: Location, + defLoc: Location, + expandLength: Number, + defLength: Number, + ) extends Error + /** Mismatched template parameter */ + final case class InvalidTemplateParameter( + paramName: String, + expandLoc: Location, + defLoc: Location, + msg: String, + ) extends Error + /** Nested template definition */ + final case class NestedTemplateDefinition( + nestedLoc: Location, + parentLoc: Location, + ) extends Error + /** Template expansion specifier nested inside a template */ + final case class TemplateExpansionInTemplate( + expandLoc: Location, + templateLoc: Location, + ) extends Error /** Missing async input */ final case class MissingAsync(kind: String, loc: Location) extends Error /** Missing connection */ diff --git a/compiler/lib/src/main/scala/util/Location.scala b/compiler/lib/src/main/scala/util/Location.scala index 1d38b86240..f8dd919d4d 100644 --- a/compiler/lib/src/main/scala/util/Location.scala +++ b/compiler/lib/src/main/scala/util/Location.scala @@ -6,31 +6,53 @@ import scala.util.parsing.input.Position final case class Location( file: File, /* The file */ pos: Position, /* The position */ - includingLoc: Option[Location] = None /* Location where this location is included */ + /* Location where this location is included */ + includingLoc: Option[Location] = None, + /* Location where this location is expanded */ + expandingLoc: Option[Location] = None, ) { override def toString = { - def showIncludes(locOpt: Option[Location], s: String): String = { - locOpt match { - case None => s - case Some(loc) => showIncludes( - loc.includingLoc, - s ++ s"\n included at ${loc.file}:${loc.pos}" - ) - } + def showIncludesExpands( + incLocOpt: Option[Location], + expandLocOpt: Option[Location], + s: String + ): String = { + val s1 = incLocOpt match { + case None => s + case Some(loc) => + showIncludesExpands( + loc.includingLoc, loc.expandingLoc, + s ++ s"\n included at ${loc.file}:${loc.pos}" + ) + + } + + val s2 = expandLocOpt match { + case None => s1 + case Some(loc) => + showIncludesExpands( + loc.includingLoc, loc.expandingLoc, + s1 ++ s"\n expanded at ${loc.file}:${loc.pos}" + ) + + } + + s2 } val s1 = pos match { case scala.util.parsing.input.NoPosition => s"${file}: end of input" case _ => s"${file}:${pos.toString}\n${pos.longString}" } - val s2 = showIncludes(includingLoc, "") + val s2 = showIncludesExpands(includingLoc, expandingLoc, "") s1 ++ s2 } /** Get the location of the associated translation unit */ - def tuLocation: Location = this.includingLoc match { - case None => this - case Some(loc) => loc.tuLocation + def tuLocation: Location = (includingLoc, expandingLoc) match { + case (None, None) => this + case (Some(loc), _) => loc.tuLocation + case (_, Some(loc)) => loc.tuLocation } /** Get the path of a file that is a neighbor to this location */ diff --git a/compiler/lib/src/test/input/templates/ok/syntax.fpp b/compiler/lib/src/test/input/templates/ok/syntax.fpp new file mode 100644 index 0000000000..4f5ef4c787 --- /dev/null +++ b/compiler/lib/src/test/input/templates/ok/syntax.fpp @@ -0,0 +1,11 @@ +module template T() { + include "../../../../../../tools/fpp-syntax/test/syntax.fpp" +} + +module M1 { + expand T() +} + +module M2 { + expand T() +} diff --git a/compiler/lib/src/test/scala/semantics/TemplatesSpec.scala b/compiler/lib/src/test/scala/semantics/TemplatesSpec.scala new file mode 100644 index 0000000000..7285775307 --- /dev/null +++ b/compiler/lib/src/test/scala/semantics/TemplatesSpec.scala @@ -0,0 +1,108 @@ +package fpp.compiler.test + +import fpp.compiler.util.{File => FppFile} +import java.io.File + +import fpp.compiler.analysis._ +import fpp.compiler.ast._ +import fpp.compiler.util._ +import fpp.compiler.transform._ +import fpp.compiler.codegen._ + +import fpp.compiler.syntax.{Lexer,Parser,TokenId} + +import org.scalatest.wordspec.AnyWordSpec + +class TemplatesSpec extends AnyWordSpec { + + "simple" should { + expandUniqueString(""" + module template T(constant c: string) { + constant f = c + } + + module M1 { + expand T(constant "a") + } + + module M2 { + expand T(constant "b") + } + + module M3 { + expand T(constant "c") + } + """) + } + + "OK" should { + def ok(file: File): Unit = { + val Right(tul) = Parser.parseFile(Parser.transUnit)(None)(FppFile.fromString( + file.toPath().toString() + )) + + checkExpandUnique(tul) + } + + val dir = new File("lib/src/test/input/templates/ok") + val files = dir.listFiles.filter(_.isFile) + .filter(_.getName.endsWith(".fpp")) + .foreach { file => s"expand $file" in ok(file) } + } + + private def checkNodeIsUnique(j: io.circe.Json, visited: Set[AstNode.Id]): Set[AstNode.Id] = { + val node = j.asObject.get.toMap + val data = node("data") + val id = node("id") + + val idNumber = id.asNumber.get.toInt.get + if visited.contains(idNumber) then { + Console.err.println(s"duplicate ast node id ${idNumber}") + Console.err.println(Locations.get(idNumber)) + Console.err.println(j) + Console.err.flush() + assert(false) + } + + visited + idNumber + } + + private def checkAllNodesUnique(tul: List[Ast.TransUnit]): Unit = { + val j = AstJsonEncoder.astToJson(tul) + // Console.err.println(j) + j.findAllByKey("AstNode").foldRight(Set())(checkNodeIsUnique) + } + + def expandUniqueString(s: String): Unit = { + val Right(tul) = Parser.parseString(Parser.transUnit)(s) + "expand" in { + checkExpandUnique(tul) + } + } + + def checkExpandUnique(tul: Ast.TransUnit): Unit = { + val a = Analysis() + val tul1 = for { + a_tul <- ResolveSpecInclude.transformList(a, List(tul), ResolveSpecInclude.transUnit) + a <- Right(a_tul._1) + tul <- Right(a_tul._2) + + a <- EnterSymbols.visitList(a, tul, EnterSymbols.transUnit) + a_tul <- ResolveTemplates.transUnit(a, tul) + + a <- Right(a_tul._1) + tul <- Right(a_tul._2) + } yield tul + + tul1 match { + case Right(tul) => checkAllNodesUnique(tul) + case Left(l) => { + Console.err.println(s"failed with error") + l.print + Console.err.flush() + assert(false) + } + } + } + +} diff --git a/compiler/lib/src/test/scala/syntax/Parser.scala b/compiler/lib/src/test/scala/syntax/Parser.scala index 1780e7446e..fe5bccb132 100644 --- a/compiler/lib/src/test/scala/syntax/Parser.scala +++ b/compiler/lib/src/test/scala/syntax/Parser.scala @@ -507,6 +507,21 @@ class ParserSpec extends AnyWordSpec { ) } + "spec template expand OK" should { + parseAllOK( + Parser.specTemplateExpand, + List( + "expand T", + "expand M.T()", + "expand M.T(constant 1)", + "expand M.T(constant 1, constant 2)", + "expand M.T(constant 1, constant 2, interface mod.$instance)", + "expand M.T(constant 1, constant 2, interface mod.$instance, type Type.Name)", + "expand M.T(constant 1, constant 2, constant {member=1}, constant [1, 2])", + ) + ) + } + "spec include OK" should { parseAllOK( Parser.specInclude, @@ -723,6 +738,33 @@ class ParserSpec extends AnyWordSpec { ) } + "template ok" should { + parseAllOK( + Parser.transUnit, + List( + "module template T {}", + """ + module template T( + constant c: U32, + type Ty, + interface i: Interface + ) { + } + """, + + """ + module template T( + constant c: U32, + type Ty, + interface i: Interface + ) { + array a = [3] Ty + } + """, + ) + ) + } + "trans unit OK" should { parseAllOK( Parser.transUnit, @@ -738,6 +780,7 @@ class ParserSpec extends AnyWordSpec { instance i: C base id 0x100 constant a = 0 module M {} + module template TT () {} port P struct S {} topology T {} @@ -745,6 +788,7 @@ class ParserSpec extends AnyWordSpec { type T array A = [10] U32 enum E { X, Y } + expand TT (constant 1, constant 2, constant 3, constant {member=[1, 2, 3]}, type TypeName, interface i) include "a.fpp" """, """ diff --git a/compiler/tools/fpp-check/test/constant/array_common_type_conversion.fpp b/compiler/tools/fpp-check/test/constant/array_common_type_conversion.fpp new file mode 100644 index 0000000000..065d057526 --- /dev/null +++ b/compiler/tools/fpp-check/test/constant/array_common_type_conversion.fpp @@ -0,0 +1,2 @@ +constant f1 = [1, 2] +constant f2 = [1, f1] diff --git a/compiler/tools/fpp-check/test/constant/array_common_type_conversion.ref.txt b/compiler/tools/fpp-check/test/constant/array_common_type_conversion.ref.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/compiler/tools/fpp-check/test/constant/tests.sh b/compiler/tools/fpp-check/test/constant/tests.sh index e0049f47b5..9e6ffcde18 100644 --- a/compiler/tools/fpp-check/test/constant/tests.sh +++ b/compiler/tools/fpp-check/test/constant/tests.sh @@ -1,4 +1,5 @@ tests=" +array_common_type_conversion array_index_negative array_index_out_of_bounds dictionary_error diff --git a/compiler/tools/fpp-check/test/template/basic_constant.fpp b/compiler/tools/fpp-check/test/template/basic_constant.fpp new file mode 100644 index 0000000000..ea5065436b --- /dev/null +++ b/compiler/tools/fpp-check/test/template/basic_constant.fpp @@ -0,0 +1,7 @@ +module template T(constant p: U32) { + constant cOut = p + 2 +} + +expand T(constant 10) + +constant cOut2 = cOut + 2 diff --git a/compiler/tools/fpp-check/test/template/basic_constant.ref.txt b/compiler/tools/fpp-check/test/template/basic_constant.ref.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/compiler/tools/fpp-check/test/template/composition_invalid.fpp b/compiler/tools/fpp-check/test/template/composition_invalid.fpp new file mode 100644 index 0000000000..a5c9e08cd7 --- /dev/null +++ b/compiler/tools/fpp-check/test/template/composition_invalid.fpp @@ -0,0 +1,11 @@ +module template T1( + constant p: U32 +) { + constant c = p +} + +module template T2( + constant p: U32 +) { + expand T1(constant p) +} diff --git a/compiler/tools/fpp-check/test/template/composition_invalid.ref.txt b/compiler/tools/fpp-check/test/template/composition_invalid.ref.txt new file mode 100644 index 0000000000..1ebb3e4975 --- /dev/null +++ b/compiler/tools/fpp-check/test/template/composition_invalid.ref.txt @@ -0,0 +1,9 @@ +fpp-check +[ local path prefix ]/compiler/tools/fpp-check/test/template/composition_invalid.fpp:10.5 + expand T1(constant p) + ^ +error: template expansion specifiers cannot appear inside a module template +enclosing template defined here: +[ local path prefix ]/compiler/tools/fpp-check/test/template/composition_invalid.fpp:7.1 +module template T2( +^ diff --git a/compiler/tools/fpp-check/test/template/constant_with_default.fpp b/compiler/tools/fpp-check/test/template/constant_with_default.fpp new file mode 100644 index 0000000000..7a7c764e6d --- /dev/null +++ b/compiler/tools/fpp-check/test/template/constant_with_default.fpp @@ -0,0 +1,21 @@ +type FwSizeStoreType = U16 +array StringArray = [3] string size 10 + +struct ParamTy { + field1: U32 + field2: string size 10 + field3: StringArray +} default { + field1 = 1, + field2 = "field 2" + field3 = [ "field3[0]", "field3[1]", "field3[2]" ] +} + +module template T( + constant p: ParamTy +) { + constant newField = p.field2 + constant newField2 = p.field3[1] +} + +expand T(constant {}) diff --git a/compiler/tools/fpp-check/test/template/constant_with_default.ref.txt b/compiler/tools/fpp-check/test/template/constant_with_default.ref.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/compiler/tools/fpp-check/test/template/duplicate_def.fpp b/compiler/tools/fpp-check/test/template/duplicate_def.fpp new file mode 100644 index 0000000000..b293ba45f1 --- /dev/null +++ b/compiler/tools/fpp-check/test/template/duplicate_def.fpp @@ -0,0 +1,8 @@ +module template T(constant p: U32) { + constant cOut1 = p + 2 + constant cOut2 = p + 2 +} + +expand T(constant 10) + +constant cOut2 = cOut1 + 2 diff --git a/compiler/tools/fpp-check/test/template/duplicate_def.ref.txt b/compiler/tools/fpp-check/test/template/duplicate_def.ref.txt new file mode 100644 index 0000000000..706059e3c8 --- /dev/null +++ b/compiler/tools/fpp-check/test/template/duplicate_def.ref.txt @@ -0,0 +1,10 @@ +fpp-check +[ local path prefix ]/compiler/tools/fpp-check/test/template/duplicate_def.fpp:3.5 + constant cOut2 = p + 2 + ^ + expanded at [ local path prefix ]/compiler/tools/fpp-check/test/template/duplicate_def.fpp:6.1 +error: redefinition of symbol cOut2 +previous definition is here: +[ local path prefix ]/compiler/tools/fpp-check/test/template/duplicate_def.fpp:8.1 +constant cOut2 = cOut1 + 2 +^ diff --git a/compiler/tools/fpp-check/test/template/interfaces.fpp b/compiler/tools/fpp-check/test/template/interfaces.fpp new file mode 100644 index 0000000000..682ca58e16 --- /dev/null +++ b/compiler/tools/fpp-check/test/template/interfaces.fpp @@ -0,0 +1,48 @@ +port P + +interface A_I { + async input port aIn: [2] P + output port bOut: [2] P +} + +interface B_I { + output port aOut: [2] P + async input port bIn: [2] P +} + +active component A { + import A_I +} + +active component B { + import B_I +} + +# Two instances of the same component +instance a1: A base id 10 queue size 10 stack size 1024 +instance a2: A base id 20 queue size 10 stack size 1024 + +instance b: B base id 100 queue size 10 stack size 1024 + +module template T(interface i: A_I, constant idx: U32) { + topology P { + instance i + instance b + + connections C { + i.bOut[idx] -> b.bIn[idx] + b.aOut[idx] -> i.aIn[idx] + } + } +} + +# Instantiate two topologies that point to separate connections of b +module M1 { + expand T(interface a1, constant 0) +} + +module M2 { + module M { + expand T(interface a2, constant 1) + } +} diff --git a/compiler/tools/fpp-check/test/template/interfaces.ref.txt b/compiler/tools/fpp-check/test/template/interfaces.ref.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/compiler/tools/fpp-check/test/template/interfaces_arg_bad_signature.fpp b/compiler/tools/fpp-check/test/template/interfaces_arg_bad_signature.fpp new file mode 100644 index 0000000000..d8e3dd44e3 --- /dev/null +++ b/compiler/tools/fpp-check/test/template/interfaces_arg_bad_signature.fpp @@ -0,0 +1,24 @@ +port P + +interface I { + sync input port pIn: P +} + +# A component that has a port named pIn, but with the wrong direction, +# so it does not conform to I +passive component C { + output port pIn: P +} + +instance c: C base id 0x100 + +module template T(interface i: I) { + topology Top { + instance i + } +} + +module M { + # c.pIn does not match I.pIn, so it does not implement I + expand T(interface c) +} diff --git a/compiler/tools/fpp-check/test/template/interfaces_arg_bad_signature.ref.txt b/compiler/tools/fpp-check/test/template/interfaces_arg_bad_signature.ref.txt new file mode 100644 index 0000000000..1eddc5a348 --- /dev/null +++ b/compiler/tools/fpp-check/test/template/interfaces_arg_bad_signature.ref.txt @@ -0,0 +1,13 @@ +fpp-check +[ local path prefix ]/compiler/tools/fpp-check/test/template/interfaces_arg_bad_signature.fpp:23.24 + expand T(interface c) + ^ +error: port interface not implemented +fpp-check +[ local path prefix ]/compiler/tools/fpp-check/test/template/interfaces_arg_bad_signature.fpp:10.5 + output port pIn: P + ^ +error: port instance does not match definition in interface: +[ local path prefix ]/compiler/tools/fpp-check/test/template/interfaces_arg_bad_signature.fpp:4.5 + sync input port pIn: P + ^ diff --git a/compiler/tools/fpp-check/test/template/interfaces_arg_conformance_ok.fpp b/compiler/tools/fpp-check/test/template/interfaces_arg_conformance_ok.fpp new file mode 100644 index 0000000000..4bcba077fc --- /dev/null +++ b/compiler/tools/fpp-check/test/template/interfaces_arg_conformance_ok.fpp @@ -0,0 +1,25 @@ +port P + +interface I { + sync input port pIn: P + output port pOut: P +} + +passive component C { + sync input port pIn: P + output port pOut: P + output port extra: P +} + +instance c: C base id 0x100 + +module template T(interface i: I) { + topology Top { + instance i + } +} + +module M { + # c provides a superset of I, so it conforms + expand T(interface c) +} diff --git a/compiler/tools/fpp-check/test/template/interfaces_arg_conformance_ok.ref.txt b/compiler/tools/fpp-check/test/template/interfaces_arg_conformance_ok.ref.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/compiler/tools/fpp-check/test/template/interfaces_arg_missing_port.fpp b/compiler/tools/fpp-check/test/template/interfaces_arg_missing_port.fpp new file mode 100644 index 0000000000..8e3ffd5f2b --- /dev/null +++ b/compiler/tools/fpp-check/test/template/interfaces_arg_missing_port.fpp @@ -0,0 +1,23 @@ +port P + +interface I { + sync input port pIn: P + output port pOut: P +} + +passive component C { + sync input port pIn: P +} + +instance c: C base id 0x100 + +module template T(interface i: I) { + topology Top { + instance i + } +} + +module M { + # c is missing pOut, so it does not implement I + expand T(interface c) +} diff --git a/compiler/tools/fpp-check/test/template/interfaces_arg_missing_port.ref.txt b/compiler/tools/fpp-check/test/template/interfaces_arg_missing_port.ref.txt new file mode 100644 index 0000000000..c6e6e92cea --- /dev/null +++ b/compiler/tools/fpp-check/test/template/interfaces_arg_missing_port.ref.txt @@ -0,0 +1,10 @@ +fpp-check +[ local path prefix ]/compiler/tools/fpp-check/test/template/interfaces_arg_missing_port.fpp:22.24 + expand T(interface c) + ^ +error: port interface not implemented +fpp-check +[ local path prefix ]/compiler/tools/fpp-check/test/template/interfaces_arg_missing_port.fpp:5.5 + output port pOut: P + ^ +error: port instance missing diff --git a/compiler/tools/fpp-check/test/template/interfaces_basic.fpp b/compiler/tools/fpp-check/test/template/interfaces_basic.fpp new file mode 100644 index 0000000000..fa5782a564 --- /dev/null +++ b/compiler/tools/fpp-check/test/template/interfaces_basic.fpp @@ -0,0 +1,15 @@ +interface I { + +} + +module template T(interface i: I) { + topology P { + instance i + } +} + +passive component C {} + +instance c: C base id 1 + +expand T(interface c) diff --git a/compiler/tools/fpp-check/test/template/interfaces_basic.ref.txt b/compiler/tools/fpp-check/test/template/interfaces_basic.ref.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/compiler/tools/fpp-check/test/template/interfaces_invalid_port_instance.fpp b/compiler/tools/fpp-check/test/template/interfaces_invalid_port_instance.fpp new file mode 100644 index 0000000000..e4ebe1808b --- /dev/null +++ b/compiler/tools/fpp-check/test/template/interfaces_invalid_port_instance.fpp @@ -0,0 +1,56 @@ +port P + +interface A_I { + async input port aIn: [2] P + output port bOut: [2] P +} + +interface B_I { + output port aOut: [2] P + async input port bIn: [2] P +} + +active component A1 { + import A_I + + async input port aIn2: [2] P +} + +active component A2 { + import A_I +} + +active component B { + import B_I +} + +# Two instances of the same component +instance a1: A1 base id 10 queue size 10 stack size 1024 +instance a2: A2 base id 20 queue size 10 stack size 1024 + +instance b: B base id 100 queue size 10 stack size 1024 + +module template T(interface i: A_I, constant idx: U32) { + topology P { + instance i + instance b + + connections C { + i.bOut[idx] -> b.bIn[idx] + + # Input port exists on `a1` and `a2` but not in `A_I` + b.aOut[idx] -> i.aIn2[idx] + } + } +} + +# Instantiate two topologies that point to separate connections of b +module M1 { + expand T(interface a1, constant 0) +} + +module M2 { + module M { + # expand T(interface a2, constant 1) + } +} diff --git a/compiler/tools/fpp-check/test/template/interfaces_invalid_port_instance.ref.txt b/compiler/tools/fpp-check/test/template/interfaces_invalid_port_instance.ref.txt new file mode 100644 index 0000000000..eee693b720 --- /dev/null +++ b/compiler/tools/fpp-check/test/template/interfaces_invalid_port_instance.ref.txt @@ -0,0 +1,6 @@ +fpp-check +[ local path prefix ]/compiler/tools/fpp-check/test/template/interfaces_invalid_port_instance.fpp:42.30 + b.aOut[idx] -> i.aIn2[idx] + ^ + expanded at [ local path prefix ]/compiler/tools/fpp-check/test/template/interfaces_invalid_port_instance.fpp:49.5 +error: aIn2 is not a port instance of interface A_I diff --git a/compiler/tools/fpp-check/test/template/interfaces_invalid_port_instance_name.fpp b/compiler/tools/fpp-check/test/template/interfaces_invalid_port_instance_name.fpp new file mode 100644 index 0000000000..4167f4c874 --- /dev/null +++ b/compiler/tools/fpp-check/test/template/interfaces_invalid_port_instance_name.fpp @@ -0,0 +1,59 @@ +port P + +interface A_I1 { + async input port aIn: [2] P + output port bOut: [2] P +} + +interface A_I2 { + async input port aIn2: [2] P + output port bOut2: [2] P +} + +interface B_I { + output port aOut: [2] P + async input port bIn: [2] P +} + +active component A1 { + import A_I1 + import A_I2 + + async input port aIn3: [2] P +} + +active component B { + import B_I +} + +# Two instances of the same component +instance a1: A1 base id 10 queue size 10 stack size 1024 +instance b: B base id 100 queue size 10 stack size 1024 + +module template T(interface i: A_I1, constant idx: U32) { + constant a = 0 + constant b = a + 1 + + topology Top { + # Import `a1` using the `A_I1` interface + instance i + + instance b + + connections C { + # Connect to a port inside `A_I1` + i.bOut[idx] -> b.bIn[idx] + + # Connect to a port inside `A_I2` + b.aOut[idx] -> i.aIn2[idx] + + # Connect to a port outside of `A_I1 | A_I2` + b.aOut[idx + 1] -> i.aIn3[idx] + } + } +} + +# Instantiate two topologies that point to separate connections of b +module M1 { + expand T(interface a1, constant 0) +} diff --git a/compiler/tools/fpp-check/test/template/interfaces_invalid_port_instance_name.ref.txt b/compiler/tools/fpp-check/test/template/interfaces_invalid_port_instance_name.ref.txt new file mode 100644 index 0000000000..f267e12465 --- /dev/null +++ b/compiler/tools/fpp-check/test/template/interfaces_invalid_port_instance_name.ref.txt @@ -0,0 +1,6 @@ +fpp-check +[ local path prefix ]/compiler/tools/fpp-check/test/template/interfaces_invalid_port_instance_name.fpp:48.30 + b.aOut[idx] -> i.aIn2[idx] + ^ + expanded at [ local path prefix ]/compiler/tools/fpp-check/test/template/interfaces_invalid_port_instance_name.fpp:58.5 +error: aIn2 is not a port instance of interface A_I1 diff --git a/compiler/tools/fpp-check/test/template/interfaces_invalid_port_instance_name_aliased.fpp b/compiler/tools/fpp-check/test/template/interfaces_invalid_port_instance_name_aliased.fpp new file mode 100644 index 0000000000..cb44bca55e --- /dev/null +++ b/compiler/tools/fpp-check/test/template/interfaces_invalid_port_instance_name_aliased.fpp @@ -0,0 +1,59 @@ +port P + +interface A_I1 { + async input port aIn: [2] P + output port bOut: [2] P +} + +interface A_I2 { + async input port aIn2: [2] P + output port bOut2: [2] P +} + +interface B_I { + output port aOut: [2] P + async input port bIn: [2] P +} + +active component A1 { + import A_I1 + import A_I2 + + async input port aIn3: [2] P +} + +active component B { + import B_I +} + +# Two instances of the same component +instance a1: A1 base id 10 queue size 10 stack size 1024 +instance b: B base id 100 queue size 10 stack size 1024 + +module template T(interface i1: A_I1, interface i2: A_I2, constant idx: U32) { + constant a = 0 + constant b = a + 1 + + topology Top { + # Import `a1` using the `A_I1` interface + instance i1 + + # Import `a2` using `A_I2` interface + instance i2 + + instance b + + connections C { + # Connect to a port inside `A_I1` + i1.bOut[idx] -> b.bIn[idx] + + # Connect to a port inside `A_I2` on the wrong alias + b.aOut[idx] -> i1.aIn2[idx] + } + } +} + +# Instantiate two topologies that point to separate connections of b +module M1 { + expand T(interface a1, interface a1, constant 0) +} diff --git a/compiler/tools/fpp-check/test/template/interfaces_invalid_port_instance_name_aliased.ref.txt b/compiler/tools/fpp-check/test/template/interfaces_invalid_port_instance_name_aliased.ref.txt new file mode 100644 index 0000000000..5b1945149f --- /dev/null +++ b/compiler/tools/fpp-check/test/template/interfaces_invalid_port_instance_name_aliased.ref.txt @@ -0,0 +1,6 @@ +fpp-check +[ local path prefix ]/compiler/tools/fpp-check/test/template/interfaces_invalid_port_instance_name_aliased.fpp:51.31 + b.aOut[idx] -> i1.aIn2[idx] + ^ + expanded at [ local path prefix ]/compiler/tools/fpp-check/test/template/interfaces_invalid_port_instance_name_aliased.fpp:58.5 +error: aIn2 is not a port instance of interface A_I1 diff --git a/compiler/tools/fpp-check/test/template/interfaces_valid_port_instance_name_aliased.fpp b/compiler/tools/fpp-check/test/template/interfaces_valid_port_instance_name_aliased.fpp new file mode 100644 index 0000000000..6601585040 --- /dev/null +++ b/compiler/tools/fpp-check/test/template/interfaces_valid_port_instance_name_aliased.fpp @@ -0,0 +1,59 @@ +port P + +interface A_I1 { + async input port aIn: [2] P + output port bOut: [2] P +} + +interface A_I2 { + async input port aIn2: [2] P + output port bOut2: [2] P +} + +interface B_I { + output port aOut: [2] P + async input port bIn: [2] P +} + +active component A1 { + import A_I1 + import A_I2 + + async input port aIn3: [2] P +} + +active component B { + import B_I +} + +# Two instances of the same component +instance a1: A1 base id 10 queue size 10 stack size 1024 +instance b: B base id 100 queue size 10 stack size 1024 + +module template T(interface i1: A_I1, interface i2: A_I2, constant idx: U32) { + constant a = 0 + constant b = a + 1 + + topology Top { + # Import `a1` using the `A_I1` interface + instance i1 + + # Import `a2` using `A_I2` interface + instance i2 + + instance b + + connections C { + # Connect to a port inside `A_I1` + i1.bOut[idx] -> b.bIn[idx] + + # Connect to a port inside `A_I2` + b.aOut[idx] -> i2.aIn2[idx] + } + } +} + +# Instantiate two topologies that point to separate connections of b +module M1 { + expand T(interface a1, interface a1, constant 0) +} diff --git a/compiler/tools/fpp-check/test/template/interfaces_valid_port_instance_name_aliased.ref.txt b/compiler/tools/fpp-check/test/template/interfaces_valid_port_instance_name_aliased.ref.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/compiler/tools/fpp-check/test/template/invalid_nested.fpp b/compiler/tools/fpp-check/test/template/invalid_nested.fpp new file mode 100644 index 0000000000..e52774a663 --- /dev/null +++ b/compiler/tools/fpp-check/test/template/invalid_nested.fpp @@ -0,0 +1,22 @@ +module template Outer(constant c1: U32) { + module template Inner(constant c2: U32) { + constant k1 = c2 * 2 + } + + module M1 { + expand Inner(constant 10) + constant k2 = k1 * 3 + } + + module M2 { + expand Inner(constant 20) + constant k2 = k1 * 3 + } + + expand Inner(constant 30) + + constant j1 = M1.k1 + M2.k2 + constant j2 = k1 + M1.k1 + M2.k1 +} + +expand Outer(constant 10) diff --git a/compiler/tools/fpp-check/test/template/invalid_nested.ref.txt b/compiler/tools/fpp-check/test/template/invalid_nested.ref.txt new file mode 100644 index 0000000000..ec320733a7 --- /dev/null +++ b/compiler/tools/fpp-check/test/template/invalid_nested.ref.txt @@ -0,0 +1,9 @@ +fpp-check +[ local path prefix ]/compiler/tools/fpp-check/test/template/invalid_nested.fpp:2.5 + module template Inner(constant c2: U32) { + ^ +error: module template definitions cannot be nested +parent template defined here: +[ local path prefix ]/compiler/tools/fpp-check/test/template/invalid_nested.fpp:1.1 +module template Outer(constant c1: U32) { +^ diff --git a/compiler/tools/fpp-check/test/template/run b/compiler/tools/fpp-check/test/template/run new file mode 100755 index 0000000000..92816cad0e --- /dev/null +++ b/compiler/tools/fpp-check/test/template/run @@ -0,0 +1,4 @@ +#!/bin/sh + +export LOCAL_PATH_PREFIX=`cd ../../../../..; echo $PWD` +../run-script diff --git a/compiler/tools/fpp-check/test/template/self_reference.fpp b/compiler/tools/fpp-check/test/template/self_reference.fpp new file mode 100644 index 0000000000..4d2b07dd25 --- /dev/null +++ b/compiler/tools/fpp-check/test/template/self_reference.fpp @@ -0,0 +1,7 @@ +module template T(constant c: U32) { + constant k1 = c + constant k2 = k1 + c + constant k3 = k2 + c +} + +expand T(constant 10) diff --git a/compiler/tools/fpp-check/test/template/self_reference.ref.txt b/compiler/tools/fpp-check/test/template/self_reference.ref.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/compiler/tools/fpp-check/test/template/struct_parameter_anon_array_promote.fpp b/compiler/tools/fpp-check/test/template/struct_parameter_anon_array_promote.fpp new file mode 100644 index 0000000000..e2d117aaf1 --- /dev/null +++ b/compiler/tools/fpp-check/test/template/struct_parameter_anon_array_promote.fpp @@ -0,0 +1,10 @@ +array A = [1] U32 +array B = [2] U32 + +struct S { a: A, b: B } + +module template M(constant b: B) { + constant c = [ 1, b ] +} + +expand M(constant [2, 3]) diff --git a/compiler/tools/fpp-check/test/template/struct_parameter_anon_array_promote.ref.txt b/compiler/tools/fpp-check/test/template/struct_parameter_anon_array_promote.ref.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/compiler/tools/fpp-check/test/template/struct_parameter_bad_arg.fpp b/compiler/tools/fpp-check/test/template/struct_parameter_bad_arg.fpp new file mode 100644 index 0000000000..a60269f2cb --- /dev/null +++ b/compiler/tools/fpp-check/test/template/struct_parameter_bad_arg.fpp @@ -0,0 +1,10 @@ +array A = [1] U32 +array B = [2] U32 + +struct S { a: A, b: B } + +module template M(constant s: S) { + constant c = [ s.a, s.b[0] ] +} + +expand M(constant { a = [1], b = [2, 3, 5] }) diff --git a/compiler/tools/fpp-check/test/template/struct_parameter_bad_arg.ref.txt b/compiler/tools/fpp-check/test/template/struct_parameter_bad_arg.ref.txt new file mode 100644 index 0000000000..4f8813d490 --- /dev/null +++ b/compiler/tools/fpp-check/test/template/struct_parameter_bad_arg.ref.txt @@ -0,0 +1,5 @@ +fpp-check +[ local path prefix ]/compiler/tools/fpp-check/test/template/struct_parameter_bad_arg.fpp:10.19 +expand M(constant { a = [1], b = [2, 3, 5] }) + ^ +error: cannot convert value { a = [ 1 ], b = [ 2, 3, 5 ] } to type struct S diff --git a/compiler/tools/fpp-check/test/template/struct_parameter_bad_concat.fpp b/compiler/tools/fpp-check/test/template/struct_parameter_bad_concat.fpp new file mode 100644 index 0000000000..d8facfacf6 --- /dev/null +++ b/compiler/tools/fpp-check/test/template/struct_parameter_bad_concat.fpp @@ -0,0 +1,10 @@ +array A = [1] U32 +array B = [2] U32 + +struct S { a: A, b: B } + +module template M(constant s: S) { + constant c = [ s.a, s.b ] +} + +expand M(constant { a = [1], b = [2, 3] }) diff --git a/compiler/tools/fpp-check/test/template/struct_parameter_bad_concat.ref.txt b/compiler/tools/fpp-check/test/template/struct_parameter_bad_concat.ref.txt new file mode 100644 index 0000000000..f434fa9c0f --- /dev/null +++ b/compiler/tools/fpp-check/test/template/struct_parameter_bad_concat.ref.txt @@ -0,0 +1,6 @@ +fpp-check +[ local path prefix ]/compiler/tools/fpp-check/test/template/struct_parameter_bad_concat.fpp:7.16 + constant c = [ s.a, s.b ] + ^ + expanded at [ local path prefix ]/compiler/tools/fpp-check/test/template/struct_parameter_bad_concat.fpp:10.1 +error: cannot compute common type of array value with elements: array A, array B diff --git a/compiler/tools/fpp-check/test/template/struct_parameter_concat_primitives_promote.fpp b/compiler/tools/fpp-check/test/template/struct_parameter_concat_primitives_promote.fpp new file mode 100644 index 0000000000..7589ddf671 --- /dev/null +++ b/compiler/tools/fpp-check/test/template/struct_parameter_concat_primitives_promote.fpp @@ -0,0 +1,13 @@ +array A = [1] U32 +array B = [2] U32 + +struct S { a: A, b: B } + +constant b1 = [2, 3] +constant c1 = [ 1, b1 ] + +module template M(constant b: B) { + constant c = [ 1, b ] +} + +expand M(constant [2, 3]) diff --git a/compiler/tools/fpp-check/test/template/struct_parameter_concat_primitives_promote.ref.txt b/compiler/tools/fpp-check/test/template/struct_parameter_concat_primitives_promote.ref.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/compiler/tools/fpp-check/test/template/struct_parameter_concat_primitives_promote.txt b/compiler/tools/fpp-check/test/template/struct_parameter_concat_primitives_promote.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/compiler/tools/fpp-check/test/template/struct_parameter_ok.fpp b/compiler/tools/fpp-check/test/template/struct_parameter_ok.fpp new file mode 100644 index 0000000000..bc5aeb0d0e --- /dev/null +++ b/compiler/tools/fpp-check/test/template/struct_parameter_ok.fpp @@ -0,0 +1,10 @@ +array A = [1] U32 +array B = [2] U32 + +struct S { a: A, b: B } + +module template M(constant s: S) { + constant c = [ s.a[0], s.b[1] ] +} + +expand M(constant { a = [1], b = [2, 3] }) diff --git a/compiler/tools/fpp-check/test/template/struct_parameter_ok.ref.txt b/compiler/tools/fpp-check/test/template/struct_parameter_ok.ref.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/compiler/tools/fpp-check/test/template/tests.sh b/compiler/tools/fpp-check/test/template/tests.sh new file mode 100644 index 0000000000..0173e997e1 --- /dev/null +++ b/compiler/tools/fpp-check/test/template/tests.sh @@ -0,0 +1,24 @@ +tests=" +basic_constant +composition_invalid +constant_with_default +duplicate_def +interfaces +interfaces_arg_bad_signature +interfaces_arg_conformance_ok +interfaces_arg_missing_port +interfaces_basic +interfaces_invalid_port_instance +interfaces_invalid_port_instance_name +interfaces_invalid_port_instance_name_aliased +interfaces_valid_port_instance_name_aliased +invalid_nested +self_reference +struct_parameter_anon_array_promote +struct_parameter_bad_arg +struct_parameter_bad_concat +struct_parameter_concat_primitives_promote +struct_parameter_ok +types +undef_constant_param_type +undef_interface_param_type" diff --git a/compiler/tools/fpp-check/test/template/types.fpp b/compiler/tools/fpp-check/test/template/types.fpp new file mode 100644 index 0000000000..9e4e4291dc --- /dev/null +++ b/compiler/tools/fpp-check/test/template/types.fpp @@ -0,0 +1,26 @@ +module Fw { + + port Time + port Tlm + +} + +module template T(type P) { + port POut(p: P) -> P + + passive component C { + telemetry port tlmOut + time get port timeGetOut + + @ Telemetry channel 0 + telemetry Channel0: P id 0x00 + } +} + +struct S { + member: U32 +} + +expand T(type S) + +instance c: C base id 10 diff --git a/compiler/tools/fpp-check/test/template/types.ref.txt b/compiler/tools/fpp-check/test/template/types.ref.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/compiler/tools/fpp-check/test/template/undef_constant_param_type.fpp b/compiler/tools/fpp-check/test/template/undef_constant_param_type.fpp new file mode 100644 index 0000000000..895e313e17 --- /dev/null +++ b/compiler/tools/fpp-check/test/template/undef_constant_param_type.fpp @@ -0,0 +1 @@ +module template T(constant c: S) {} diff --git a/compiler/tools/fpp-check/test/template/undef_constant_param_type.ref.txt b/compiler/tools/fpp-check/test/template/undef_constant_param_type.ref.txt new file mode 100644 index 0000000000..afb6668dbc --- /dev/null +++ b/compiler/tools/fpp-check/test/template/undef_constant_param_type.ref.txt @@ -0,0 +1,6 @@ +fpp-check +[ local path prefix ]/compiler/tools/fpp-check/test/template/undef_constant_param_type.fpp:1.31 +module template T(constant c: S) {} + ^ +error: symbol S is not defined +note: looking for a type here diff --git a/compiler/tools/fpp-check/test/template/undef_interface_param_type.fpp b/compiler/tools/fpp-check/test/template/undef_interface_param_type.fpp new file mode 100644 index 0000000000..3ad0b99e20 --- /dev/null +++ b/compiler/tools/fpp-check/test/template/undef_interface_param_type.fpp @@ -0,0 +1 @@ +module template T(interface i: S) {} diff --git a/compiler/tools/fpp-check/test/template/undef_interface_param_type.ref.txt b/compiler/tools/fpp-check/test/template/undef_interface_param_type.ref.txt new file mode 100644 index 0000000000..10147191b4 --- /dev/null +++ b/compiler/tools/fpp-check/test/template/undef_interface_param_type.ref.txt @@ -0,0 +1,6 @@ +fpp-check +[ local path prefix ]/compiler/tools/fpp-check/test/template/undef_interface_param_type.fpp:1.32 +module template T(interface i: S) {} + ^ +error: symbol S is not defined +note: looking for a interface here diff --git a/compiler/tools/fpp-check/test/template/update-ref b/compiler/tools/fpp-check/test/template/update-ref new file mode 100755 index 0000000000..0f11071e7a --- /dev/null +++ b/compiler/tools/fpp-check/test/template/update-ref @@ -0,0 +1,4 @@ +#!/bin/sh + +export LOCAL_PATH_PREFIX=`cd ../../../../..; echo $PWD` +../update-ref-script diff --git a/compiler/tools/fpp-depend/test/template.fpp b/compiler/tools/fpp-depend/test/template.fpp new file mode 100644 index 0000000000..1400c98a3b --- /dev/null +++ b/compiler/tools/fpp-depend/test/template.fpp @@ -0,0 +1,16 @@ +locate interface ParamIface at "template_param_iface.fpp" +locate constant bodyConst at "template_body_dep.fpp" +locate type ArgType at "template_arg_type.fpp" +locate instance argInst at "template_arg_instance.fpp" + +module template T(interface i: ParamIface, type ty) { + constant cOut = bodyConst + struct S { x: ty } + topology Top { + instance i + } +} + +module M { + expand T(interface argInst, type ArgType) +} diff --git a/compiler/tools/fpp-depend/test/template.ref.txt b/compiler/tools/fpp-depend/test/template.ref.txt new file mode 100644 index 0000000000..1efc1b8b2f --- /dev/null +++ b/compiler/tools/fpp-depend/test/template.ref.txt @@ -0,0 +1,4 @@ +[ local path prefix ]/compiler/tools/fpp-depend/test/template_arg_instance.fpp +[ local path prefix ]/compiler/tools/fpp-depend/test/template_arg_type.fpp +[ local path prefix ]/compiler/tools/fpp-depend/test/template_body_dep.fpp +[ local path prefix ]/compiler/tools/fpp-depend/test/template_param_iface.fpp diff --git a/compiler/tools/fpp-depend/test/template_arg_instance.fpp b/compiler/tools/fpp-depend/test/template_arg_instance.fpp new file mode 100644 index 0000000000..ad2b87a092 --- /dev/null +++ b/compiler/tools/fpp-depend/test/template_arg_instance.fpp @@ -0,0 +1,3 @@ +locate interface ParamIface at "template_param_iface.fpp" +passive component ArgComp { import ParamIface } +instance argInst: ArgComp base id 0x200 diff --git a/compiler/tools/fpp-depend/test/template_arg_type.fpp b/compiler/tools/fpp-depend/test/template_arg_type.fpp new file mode 100644 index 0000000000..e73177d6d1 --- /dev/null +++ b/compiler/tools/fpp-depend/test/template_arg_type.fpp @@ -0,0 +1 @@ +type ArgType = U32 diff --git a/compiler/tools/fpp-depend/test/template_body_dep.fpp b/compiler/tools/fpp-depend/test/template_body_dep.fpp new file mode 100644 index 0000000000..adb427d372 --- /dev/null +++ b/compiler/tools/fpp-depend/test/template_body_dep.fpp @@ -0,0 +1 @@ +constant bodyConst = 7 diff --git a/compiler/tools/fpp-depend/test/template_locate.fpp b/compiler/tools/fpp-depend/test/template_locate.fpp new file mode 100644 index 0000000000..2e13ffe002 --- /dev/null +++ b/compiler/tools/fpp-depend/test/template_locate.fpp @@ -0,0 +1,7 @@ +# A template expansion depends on the file that defines the template, even +# when the template definition is located in a separate file. +locate template T at "template_locate_def.fpp" + +module M { + expand T(constant 10) +} diff --git a/compiler/tools/fpp-depend/test/template_locate.ref.txt b/compiler/tools/fpp-depend/test/template_locate.ref.txt new file mode 100644 index 0000000000..6ec03f7b73 --- /dev/null +++ b/compiler/tools/fpp-depend/test/template_locate.ref.txt @@ -0,0 +1 @@ +[ local path prefix ]/compiler/tools/fpp-depend/test/template_locate_def.fpp diff --git a/compiler/tools/fpp-depend/test/template_locate_def.fpp b/compiler/tools/fpp-depend/test/template_locate_def.fpp new file mode 100644 index 0000000000..1cc32c111a --- /dev/null +++ b/compiler/tools/fpp-depend/test/template_locate_def.fpp @@ -0,0 +1,3 @@ +module template T(constant p: U32) { + constant cOut = p + 1 +} diff --git a/compiler/tools/fpp-depend/test/template_param_iface.fpp b/compiler/tools/fpp-depend/test/template_param_iface.fpp new file mode 100644 index 0000000000..a38bcb6d69 --- /dev/null +++ b/compiler/tools/fpp-depend/test/template_param_iface.fpp @@ -0,0 +1,2 @@ +port P +interface ParamIface { sync input port pIn: P } diff --git a/compiler/tools/fpp-depend/test/tests.sh b/compiler/tools/fpp-depend/test/tests.sh index 41589ef4c6..ae91bd5c8d 100644 --- a/compiler/tools/fpp-depend/test/tests.sh +++ b/compiler/tools/fpp-depend/test/tests.sh @@ -63,6 +63,8 @@ special_ports top_implements string_no_size_implied_framework_defs string_with_size_implied_framework_defs +template +template_locate topology_implied_type transitive_instance " diff --git a/compiler/tools/fpp-filenames/test/run b/compiler/tools/fpp-filenames/test/run index c7b36692b1..1307c553bd 100755 --- a/compiler/tools/fpp-filenames/test/run +++ b/compiler/tools/fpp-filenames/test/run @@ -80,6 +80,21 @@ ok_test_template_auto_helpers() run_test "-u -t -a" "ok" ok_test_template_auto_helpers } +template() +{ + run_test "" template +} + +template_template() +{ + run_test "-t" "template" template_template +} + +template_test() +{ + run_test "-u" "template" template_test +} + tests=" include include_template @@ -93,6 +108,9 @@ ok_test ok_test_auto_helpers ok_test_template ok_test_template_auto_helpers +template +template_template +template_test " run_suite $tests diff --git a/compiler/tools/fpp-filenames/test/template.fpp b/compiler/tools/fpp-filenames/test/template.fpp new file mode 100644 index 0000000000..0750549bb1 --- /dev/null +++ b/compiler/tools/fpp-filenames/test/template.fpp @@ -0,0 +1,16 @@ +port P + +passive component TopComp { + sync input port pIn: P +} + +module template T(constant n: U32) { + array TemplateArr = [n] U32 + passive component TemplateComp { + sync input port pIn: P + } +} + +module M { + expand T(constant 3) +} diff --git a/compiler/tools/fpp-filenames/test/template.ref.txt b/compiler/tools/fpp-filenames/test/template.ref.txt new file mode 100644 index 0000000000..49a2cfb37c --- /dev/null +++ b/compiler/tools/fpp-filenames/test/template.ref.txt @@ -0,0 +1,4 @@ +PPortAc.cpp +PPortAc.hpp +TopCompComponentAc.cpp +TopCompComponentAc.hpp diff --git a/compiler/tools/fpp-filenames/test/template_template.ref.txt b/compiler/tools/fpp-filenames/test/template_template.ref.txt new file mode 100644 index 0000000000..80e80acb6e --- /dev/null +++ b/compiler/tools/fpp-filenames/test/template_template.ref.txt @@ -0,0 +1,2 @@ +TopComp.template.cpp +TopComp.template.hpp diff --git a/compiler/tools/fpp-filenames/test/template_test.ref.txt b/compiler/tools/fpp-filenames/test/template_test.ref.txt new file mode 100644 index 0000000000..d34d8a2e09 --- /dev/null +++ b/compiler/tools/fpp-filenames/test/template_test.ref.txt @@ -0,0 +1,4 @@ +TopCompGTestBase.cpp +TopCompGTestBase.hpp +TopCompTesterBase.cpp +TopCompTesterBase.hpp diff --git a/compiler/tools/fpp-filenames/test/update-ref b/compiler/tools/fpp-filenames/test/update-ref index abb351a6bb..79d1dec834 100755 --- a/compiler/tools/fpp-filenames/test/update-ref +++ b/compiler/tools/fpp-filenames/test/update-ref @@ -37,3 +37,6 @@ update "-u" "ok" ok_test update "-u -a" "ok" ok_test_auto_helpers update "-u -t" "ok" ok_test_template update "-u -t -a" "ok" ok_test_template_auto_helpers +update "" template +update "-t" "template" template_template +update "-u" "template" template_test diff --git a/compiler/tools/fpp-format/test/include.ref.txt b/compiler/tools/fpp-format/test/include.ref.txt index 064e938b6a..0e7157fe72 100644 --- a/compiler/tools/fpp-format/test/include.ref.txt +++ b/compiler/tools/fpp-format/test/include.ref.txt @@ -86,15 +86,15 @@ module DefinitionsAndSpecifiers { assert @< Async product receive port @ Internal Component State machine definition - state machine S @< State machine definition + state machine SM @< State machine definition @ State machine instance 1 - state machine instance s1: S \ + state machine instance s1: SM \ priority 10 \ drop @< State machine instance 1 @ State machine instance 2 - state machine instance s2: S @< State machine instance 2 + state machine instance s2: SM @< State machine instance 2 @ State machine for outside definition state machine instance so: SO @< State machine for outside definition @@ -191,8 +191,12 @@ module DefinitionsAndSpecifiers { } @< Module definition - @ Included constant - constant x = 0 @< Included constant + module Constants { + + @ Included constant + constant x = 0 @< Included constant + + } @ Port definition port P( @@ -262,7 +266,7 @@ module DefinitionsAndSpecifiers { } @< Deployment topology @ Topology definition with one implements - topology T implements \ + topology T2 implements \ I { @@ -270,7 +274,7 @@ module DefinitionsAndSpecifiers { } @< Topology definition with one implements @ Topology definition with two implements - topology T implements \ + topology T3 implements \ I I { @@ -331,7 +335,7 @@ module Expressions { constant arraySubExp2 = a.b.c[1] @< Array Subscript @ Array Subscript with member selection - constant arraySubExp2 = a.b.c[1][2].s[12] @< Array Subscript + constant arraySubExp3 = a.b.c[1][2].s[12] @< Array Subscript @ Boolean literal constant booleanLiteralExp = true @< Boolean literal diff --git a/compiler/tools/fpp-format/test/no_include.ref.txt b/compiler/tools/fpp-format/test/no_include.ref.txt index edf5642e6a..d4ca39ee55 100644 --- a/compiler/tools/fpp-format/test/no_include.ref.txt +++ b/compiler/tools/fpp-format/test/no_include.ref.txt @@ -86,15 +86,15 @@ module DefinitionsAndSpecifiers { assert @< Async product receive port @ Internal Component State machine definition - state machine S @< State machine definition + state machine SM @< State machine definition @ State machine instance 1 - state machine instance s1: S \ + state machine instance s1: SM \ priority 10 \ drop @< State machine instance 1 @ State machine instance 2 - state machine instance s2: S @< State machine instance 2 + state machine instance s2: SM @< State machine instance 2 @ State machine for outside definition state machine instance so: SO @< State machine for outside definition @@ -191,8 +191,12 @@ module DefinitionsAndSpecifiers { } @< Module definition - @ Include specifier - include "constant.fppi" @< Include specifier + module Constants { + + @ Include specifier + include "constant.fppi" @< Include specifier + + } @ Port definition port P( @@ -259,7 +263,7 @@ module DefinitionsAndSpecifiers { } @< Deployment topology @ Topology definition with one implements - topology T implements \ + topology T2 implements \ I { @@ -267,7 +271,7 @@ module DefinitionsAndSpecifiers { } @< Topology definition with one implements @ Topology definition with two implements - topology T implements \ + topology T3 implements \ I I { @@ -328,7 +332,7 @@ module Expressions { constant arraySubExp2 = a.b.c[1] @< Array Subscript @ Array Subscript with member selection - constant arraySubExp2 = a.b.c[1][2].s[12] @< Array Subscript + constant arraySubExp3 = a.b.c[1][2].s[12] @< Array Subscript @ Boolean literal constant booleanLiteralExp = true @< Boolean literal diff --git a/compiler/tools/fpp-format/test/run b/compiler/tools/fpp-format/test/run index 19a34bf373..07e7f72365 100755 --- a/compiler/tools/fpp-format/test/run +++ b/compiler/tools/fpp-format/test/run @@ -69,4 +69,16 @@ dictionary_specifier() $fpp_syntax dictionary_specifier.out.txt } +# Note: the expanded output uses the `expand ... { ... }` form, which is not +# (yet) valid FPP surface syntax, so we do not round-trip it through fpp-syntax. +template_expand() +{ + run_test '-t' template_expand +} + +template_include() +{ + run_test '-t' template_include +} + run_suite $tests diff --git a/compiler/tools/fpp-format/test/template.fpp b/compiler/tools/fpp-format/test/template.fpp new file mode 100644 index 0000000000..7665279e1c --- /dev/null +++ b/compiler/tools/fpp-format/test/template.fpp @@ -0,0 +1,19 @@ +interface Iface { + +} + +@ Template Definition +module template T ( + constant c: U32, @< A constant parameter + type Ty, @< A type parameter + interface inst: Iface @< An interface parameter +) { + port P( + a: Ty + ) -> Ty + + constant d = c + 2 +} + +@ Without -t, the expansion specifier is formatted but not expanded +expand T(constant 10, type U32, interface inst1) diff --git a/compiler/tools/fpp-format/test/template.ref.txt b/compiler/tools/fpp-format/test/template.ref.txt new file mode 100644 index 0000000000..2c4a570c55 --- /dev/null +++ b/compiler/tools/fpp-format/test/template.ref.txt @@ -0,0 +1,25 @@ +interface Iface { + + +} + +@ Template Definition +module template T( + constant c: U32 @< A constant parameter + type Ty @< A type parameter + interface inst: Iface @< An interface parameter + ) { + port P( + a: Ty + ) -> Ty + + constant d = c + 2 + +} + +@ Without -t, the expansion specifier is formatted but not expanded +expand T( + constant 10 + type U32 + interface inst1 + ) diff --git a/compiler/tools/fpp-format/test/template_expand.fpp b/compiler/tools/fpp-format/test/template_expand.fpp new file mode 100644 index 0000000000..583d334b26 --- /dev/null +++ b/compiler/tools/fpp-format/test/template_expand.fpp @@ -0,0 +1,33 @@ +@ An interface for the template's interface parameter +interface Iface { + +} + +@ Template definition with all three kinds of parameter +module template T( + constant c: U32, @< A constant parameter + type Ty, @< A type parameter + interface inst: Iface @< An interface parameter +) { + @ A port that uses the type parameter + port P( + a: Ty + ) -> Ty + + @ A constant derived from the constant parameter + constant d = c + 2 +} + +@ Expand the template with concrete arguments +expand T(constant 10, type U32, interface inst1) + +@ A template with an empty body +module template Empty( + constant c: U32 @< A constant parameter +) { + +} + +@ Expanding an empty-bodied template produces an empty brace block +expand Empty(constant 5) +@< with the specifier annotations attached to it diff --git a/compiler/tools/fpp-format/test/template_expand.ref.txt b/compiler/tools/fpp-format/test/template_expand.ref.txt new file mode 100644 index 0000000000..cd729ea31c --- /dev/null +++ b/compiler/tools/fpp-format/test/template_expand.ref.txt @@ -0,0 +1,51 @@ +@ An interface for the template's interface parameter +interface Iface { + + +} + +@ Template definition with all three kinds of parameter +module template T( + constant c: U32 @< A constant parameter + type Ty @< A type parameter + interface inst: Iface @< An interface parameter + ) { + @ A port that uses the type parameter + port P( + a: Ty + ) -> Ty + + @ A constant derived from the constant parameter + constant d = c + 2 + +} + +@ Expand the template with concrete arguments +expand T( + constant 10 + type U32 + interface inst1 + ) { + @ A port that uses the type parameter + port P( + a: Ty + ) -> Ty + + @ A constant derived from the constant parameter + constant d = c + 2 + +} + +@ A template with an empty body +module template Empty( + constant c: U32 @< A constant parameter + ) { + +} + +@ Expanding an empty-bodied template produces an empty brace block +expand Empty( + constant 5 + ) { + +} @< with the specifier annotations attached to it diff --git a/compiler/tools/fpp-format/test/template_include.fpp b/compiler/tools/fpp-format/test/template_include.fpp new file mode 100644 index 0000000000..3fadd61507 --- /dev/null +++ b/compiler/tools/fpp-format/test/template_include.fpp @@ -0,0 +1,5 @@ +include "template_include.fppi" + +@ Expanding a template defined in an included file requires -t to also +@ resolve the include so the template definition can be found +expand Included(constant 42) diff --git a/compiler/tools/fpp-format/test/template_include.fppi b/compiler/tools/fpp-format/test/template_include.fppi new file mode 100644 index 0000000000..ed216a2404 --- /dev/null +++ b/compiler/tools/fpp-format/test/template_include.fppi @@ -0,0 +1,7 @@ +@ A module template defined in an included file +module template Included( + constant n: U32 @< A constant parameter +) { + @ A constant defined by the included template + constant m = n + 1 +} diff --git a/compiler/tools/fpp-format/test/template_include.ref.txt b/compiler/tools/fpp-format/test/template_include.ref.txt new file mode 100644 index 0000000000..c71b407259 --- /dev/null +++ b/compiler/tools/fpp-format/test/template_include.ref.txt @@ -0,0 +1,18 @@ +@ A module template defined in an included file +module template Included( + constant n: U32 @< A constant parameter + ) { + @ A constant defined by the included template + constant m = n + 1 + +} + +@ Expanding a template defined in an included file requires -t to also +@ resolve the include so the template definition can be found +expand Included( + constant 42 + ) { + @ A constant defined by the included template + constant m = n + 1 + +} diff --git a/compiler/tools/fpp-format/test/tests.sh b/compiler/tools/fpp-format/test/tests.sh index 93c165a415..20ccfd2443 100644 --- a/compiler/tools/fpp-format/test/tests.sh +++ b/compiler/tools/fpp-format/test/tests.sh @@ -7,6 +7,9 @@ interface kwd_names no_include state_machine +template +template_expand +template_include topology dictionary_specifier " diff --git a/compiler/tools/fpp-format/test/update-ref b/compiler/tools/fpp-format/test/update-ref index a9f64f56b8..32063e9e61 100755 --- a/compiler/tools/fpp-format/test/update-ref +++ b/compiler/tools/fpp-format/test/update-ref @@ -65,6 +65,16 @@ dictionary_specifier() update '' ../../fpp-syntax/test/dictionary-specifier dictionary_specifier } +template_expand() +{ + update '-t' template_expand +} + +template_include() +{ + update '-t' template_include +} + for t in $tests do echo "updating ref output for $t" diff --git a/compiler/tools/fpp-locate-defs/test/defs.ref.txt b/compiler/tools/fpp-locate-defs/test/defs.ref.txt index 5ebd11f284..f150be0823 100644 --- a/compiler/tools/fpp-locate-defs/test/defs.ref.txt +++ b/compiler/tools/fpp-locate-defs/test/defs.ref.txt @@ -23,6 +23,8 @@ locate state machine M.SM at "defs/defs-2.fpp" locate state machine SM at "defs/defs-1.fpp" locate system M.S at "defs/defs-2.fpp" locate system S at "defs/defs-1.fpp" +locate template M.Tmpl at "defs/defs-2.fpp" +locate template Tmpl at "defs/defs-1.fpp" locate type A at "defs/defs-1.fpp" locate type Alias at "defs/defs-1.fpp" locate type C.A at "defs/defs-1.fpp" diff --git a/compiler/tools/fpp-locate-defs/test/defs/defs-1.fpp b/compiler/tools/fpp-locate-defs/test/defs/defs-1.fpp index d58128b220..4d70d1390f 100644 --- a/compiler/tools/fpp-locate-defs/test/defs/defs-1.fpp +++ b/compiler/tools/fpp-locate-defs/test/defs/defs-1.fpp @@ -42,8 +42,12 @@ passive component C { instance c: C base id 0x100 -topology T { +topology T { } +module template Tmpl(constant n: U32) { + array TArr = [n] U32 +} + system S: T diff --git a/compiler/tools/fpp-locate-defs/test/defs/defs-2.fpp b/compiler/tools/fpp-locate-defs/test/defs/defs-2.fpp index 2bd385541b..e768b3cdf5 100644 --- a/compiler/tools/fpp-locate-defs/test/defs/defs-2.fpp +++ b/compiler/tools/fpp-locate-defs/test/defs/defs-2.fpp @@ -41,6 +41,10 @@ module M { } + module template Tmpl(constant n: U32) { + array TArr = [n] U32 + } + system S: T } diff --git a/compiler/tools/fpp-locate-defs/test/defs_dir.ref.txt b/compiler/tools/fpp-locate-defs/test/defs_dir.ref.txt index 9c6b363c61..eca14f4a2e 100644 --- a/compiler/tools/fpp-locate-defs/test/defs_dir.ref.txt +++ b/compiler/tools/fpp-locate-defs/test/defs_dir.ref.txt @@ -23,6 +23,8 @@ locate state machine M.SM at "defs-2.fpp" locate state machine SM at "defs-1.fpp" locate system M.S at "defs-2.fpp" locate system S at "defs-1.fpp" +locate template M.Tmpl at "defs-2.fpp" +locate template Tmpl at "defs-1.fpp" locate type A at "defs-1.fpp" locate type Alias at "defs-1.fpp" locate type C.A at "defs-1.fpp" diff --git a/compiler/tools/fpp-locate-defs/test/template_expand.fpp b/compiler/tools/fpp-locate-defs/test/template_expand.fpp new file mode 100644 index 0000000000..097b33a932 --- /dev/null +++ b/compiler/tools/fpp-locate-defs/test/template_expand.fpp @@ -0,0 +1,18 @@ +# fpp-locate-defs expands templates so that the definitions generated by an +# expansion are located. Here module Expanded expands template Tmpl, producing +# Expanded.GenComp and Expanded.GenArr; both must appear in the output so that +# other files can locate these expansion-generated symbols. +port P + +module Lib { + module template Tmpl(constant n: U32) { + passive component GenComp { + sync input port pIn: P + } + array GenArr = [n] U32 + } +} + +module Expanded { + expand Lib.Tmpl(constant 3) +} diff --git a/compiler/tools/fpp-locate-defs/test/template_expand.ref.txt b/compiler/tools/fpp-locate-defs/test/template_expand.ref.txt new file mode 100644 index 0000000000..58067d6159 --- /dev/null +++ b/compiler/tools/fpp-locate-defs/test/template_expand.ref.txt @@ -0,0 +1,4 @@ +locate component Expanded.GenComp at "template_expand.fpp" +locate port P at "template_expand.fpp" +locate template Lib.Tmpl at "template_expand.fpp" +locate type Expanded.GenArr at "template_expand.fpp" diff --git a/compiler/tools/fpp-locate-defs/test/tests.sh b/compiler/tools/fpp-locate-defs/test/tests.sh index a2423bb00d..bdd98c336b 100644 --- a/compiler/tools/fpp-locate-defs/test/tests.sh +++ b/compiler/tools/fpp-locate-defs/test/tests.sh @@ -3,4 +3,5 @@ defs defs_dir include stdin +template_expand " diff --git a/compiler/tools/fpp-syntax/test/run b/compiler/tools/fpp-syntax/test/run index b9185dc67d..164fc0a9d9 100755 --- a/compiler/tools/fpp-syntax/test/run +++ b/compiler/tools/fpp-syntax/test/run @@ -139,6 +139,11 @@ syntax_stdin() diff -u syntax-stdin.ref.txt syntax-stdin.out.txt > syntax-stdin.diff.txt 2>&1 } +template() +{ + run_test -ita template +} + topology_ports() { run_test -ia topology-ports @@ -184,6 +189,7 @@ syntax_ast syntax_include_ast syntax_kwd_names syntax_stdin +template topology_ports two_input_files dictionary_specifier diff --git a/compiler/tools/fpp-syntax/test/syntax-ast.ref.txt b/compiler/tools/fpp-syntax/test/syntax-ast.ref.txt index eafd0cb6c3..c165bffda2 100644 --- a/compiler/tools/fpp-syntax/test/syntax-ast.ref.txt +++ b/compiler/tools/fpp-syntax/test/syntax-ast.ref.txt @@ -142,19 +142,19 @@ def module @< Async product receive port @ Internal Component State machine definition def state machine - ident S + ident SM @< State machine definition @ State machine instance 1 spec state machine instance ident s1 - state machine qual ident S + state machine qual ident SM priority literal int 10 queue full drop @< State machine instance 1 @ State machine instance 2 spec state machine instance ident s2 - state machine qual ident S + state machine qual ident SM @< State machine instance 2 @ State machine for outside definition spec state machine instance @@ -304,10 +304,12 @@ def module ident x literal int 0 @< Module definition - @ Include specifier - spec include - file constant.fppi - @< Include specifier + def module + ident Constants + @ Include specifier + spec include + file constant.fppi + @< Include specifier @ Port definition def port ident P @@ -406,13 +408,13 @@ def module @< Deployment topology @ Topology definition with one implements def topology - ident T + ident T2 implements qual ident I @< Topology definition with one implements @ Topology definition with two implements def topology - ident T + ident T3 implements qual ident I qual ident I @@ -530,7 +532,7 @@ def module @< Array Subscript @ Array Subscript with member selection def constant - ident arraySubExp2 + ident arraySubExp3 expr array subscript expr dot expr array subscript diff --git a/compiler/tools/fpp-syntax/test/syntax-include-ast.ref.txt b/compiler/tools/fpp-syntax/test/syntax-include-ast.ref.txt index 29c54865b5..7b54a7304f 100644 --- a/compiler/tools/fpp-syntax/test/syntax-include-ast.ref.txt +++ b/compiler/tools/fpp-syntax/test/syntax-include-ast.ref.txt @@ -142,19 +142,19 @@ def module @< Async product receive port @ Internal Component State machine definition def state machine - ident S + ident SM @< State machine definition @ State machine instance 1 spec state machine instance ident s1 - state machine qual ident S + state machine qual ident SM priority literal int 10 queue full drop @< State machine instance 1 @ State machine instance 2 spec state machine instance ident s2 - state machine qual ident S + state machine qual ident SM @< State machine instance 2 @ State machine for outside definition spec state machine instance @@ -304,11 +304,13 @@ def module ident x literal int 0 @< Module definition - @ Included constant - def constant - ident x - literal int 0 - @< Included constant + def module + ident Constants + @ Included constant + def constant + ident x + literal int 0 + @< Included constant @ Port definition def port ident P @@ -413,13 +415,13 @@ def module @< Deployment topology @ Topology definition with one implements def topology - ident T + ident T2 implements qual ident I @< Topology definition with one implements @ Topology definition with two implements def topology - ident T + ident T3 implements qual ident I qual ident I @@ -537,7 +539,7 @@ def module @< Array Subscript @ Array Subscript with member selection def constant - ident arraySubExp2 + ident arraySubExp3 expr array subscript expr dot expr array subscript diff --git a/compiler/tools/fpp-syntax/test/syntax-stdin.ref.txt b/compiler/tools/fpp-syntax/test/syntax-stdin.ref.txt index 29c54865b5..7b54a7304f 100644 --- a/compiler/tools/fpp-syntax/test/syntax-stdin.ref.txt +++ b/compiler/tools/fpp-syntax/test/syntax-stdin.ref.txt @@ -142,19 +142,19 @@ def module @< Async product receive port @ Internal Component State machine definition def state machine - ident S + ident SM @< State machine definition @ State machine instance 1 spec state machine instance ident s1 - state machine qual ident S + state machine qual ident SM priority literal int 10 queue full drop @< State machine instance 1 @ State machine instance 2 spec state machine instance ident s2 - state machine qual ident S + state machine qual ident SM @< State machine instance 2 @ State machine for outside definition spec state machine instance @@ -304,11 +304,13 @@ def module ident x literal int 0 @< Module definition - @ Included constant - def constant - ident x - literal int 0 - @< Included constant + def module + ident Constants + @ Included constant + def constant + ident x + literal int 0 + @< Included constant @ Port definition def port ident P @@ -413,13 +415,13 @@ def module @< Deployment topology @ Topology definition with one implements def topology - ident T + ident T2 implements qual ident I @< Topology definition with one implements @ Topology definition with two implements def topology - ident T + ident T3 implements qual ident I qual ident I @@ -537,7 +539,7 @@ def module @< Array Subscript @ Array Subscript with member selection def constant - ident arraySubExp2 + ident arraySubExp3 expr array subscript expr dot expr array subscript diff --git a/compiler/tools/fpp-syntax/test/syntax.fpp b/compiler/tools/fpp-syntax/test/syntax.fpp index 694cd0e751..3b0509ed7b 100644 --- a/compiler/tools/fpp-syntax/test/syntax.fpp +++ b/compiler/tools/fpp-syntax/test/syntax.fpp @@ -73,15 +73,15 @@ module DefinitionsAndSpecifiers { @< Async product receive port @ Internal Component State machine definition - state machine S + state machine SM @< State machine definition @ State machine instance 1 - state machine instance s1: S priority 10 drop + state machine instance s1: SM priority 10 drop @< State machine instance 1 @ State machine instance 2 - state machine instance s2: S + state machine instance s2: SM @< State machine instance 2 @ State machine for outside definition @@ -156,9 +156,11 @@ module DefinitionsAndSpecifiers { } @< Module definition - @ Include specifier - include "constant.fppi" - @< Include specifier + module Constants { + @ Include specifier + include "constant.fppi" + @< Include specifier + } @ Port definition port P(a: U32, b: F32) -> U32 @@ -228,11 +230,11 @@ module DefinitionsAndSpecifiers { @< Deployment topology @ Topology definition with one implements - topology T implements I {} + topology T2 implements I {} @< Topology definition with one implements @ Topology definition with two implements - topology T implements I, I {} + topology T3 implements I, I {} @< Topology definition with two implements @ System definition @@ -286,8 +288,8 @@ module Expressions { @< Array Subscript @ Array Subscript with member selection - constant arraySubExp2 = a.b.c[1][2].s[12] - @< Array Subscript + constant arraySubExp3 = a.b.c[1][2].s[12] + @< Array Subscript @ Boolean literal constant booleanLiteralExp = true diff --git a/compiler/tools/fpp-syntax/test/template.fpp b/compiler/tools/fpp-syntax/test/template.fpp new file mode 100644 index 0000000000..30a0fa7cff --- /dev/null +++ b/compiler/tools/fpp-syntax/test/template.fpp @@ -0,0 +1,20 @@ +module template Tmpl( + @ Constant template parameter + constant c: SomeType @< Constant parameter + + @ Type template parameter + type TypeParam @< Type parameter + + @ Interface instance template parameter + interface inst: InterfaceDef @< Instance parameter +) { + array Arr = [3] TypeParam + + topology Top { + instance inst + } +} + +@ Expansion specifier +expand Tmpl(constant 10, type Type, interface instance1) +@< Expansion specifier \ No newline at end of file diff --git a/compiler/tools/fpp-syntax/test/template.ref.txt b/compiler/tools/fpp-syntax/test/template.ref.txt new file mode 100644 index 0000000000..15d416dccf --- /dev/null +++ b/compiler/tools/fpp-syntax/test/template.ref.txt @@ -0,0 +1,33 @@ +def module template + ident Tmpl + @ Constant template parameter + constant template param + type name qual ident SomeType + @< Constant parameter + @ Type template parameter + type template param + ident TypeParam + @< Type parameter + @ Interface instance template parameter + interface template param + ident inst + qual ident InterfaceDef + @< Instance parameter + def array + ident Arr + size literal int 3 + type name qual ident TypeParam + def topology + ident Top + spec interface instance + qual ident inst +@ Expansion specifier +expand + qual ident Tmpl + constant template arg + literal int 10 + type template arg + type name qual ident Type + interface template param + qual ident instance1 +@< Expansion specifier diff --git a/compiler/tools/fpp-syntax/test/update-ref b/compiler/tools/fpp-syntax/test/update-ref index 65622597fb..2f21c6bffa 100755 --- a/compiler/tools/fpp-syntax/test/update-ref +++ b/compiler/tools/fpp-syntax/test/update-ref @@ -29,6 +29,7 @@ update "" illegal-character update "" parse-error update "" syntax update "" syntax-kwd-names +update -a state-machine update -ia topology-ports update -a dictionary-specifier update -a empty @@ -46,6 +47,8 @@ update -ia include-state-machine update -ia include-state-machine update -ia include-subdir update -ia include-topology +update -ia topology-ports +update -ita template update -ia subdir/include-parent-dir update -ia syntax syntax-include-ast update "" numeric-shift diff --git a/compiler/tools/fpp-to-json/test/activeComponents.ref.txt b/compiler/tools/fpp-to-json/test/activeComponents.ref.txt index d6ab9d0625..e290e8e8d4 100644 --- a/compiler/tools/fpp-to-json/test/activeComponents.ref.txt +++ b/compiler/tools/fpp-to-json/test/activeComponents.ref.txt @@ -140,18 +140,18 @@ "name" : "Fw" } }, - "id" : 42 + "id" : 52 } }, "name" : { "AstNode" : { "data" : "BufferSend", - "id" : 43 + "id" : 51 } } } }, - "id" : 44 + "id" : 53 } } }, @@ -159,7 +159,7 @@ "queueFull" : "None" } }, - "id" : 45 + "id" : 54 } } } @@ -196,18 +196,18 @@ "name" : "Fw" } }, - "id" : 54 + "id" : 67 } }, "name" : { "AstNode" : { "data" : "BufferSend", - "id" : 55 + "id" : 66 } } } }, - "id" : 56 + "id" : 68 } } }, @@ -215,7 +215,7 @@ "queueFull" : "None" } }, - "id" : 57 + "id" : 69 } } } @@ -225,7 +225,7 @@ ] ] }, - "id" : 58 + "id" : 70 } } } @@ -235,7 +235,7 @@ ] ] }, - "id" : 59 + "id" : 71 } } } @@ -298,18 +298,18 @@ "name" : "Svc" } }, - "id" : 112 + "id" : 128 } }, "name" : { "AstNode" : { "data" : "Sched", - "id" : 113 + "id" : 127 } } } }, - "id" : 114 + "id" : 129 } } }, @@ -317,7 +317,7 @@ "queueFull" : "None" } }, - "id" : 115 + "id" : 130 } } } @@ -337,7 +337,7 @@ "name" : "S1", "members" : "None" }, - "id" : 116 + "id" : 131 } } } @@ -378,7 +378,7 @@ } } }, - "id" : 205 + "id" : 224 } } }, @@ -393,7 +393,7 @@ "name" : "__FPRIME_UNINITIALIZED", "value" : "None" }, - "id" : 203 + "id" : 222 } }, [ @@ -408,7 +408,7 @@ "name" : "IDLE", "value" : "None" }, - "id" : 204 + "id" : 223 } }, [ @@ -418,7 +418,7 @@ "default" : "None", "isDictionaryDef" : false }, - "id" : 206 + "id" : 225 } } } @@ -446,15 +446,15 @@ "name" : "IDLE" } }, - "id" : 118 + "id" : 133 } } }, - "id" : 119 + "id" : 134 } } }, - "id" : 120 + "id" : 135 } } } @@ -474,7 +474,7 @@ "members" : [ ] }, - "id" : 123 + "id" : 138 } } } @@ -485,7 +485,7 @@ ] } }, - "id" : 124 + "id" : 139 } } } @@ -510,13 +510,13 @@ "name" : "S1" } }, - "id" : 126 + "id" : 141 } }, "priority" : "None", "queueFull" : "None" }, - "id" : 127 + "id" : 142 } } } @@ -541,13 +541,13 @@ "name" : "S2" } }, - "id" : 135 + "id" : 150 } }, "priority" : "None", "queueFull" : "None" }, - "id" : 136 + "id" : 151 } } } @@ -557,7 +557,7 @@ ] ] }, - "id" : 137 + "id" : 152 } } } @@ -567,7 +567,7 @@ ] ] }, - "id" : 138 + "id" : 153 } } } @@ -612,12 +612,12 @@ "value" : "10" } }, - "id" : 139 + "id" : 154 } }, "isDictionaryDef" : false }, - "id" : 140 + "id" : 155 } } } @@ -646,7 +646,7 @@ "value" : "10" } }, - "id" : 149 + "id" : 164 } }, "op" : { @@ -661,17 +661,17 @@ "value" : "1024" } }, - "id" : 150 + "id" : 165 } } } }, - "id" : 151 + "id" : 166 } }, "isDictionaryDef" : false }, - "id" : 152 + "id" : 167 } } } @@ -681,7 +681,7 @@ ] ] }, - "id" : 153 + "id" : 168 } } } @@ -710,18 +710,18 @@ "name" : "Utils" } }, - "id" : 154 + "id" : 171 } }, "name" : { "AstNode" : { "data" : "DataCompressor", - "id" : 155 + "id" : 170 } } } }, - "id" : 156 + "id" : 172 } }, "baseId" : { @@ -731,7 +731,7 @@ "value" : "0x100" } }, - "id" : 157 + "id" : 173 } }, "implType" : "None", @@ -748,18 +748,18 @@ "value" : "Default" } }, - "id" : 158 + "id" : 174 } }, "id" : { "AstNode" : { "data" : "queueSize", - "id" : 159 + "id" : 175 } } } }, - "id" : 160 + "id" : 176 } } }, @@ -775,18 +775,18 @@ "value" : "Default" } }, - "id" : 161 + "id" : 177 } }, "id" : { "AstNode" : { "data" : "stackSize", - "id" : 162 + "id" : 178 } } } }, - "id" : 163 + "id" : 179 } } }, @@ -798,7 +798,7 @@ "value" : "30" } }, - "id" : 164 + "id" : 180 } } }, @@ -806,7 +806,7 @@ "initSpecs" : [ ] }, - "id" : 165 + "id" : 181 } } } @@ -835,18 +835,18 @@ "name" : "M" } }, - "id" : 190 + "id" : 210 } }, "name" : { "AstNode" : { "data" : "StateMachines", - "id" : 191 + "id" : 209 } } } }, - "id" : 192 + "id" : 211 } }, "baseId" : { @@ -856,7 +856,7 @@ "value" : "0x200" } }, - "id" : 193 + "id" : 212 } }, "implType" : "None", @@ -873,18 +873,18 @@ "value" : "Default" } }, - "id" : 194 + "id" : 213 } }, "id" : { "AstNode" : { "data" : "queueSize", - "id" : 195 + "id" : 214 } } } }, - "id" : 196 + "id" : 215 } } }, @@ -900,18 +900,18 @@ "value" : "Default" } }, - "id" : 197 + "id" : 216 } }, "id" : { "AstNode" : { "data" : "stackSize", - "id" : 198 + "id" : 217 } } } }, - "id" : 199 + "id" : 218 } } }, @@ -923,7 +923,7 @@ "value" : "40" } }, - "id" : 200 + "id" : 219 } } }, @@ -931,7 +931,7 @@ "initSpecs" : [ ] }, - "id" : 201 + "id" : 220 } } } @@ -941,7 +941,7 @@ ] ] }, - "id" : 202 + "id" : 221 } } } @@ -959,1037 +959,1358 @@ "0" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", "pos" : "2.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "1" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", "pos" : "2.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "2" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", "pos" : "2.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "3" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", "pos" : "1.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "4" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", "pos" : "6.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "5" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", "pos" : "6.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "6" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", "pos" : "6.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "7" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", "pos" : "5.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "8" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", "pos" : "15.36", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "9" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", "pos" : "15.39", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "10" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", "pos" : "15.36", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "11" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "15.5", - "includingLoc" : "None" + "pos" : "15.36", + "includingLoc" : "None", + "expandingLoc" : "None" }, "12" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "18.32", - "includingLoc" : "None" + "pos" : "15.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "13" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "18.35", - "includingLoc" : "None" + "pos" : "18.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "14" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "18.32", - "includingLoc" : "None" + "pos" : "18.35", + "includingLoc" : "None", + "expandingLoc" : "None" }, "15" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "18.5", - "includingLoc" : "None" + "pos" : "18.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "16" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", "pos" : "18.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "17" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "18.35", - "includingLoc" : "None" + "pos" : "18.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "18" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", "pos" : "18.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "19" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "18.5", - "includingLoc" : "None" + "pos" : "18.35", + "includingLoc" : "None", + "expandingLoc" : "None" }, "20" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", "pos" : "18.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "21" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "18.35", - "includingLoc" : "None" + "pos" : "18.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "22" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "18.32", - "includingLoc" : "None" + "pos" : "18.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "23" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "18.5", - "includingLoc" : "None" + "pos" : "18.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "24" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "12.3", - "includingLoc" : "None" + "pos" : "18.35", + "includingLoc" : "None", + "expandingLoc" : "None" }, "25" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "15.36", - "includingLoc" : "None" + "pos" : "18.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "26" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "15.39", - "includingLoc" : "None" + "pos" : "18.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "27" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "15.36", - "includingLoc" : "None" + "pos" : "18.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "28" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "15.5", - "includingLoc" : "None" + "pos" : "12.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "29" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "18.32", - "includingLoc" : "None" + "pos" : "15.36", + "includingLoc" : "None", + "expandingLoc" : "None" }, "30" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "18.35", - "includingLoc" : "None" + "pos" : "15.39", + "includingLoc" : "None", + "expandingLoc" : "None" }, "31" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "18.32", - "includingLoc" : "None" + "pos" : "15.36", + "includingLoc" : "None", + "expandingLoc" : "None" }, "32" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "18.5", - "includingLoc" : "None" + "pos" : "15.36", + "includingLoc" : "None", + "expandingLoc" : "None" }, "33" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "18.32", - "includingLoc" : "None" + "pos" : "15.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "34" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "18.35", - "includingLoc" : "None" + "pos" : "18.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "35" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "18.32", - "includingLoc" : "None" + "pos" : "18.35", + "includingLoc" : "None", + "expandingLoc" : "None" }, "36" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "18.5", - "includingLoc" : "None" + "pos" : "18.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "37" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", "pos" : "18.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "38" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "18.35", - "includingLoc" : "None" + "pos" : "18.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "39" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", "pos" : "18.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "40" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "18.5", - "includingLoc" : "None" + "pos" : "18.35", + "includingLoc" : "None", + "expandingLoc" : "None" }, "41" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "12.3", - "includingLoc" : "None" + "pos" : "18.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "42" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "15.36", - "includingLoc" : "None" + "pos" : "18.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "43" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "15.39", - "includingLoc" : "None" + "pos" : "18.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "44" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "15.36", - "includingLoc" : "None" + "pos" : "18.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "45" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "15.5", - "includingLoc" : "None" + "pos" : "18.35", + "includingLoc" : "None", + "expandingLoc" : "None" }, "46" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", "pos" : "18.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "47" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "18.35", - "includingLoc" : "None" + "pos" : "18.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "48" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "18.32", - "includingLoc" : "None" + "pos" : "18.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "49" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "18.5", - "includingLoc" : "None" + "pos" : "12.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "50" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "18.32", - "includingLoc" : "None" + "pos" : "15.36", + "includingLoc" : "None", + "expandingLoc" : "None" }, "51" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "18.35", - "includingLoc" : "None" + "pos" : "15.39", + "includingLoc" : "None", + "expandingLoc" : "None" }, "52" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "18.32", - "includingLoc" : "None" + "pos" : "15.36", + "includingLoc" : "None", + "expandingLoc" : "None" }, "53" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "18.5", - "includingLoc" : "None" + "pos" : "15.36", + "includingLoc" : "None", + "expandingLoc" : "None" }, "54" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "18.32", - "includingLoc" : "None" + "pos" : "15.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "55" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "18.35", - "includingLoc" : "None" + "pos" : "18.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "56" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "18.32", - "includingLoc" : "None" + "pos" : "18.35", + "includingLoc" : "None", + "expandingLoc" : "None" }, "57" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "18.5", - "includingLoc" : "None" + "pos" : "18.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "58" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "12.3", - "includingLoc" : "None" + "pos" : "18.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "59" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "9.1", - "includingLoc" : "None" + "pos" : "18.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "60" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "30.31", - "includingLoc" : "None" + "pos" : "18.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "61" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "30.35", - "includingLoc" : "None" + "pos" : "18.35", + "includingLoc" : "None", + "expandingLoc" : "None" }, "62" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "30.31", - "includingLoc" : "None" + "pos" : "18.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "63" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "30.5", - "includingLoc" : "None" + "pos" : "18.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "64" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "33.5", - "includingLoc" : "None" + "pos" : "18.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "65" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "37.23", - "includingLoc" : "None" + "pos" : "18.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "66" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "37.23", - "includingLoc" : "None" + "pos" : "18.35", + "includingLoc" : "None", + "expandingLoc" : "None" }, "67" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "37.17", - "includingLoc" : "None" + "pos" : "18.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "68" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "37.9", - "includingLoc" : "None" + "pos" : "18.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "69" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "38.9", - "includingLoc" : "None" + "pos" : "18.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "70" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "38.9", - "includingLoc" : "None" + "pos" : "12.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "71" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "38.9", - "includingLoc" : "None" + "pos" : "9.1", + "includingLoc" : "None", + "expandingLoc" : "None" }, "72" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "36.5", - "includingLoc" : "None" + "pos" : "30.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "73" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "42.32", - "includingLoc" : "None" + "pos" : "30.35", + "includingLoc" : "None", + "expandingLoc" : "None" }, "74" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "42.32", - "includingLoc" : "None" + "pos" : "30.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "75" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "42.5", - "includingLoc" : "None" + "pos" : "30.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "76" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "45.32", - "includingLoc" : "None" + "pos" : "30.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "77" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "45.32", - "includingLoc" : "None" + "pos" : "33.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "78" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "45.5", - "includingLoc" : "None" + "pos" : "37.23", + "includingLoc" : "None", + "expandingLoc" : "None" }, "79" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "45.32", - "includingLoc" : "None" + "pos" : "37.23", + "includingLoc" : "None", + "expandingLoc" : "None" }, "80" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "45.32", - "includingLoc" : "None" + "pos" : "37.17", + "includingLoc" : "None", + "expandingLoc" : "None" }, "81" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "45.5", - "includingLoc" : "None" + "pos" : "37.9", + "includingLoc" : "None", + "expandingLoc" : "None" }, "82" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "45.32", - "includingLoc" : "None" + "pos" : "38.9", + "includingLoc" : "None", + "expandingLoc" : "None" }, "83" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "45.32", - "includingLoc" : "None" + "pos" : "38.9", + "includingLoc" : "None", + "expandingLoc" : "None" }, "84" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "45.5", - "includingLoc" : "None" + "pos" : "38.9", + "includingLoc" : "None", + "expandingLoc" : "None" }, "85" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "27.3", - "includingLoc" : "None" + "pos" : "36.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "86" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "30.31", - "includingLoc" : "None" + "pos" : "42.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "87" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "30.35", - "includingLoc" : "None" + "pos" : "42.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "88" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "30.31", - "includingLoc" : "None" + "pos" : "42.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "89" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "30.5", - "includingLoc" : "None" + "pos" : "45.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "90" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "33.5", - "includingLoc" : "None" + "pos" : "45.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "91" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "37.23", - "includingLoc" : "None" + "pos" : "45.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "92" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "37.23", - "includingLoc" : "None" + "pos" : "45.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "93" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "37.17", - "includingLoc" : "None" + "pos" : "45.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "94" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "37.9", - "includingLoc" : "None" + "pos" : "45.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "95" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "38.9", - "includingLoc" : "None" + "pos" : "45.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "96" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "38.9", - "includingLoc" : "None" + "pos" : "45.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "97" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "38.9", - "includingLoc" : "None" + "pos" : "45.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "98" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "36.5", - "includingLoc" : "None" + "pos" : "27.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "99" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "42.32", - "includingLoc" : "None" + "pos" : "30.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "100" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "42.32", - "includingLoc" : "None" + "pos" : "30.35", + "includingLoc" : "None", + "expandingLoc" : "None" }, "101" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "42.5", - "includingLoc" : "None" + "pos" : "30.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "102" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "45.32", - "includingLoc" : "None" + "pos" : "30.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "103" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "45.32", - "includingLoc" : "None" + "pos" : "30.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "104" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "45.5", - "includingLoc" : "None" + "pos" : "33.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "105" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "45.32", - "includingLoc" : "None" + "pos" : "37.23", + "includingLoc" : "None", + "expandingLoc" : "None" }, "106" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "45.32", - "includingLoc" : "None" + "pos" : "37.23", + "includingLoc" : "None", + "expandingLoc" : "None" }, "107" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "45.5", - "includingLoc" : "None" + "pos" : "37.17", + "includingLoc" : "None", + "expandingLoc" : "None" }, "108" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "45.32", - "includingLoc" : "None" + "pos" : "37.9", + "includingLoc" : "None", + "expandingLoc" : "None" }, "109" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "45.32", - "includingLoc" : "None" + "pos" : "38.9", + "includingLoc" : "None", + "expandingLoc" : "None" }, "110" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "45.5", - "includingLoc" : "None" + "pos" : "38.9", + "includingLoc" : "None", + "expandingLoc" : "None" }, "111" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "27.3", - "includingLoc" : "None" + "pos" : "38.9", + "includingLoc" : "None", + "expandingLoc" : "None" }, "112" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "30.31", - "includingLoc" : "None" + "pos" : "36.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "113" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "30.35", - "includingLoc" : "None" + "pos" : "42.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "114" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "30.31", - "includingLoc" : "None" + "pos" : "42.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "115" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "30.5", - "includingLoc" : "None" + "pos" : "42.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "116" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "33.5", - "includingLoc" : "None" + "pos" : "45.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "117" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "37.23", - "includingLoc" : "None" + "pos" : "45.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "118" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "37.23", - "includingLoc" : "None" + "pos" : "45.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "119" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "37.17", - "includingLoc" : "None" + "pos" : "45.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "120" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "37.9", - "includingLoc" : "None" + "pos" : "45.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "121" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "38.9", - "includingLoc" : "None" + "pos" : "45.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "122" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "38.9", - "includingLoc" : "None" + "pos" : "45.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "123" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "38.9", - "includingLoc" : "None" + "pos" : "45.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "124" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "36.5", - "includingLoc" : "None" + "pos" : "45.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "125" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "42.32", - "includingLoc" : "None" + "pos" : "27.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "126" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "42.32", - "includingLoc" : "None" + "pos" : "30.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "127" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "42.5", - "includingLoc" : "None" + "pos" : "30.35", + "includingLoc" : "None", + "expandingLoc" : "None" }, "128" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "45.32", - "includingLoc" : "None" + "pos" : "30.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "129" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "45.32", - "includingLoc" : "None" + "pos" : "30.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "130" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "45.5", - "includingLoc" : "None" + "pos" : "30.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "131" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "45.32", - "includingLoc" : "None" + "pos" : "33.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "132" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "45.32", - "includingLoc" : "None" + "pos" : "37.23", + "includingLoc" : "None", + "expandingLoc" : "None" }, "133" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "45.5", - "includingLoc" : "None" + "pos" : "37.23", + "includingLoc" : "None", + "expandingLoc" : "None" }, "134" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "45.32", - "includingLoc" : "None" + "pos" : "37.17", + "includingLoc" : "None", + "expandingLoc" : "None" }, "135" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "45.32", - "includingLoc" : "None" + "pos" : "37.9", + "includingLoc" : "None", + "expandingLoc" : "None" }, "136" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "45.5", - "includingLoc" : "None" + "pos" : "38.9", + "includingLoc" : "None", + "expandingLoc" : "None" }, "137" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "27.3", - "includingLoc" : "None" + "pos" : "38.9", + "includingLoc" : "None", + "expandingLoc" : "None" }, "138" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "24.1", - "includingLoc" : "None" + "pos" : "38.9", + "includingLoc" : "None", + "expandingLoc" : "None" }, "139" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "55.26", - "includingLoc" : "None" + "pos" : "36.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "140" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "55.5", - "includingLoc" : "None" + "pos" : "42.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "141" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "57.26", - "includingLoc" : "None" + "pos" : "42.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "142" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "57.31", - "includingLoc" : "None" + "pos" : "42.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "143" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "57.29", - "includingLoc" : "None" + "pos" : "45.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "144" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "57.5", - "includingLoc" : "None" + "pos" : "45.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "145" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "57.26", - "includingLoc" : "None" + "pos" : "45.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "146" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "57.31", - "includingLoc" : "None" + "pos" : "45.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "147" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "57.29", - "includingLoc" : "None" + "pos" : "45.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "148" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "57.5", - "includingLoc" : "None" + "pos" : "45.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "149" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "57.26", - "includingLoc" : "None" + "pos" : "45.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "150" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "57.31", - "includingLoc" : "None" + "pos" : "45.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "151" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "57.29", - "includingLoc" : "None" + "pos" : "45.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "152" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "57.5", - "includingLoc" : "None" + "pos" : "27.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "153" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "53.3", - "includingLoc" : "None" + "pos" : "24.1", + "includingLoc" : "None", + "expandingLoc" : "None" }, "154" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "61.28", - "includingLoc" : "None" + "pos" : "55.26", + "includingLoc" : "None", + "expandingLoc" : "None" }, "155" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "61.34", - "includingLoc" : "None" + "pos" : "55.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "156" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "61.28", - "includingLoc" : "None" + "pos" : "57.26", + "includingLoc" : "None", + "expandingLoc" : "None" }, "157" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "61.57", - "includingLoc" : "None" + "pos" : "57.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "158" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "62.16", - "includingLoc" : "None" + "pos" : "57.29", + "includingLoc" : "None", + "expandingLoc" : "None" }, "159" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "62.24", - "includingLoc" : "None" + "pos" : "57.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "160" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "62.16", - "includingLoc" : "None" + "pos" : "57.26", + "includingLoc" : "None", + "expandingLoc" : "None" }, "161" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "63.16", - "includingLoc" : "None" + "pos" : "57.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "162" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "63.24", - "includingLoc" : "None" + "pos" : "57.29", + "includingLoc" : "None", + "expandingLoc" : "None" }, "163" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "63.16", - "includingLoc" : "None" + "pos" : "57.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "164" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "64.14", - "includingLoc" : "None" + "pos" : "57.26", + "includingLoc" : "None", + "expandingLoc" : "None" }, "165" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "61.3", - "includingLoc" : "None" + "pos" : "57.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "166" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "67.27", - "includingLoc" : "None" + "pos" : "57.29", + "includingLoc" : "None", + "expandingLoc" : "None" }, "167" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "67.29", - "includingLoc" : "None" + "pos" : "57.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "168" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "67.27", - "includingLoc" : "None" + "pos" : "53.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "169" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "67.51", - "includingLoc" : "None" + "pos" : "61.28", + "includingLoc" : "None", + "expandingLoc" : "None" }, "170" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "68.16", - "includingLoc" : "None" + "pos" : "61.34", + "includingLoc" : "None", + "expandingLoc" : "None" }, "171" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "68.24", - "includingLoc" : "None" + "pos" : "61.28", + "includingLoc" : "None", + "expandingLoc" : "None" }, "172" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "68.16", - "includingLoc" : "None" + "pos" : "61.28", + "includingLoc" : "None", + "expandingLoc" : "None" }, "173" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "69.16", - "includingLoc" : "None" + "pos" : "61.57", + "includingLoc" : "None", + "expandingLoc" : "None" }, "174" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "69.24", - "includingLoc" : "None" + "pos" : "62.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "175" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "69.16", - "includingLoc" : "None" + "pos" : "62.24", + "includingLoc" : "None", + "expandingLoc" : "None" }, "176" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "70.14", - "includingLoc" : "None" + "pos" : "62.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "177" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "67.3", - "includingLoc" : "None" + "pos" : "63.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "178" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "67.27", - "includingLoc" : "None" + "pos" : "63.24", + "includingLoc" : "None", + "expandingLoc" : "None" }, "179" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "67.29", - "includingLoc" : "None" + "pos" : "63.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "180" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "67.27", - "includingLoc" : "None" + "pos" : "64.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "181" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "67.51", - "includingLoc" : "None" + "pos" : "61.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "182" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "68.16", - "includingLoc" : "None" + "pos" : "67.27", + "includingLoc" : "None", + "expandingLoc" : "None" }, "183" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "68.24", - "includingLoc" : "None" + "pos" : "67.29", + "includingLoc" : "None", + "expandingLoc" : "None" }, "184" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "68.16", - "includingLoc" : "None" + "pos" : "67.27", + "includingLoc" : "None", + "expandingLoc" : "None" }, "185" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "69.16", - "includingLoc" : "None" + "pos" : "67.27", + "includingLoc" : "None", + "expandingLoc" : "None" }, "186" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "69.24", - "includingLoc" : "None" + "pos" : "67.51", + "includingLoc" : "None", + "expandingLoc" : "None" }, "187" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "69.16", - "includingLoc" : "None" + "pos" : "68.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "188" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "70.14", - "includingLoc" : "None" + "pos" : "68.24", + "includingLoc" : "None", + "expandingLoc" : "None" }, "189" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "67.3", - "includingLoc" : "None" + "pos" : "68.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "190" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "67.27", - "includingLoc" : "None" + "pos" : "69.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "191" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "67.29", - "includingLoc" : "None" + "pos" : "69.24", + "includingLoc" : "None", + "expandingLoc" : "None" }, "192" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "67.27", - "includingLoc" : "None" + "pos" : "69.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "193" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "67.51", - "includingLoc" : "None" + "pos" : "70.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "194" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "68.16", - "includingLoc" : "None" + "pos" : "67.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "195" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "68.24", - "includingLoc" : "None" + "pos" : "67.27", + "includingLoc" : "None", + "expandingLoc" : "None" }, "196" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "68.16", - "includingLoc" : "None" + "pos" : "67.29", + "includingLoc" : "None", + "expandingLoc" : "None" }, "197" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "69.16", - "includingLoc" : "None" + "pos" : "67.27", + "includingLoc" : "None", + "expandingLoc" : "None" }, "198" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "69.24", - "includingLoc" : "None" + "pos" : "67.27", + "includingLoc" : "None", + "expandingLoc" : "None" }, "199" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "69.16", - "includingLoc" : "None" + "pos" : "67.51", + "includingLoc" : "None", + "expandingLoc" : "None" }, "200" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "70.14", - "includingLoc" : "None" + "pos" : "68.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "201" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "67.3", - "includingLoc" : "None" + "pos" : "68.24", + "includingLoc" : "None", + "expandingLoc" : "None" }, "202" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "51.1", - "includingLoc" : "None" + "pos" : "68.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "203" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "36.5", - "includingLoc" : "None" + "pos" : "69.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "204" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "36.5", - "includingLoc" : "None" + "pos" : "69.24", + "includingLoc" : "None", + "expandingLoc" : "None" }, "205" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", - "pos" : "36.5", - "includingLoc" : "None" + "pos" : "69.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "206" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", + "pos" : "70.14", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "207" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", + "pos" : "67.3", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "208" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", + "pos" : "67.27", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "209" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", + "pos" : "67.29", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "210" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", + "pos" : "67.27", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "211" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", + "pos" : "67.27", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "212" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", + "pos" : "67.51", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "213" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", + "pos" : "68.16", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "214" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", + "pos" : "68.24", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "215" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", + "pos" : "68.16", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "216" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", + "pos" : "69.16", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "217" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", + "pos" : "69.24", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "218" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", + "pos" : "69.16", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "219" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", + "pos" : "70.14", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "220" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", + "pos" : "67.3", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "221" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", + "pos" : "51.1", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "222" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", "pos" : "36.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "223" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", + "pos" : "36.5", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "224" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", + "pos" : "36.5", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "225" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/activeComponents.fpp", + "pos" : "36.5", + "includingLoc" : "None", + "expandingLoc" : "None" } } } @@ -1997,9 +2318,9 @@ "fppVersion" : "[ fpp version ]", "analysis" : { "componentInstanceMap" : { - "165" : { + "181" : { "aNode" : { - "astNodeId" : 165 + "astNodeId" : 181 }, "qualifiedName" : { "qualifier" : [ @@ -2008,7 +2329,7 @@ "base" : "dataCompressor" }, "component" : { - "astNodeId" : 58 + "astNodeId" : 70 }, "baseId" : 256, "maxId" : 255, @@ -2027,9 +2348,9 @@ } }, - "201" : { + "220" : { "aNode" : { - "astNodeId" : 201 + "astNodeId" : 220 }, "qualifiedName" : { "qualifier" : [ @@ -2038,7 +2359,7 @@ "base" : "stateMachines" }, "component" : { - "astNodeId" : 137 + "astNodeId" : 152 }, "baseId" : 512, "maxId" : 511, @@ -2059,9 +2380,9 @@ } }, "componentMap" : { - "58" : { + "70" : { "aNode" : { - "astNodeId" : 58 + "astNodeId" : 70 }, "portInterface" : { "instanceType" : "component", @@ -2069,7 +2390,7 @@ "bufferSendIn" : { "General" : { "aNode" : { - "astNodeId" : 45 + "astNodeId" : 54 }, "specifier" : { "kind" : { @@ -2081,7 +2402,7 @@ "size" : "None", "port" : { "Some" : { - "astNodeId" : 44 + "astNodeId" : 53 } }, "priority" : "None", @@ -2106,7 +2427,7 @@ "bufferSendOut" : { "General" : { "aNode" : { - "astNodeId" : 57 + "astNodeId" : 69 }, "specifier" : { "kind" : { @@ -2118,7 +2439,7 @@ "size" : "None", "port" : { "Some" : { - "astNodeId" : 56 + "astNodeId" : 68 } }, "priority" : "None", @@ -2180,9 +2501,9 @@ }, "defaultRecordId" : 0 }, - "137" : { + "152" : { "aNode" : { - "astNodeId" : 137 + "astNodeId" : 152 }, "portInterface" : { "instanceType" : "component", @@ -2190,7 +2511,7 @@ "schedIn" : { "General" : { "aNode" : { - "astNodeId" : 115 + "astNodeId" : 130 }, "specifier" : { "kind" : { @@ -2202,7 +2523,7 @@ "size" : "None", "port" : { "Some" : { - "astNodeId" : 114 + "astNodeId" : 129 } }, "priority" : "None", @@ -2252,11 +2573,11 @@ "stateMachineInstanceMap" : { "s1" : { "aNode" : { - "astNodeId" : 127 + "astNodeId" : 142 }, "symbol" : { "node" : { - "astNodeId" : 116 + "astNodeId" : 131 } }, "priority" : "None", @@ -2268,11 +2589,11 @@ }, "s2" : { "aNode" : { - "astNodeId" : 136 + "astNodeId" : 151 }, "symbol" : { "node" : { - "astNodeId" : 124 + "astNodeId" : 139 } }, "priority" : "None", @@ -2324,75 +2645,75 @@ "unqualifiedName" : "Svc" } }, - "58" : { + "70" : { "Module" : { - "nodeId" : 59, + "nodeId" : 71, "unqualifiedName" : "Utils" } }, - "116" : { + "131" : { "Component" : { - "nodeId" : 137, + "nodeId" : 152, "unqualifiedName" : "StateMachines" } }, - "124" : { + "139" : { "Component" : { - "nodeId" : 137, + "nodeId" : 152, "unqualifiedName" : "StateMachines" } }, - "137" : { + "152" : { "Module" : { - "nodeId" : 138, + "nodeId" : 153, "unqualifiedName" : "M" } }, - "140" : { + "155" : { "Module" : { - "nodeId" : 153, + "nodeId" : 168, "unqualifiedName" : "Default" } }, - "152" : { + "167" : { "Module" : { - "nodeId" : 153, + "nodeId" : 168, "unqualifiedName" : "Default" } }, - "153" : { + "168" : { "Module" : { - "nodeId" : 202, + "nodeId" : 221, "unqualifiedName" : "FSW" } }, - "165" : { + "181" : { "Module" : { - "nodeId" : 202, + "nodeId" : 221, "unqualifiedName" : "FSW" } }, - "201" : { + "220" : { "Module" : { - "nodeId" : 202, + "nodeId" : 221, "unqualifiedName" : "FSW" } }, - "203" : { + "222" : { "Enum" : { - "nodeId" : 206, + "nodeId" : 225, "unqualifiedName" : "State" } }, - "204" : { + "223" : { "Enum" : { - "nodeId" : 206, + "nodeId" : 225, "unqualifiedName" : "State" } }, - "206" : { + "225" : { "StateMachine" : { - "nodeId" : 124, + "nodeId" : 139, "unqualifiedName" : "S2" } } @@ -2426,18 +2747,18 @@ } } }, - "58" : { + "70" : { "map" : { } }, - "59" : { + "71" : { "map" : { "Component" : { "map" : { "DataCompressor" : { "Component" : { - "nodeId" : 58, + "nodeId" : 70, "unqualifiedName" : "DataCompressor" } } @@ -2447,7 +2768,7 @@ "map" : { "DataCompressor" : { "Component" : { - "nodeId" : 58, + "nodeId" : 70, "unqualifiedName" : "DataCompressor" } } @@ -2457,7 +2778,7 @@ "map" : { "DataCompressor" : { "Component" : { - "nodeId" : 58, + "nodeId" : 70, "unqualifiedName" : "DataCompressor" } } @@ -2467,7 +2788,7 @@ "map" : { "DataCompressor" : { "Component" : { - "nodeId" : 58, + "nodeId" : 70, "unqualifiedName" : "DataCompressor" } } @@ -2475,18 +2796,18 @@ } } }, - "116" : { + "131" : { "map" : { } }, - "124" : { + "139" : { "map" : { "Type" : { "map" : { "State" : { "Enum" : { - "nodeId" : 206, + "nodeId" : 225, "unqualifiedName" : "State" } } @@ -2496,7 +2817,7 @@ "map" : { "State" : { "Enum" : { - "nodeId" : 206, + "nodeId" : 225, "unqualifiedName" : "State" } } @@ -2504,19 +2825,19 @@ } } }, - "137" : { + "152" : { "map" : { "StateMachine" : { "map" : { "S1" : { "StateMachine" : { - "nodeId" : 116, + "nodeId" : 131, "unqualifiedName" : "S1" } }, "S2" : { "StateMachine" : { - "nodeId" : 124, + "nodeId" : 139, "unqualifiedName" : "S2" } } @@ -2526,13 +2847,13 @@ "map" : { "S1" : { "StateMachine" : { - "nodeId" : 116, + "nodeId" : 131, "unqualifiedName" : "S1" } }, "S2" : { "StateMachine" : { - "nodeId" : 124, + "nodeId" : 139, "unqualifiedName" : "S2" } } @@ -2542,13 +2863,13 @@ "map" : { "S1" : { "StateMachine" : { - "nodeId" : 116, + "nodeId" : 131, "unqualifiedName" : "S1" } }, "S2" : { "StateMachine" : { - "nodeId" : 124, + "nodeId" : 139, "unqualifiedName" : "S2" } } @@ -2556,13 +2877,13 @@ } } }, - "138" : { + "153" : { "map" : { "Component" : { "map" : { "StateMachines" : { "Component" : { - "nodeId" : 137, + "nodeId" : 152, "unqualifiedName" : "StateMachines" } } @@ -2572,7 +2893,7 @@ "map" : { "StateMachines" : { "Component" : { - "nodeId" : 137, + "nodeId" : 152, "unqualifiedName" : "StateMachines" } } @@ -2582,7 +2903,7 @@ "map" : { "StateMachines" : { "Component" : { - "nodeId" : 137, + "nodeId" : 152, "unqualifiedName" : "StateMachines" } } @@ -2592,7 +2913,7 @@ "map" : { "StateMachines" : { "Component" : { - "nodeId" : 137, + "nodeId" : 152, "unqualifiedName" : "StateMachines" } } @@ -2600,19 +2921,19 @@ } } }, - "153" : { + "168" : { "map" : { "Value" : { "map" : { "queueSize" : { "Constant" : { - "nodeId" : 140, + "nodeId" : 155, "unqualifiedName" : "queueSize" } }, "stackSize" : { "Constant" : { - "nodeId" : 152, + "nodeId" : 167, "unqualifiedName" : "stackSize" } } @@ -2620,13 +2941,13 @@ } } }, - "202" : { + "221" : { "map" : { "Component" : { "map" : { "Default" : { "Module" : { - "nodeId" : 153, + "nodeId" : 168, "unqualifiedName" : "Default" } } @@ -2636,7 +2957,7 @@ "map" : { "Default" : { "Module" : { - "nodeId" : 153, + "nodeId" : 168, "unqualifiedName" : "Default" } } @@ -2646,7 +2967,7 @@ "map" : { "Default" : { "Module" : { - "nodeId" : 153, + "nodeId" : 168, "unqualifiedName" : "Default" } } @@ -2656,19 +2977,19 @@ "map" : { "Default" : { "Module" : { - "nodeId" : 153, + "nodeId" : 168, "unqualifiedName" : "Default" } }, "dataCompressor" : { "ComponentInstance" : { - "nodeId" : 165, + "nodeId" : 181, "unqualifiedName" : "dataCompressor" } }, "stateMachines" : { "ComponentInstance" : { - "nodeId" : 201, + "nodeId" : 220, "unqualifiedName" : "stateMachines" } } @@ -2678,7 +2999,17 @@ "map" : { "Default" : { "Module" : { - "nodeId" : 153, + "nodeId" : 168, + "unqualifiedName" : "Default" + } + } + } + }, + "Template" : { + "map" : { + "Default" : { + "Module" : { + "nodeId" : 168, "unqualifiedName" : "Default" } } @@ -2688,7 +3019,7 @@ "map" : { "Default" : { "Module" : { - "nodeId" : 153, + "nodeId" : 168, "unqualifiedName" : "Default" } } @@ -2698,7 +3029,7 @@ "map" : { "Default" : { "Module" : { - "nodeId" : 153, + "nodeId" : 168, "unqualifiedName" : "Default" } } @@ -2706,19 +3037,19 @@ } } }, - "206" : { + "225" : { "map" : { "Value" : { "map" : { "IDLE" : { "EnumConstant" : { - "nodeId" : 204, + "nodeId" : 223, "unqualifiedName" : "IDLE" } }, "__FPRIME_UNINITIALIZED" : { "EnumConstant" : { - "nodeId" : 203, + "nodeId" : 222, "unqualifiedName" : "__FPRIME_UNINITIALIZED" } } @@ -2731,10 +3062,10 @@ }, "typeMap" : { - "124" : { + "139" : { "Enum" : { "node" : { - "astNodeId" : 206 + "astNodeId" : 225 }, "repType" : { "kind" : { @@ -2746,108 +3077,108 @@ "default" : "None" } }, - "139" : { + "154" : { "Int" : { "Integer" : { } } }, - "140" : { + "155" : { "Int" : { "Integer" : { } } }, - "149" : { + "164" : { "Int" : { "Integer" : { } } }, - "150" : { + "165" : { "Int" : { "Integer" : { } } }, - "151" : { + "166" : { "Int" : { "Integer" : { } } }, - "152" : { + "167" : { "Int" : { "Integer" : { } } }, - "157" : { + "173" : { "Int" : { "Integer" : { } } }, - "160" : { + "176" : { "Int" : { "Integer" : { } } }, - "163" : { + "179" : { "Int" : { "Integer" : { } } }, - "164" : { + "180" : { "Int" : { "Integer" : { } } }, - "193" : { + "212" : { "Int" : { "Integer" : { } } }, - "196" : { + "215" : { "Int" : { "Integer" : { } } }, - "199" : { + "218" : { "Int" : { "Integer" : { } } }, - "200" : { + "219" : { "Int" : { "Integer" : { } } }, - "203" : { + "222" : { "Enum" : { "node" : { - "astNodeId" : 206 + "astNodeId" : 225 }, "repType" : { "kind" : { @@ -2859,10 +3190,10 @@ "default" : "None" } }, - "204" : { + "223" : { "Enum" : { "node" : { - "astNodeId" : 206 + "astNodeId" : 225 }, "repType" : { "kind" : { @@ -2874,7 +3205,7 @@ "default" : "None" } }, - "205" : { + "224" : { "Int" : { "PrimitiveInt" : { "kind" : { @@ -2885,10 +3216,10 @@ } } }, - "206" : { + "225" : { "Enum" : { "node" : { - "astNodeId" : 206 + "astNodeId" : 225 }, "repType" : { "kind" : { @@ -2905,7 +3236,7 @@ ], "t" : { "node" : { - "astNodeId" : 206 + "astNodeId" : 225 }, "repType" : { "kind" : { @@ -2922,205 +3253,223 @@ } }, "useDefMap" : { - "42" : { + "52" : { "Module" : { "nodeId" : 3, "unqualifiedName" : "Fw" } }, - "44" : { + "53" : { "Port" : { "nodeId" : 2, "unqualifiedName" : "BufferSend" } }, - "54" : { + "67" : { "Module" : { "nodeId" : 3, "unqualifiedName" : "Fw" } }, - "56" : { + "68" : { "Port" : { "nodeId" : 2, "unqualifiedName" : "BufferSend" } }, - "112" : { + "128" : { "Module" : { "nodeId" : 7, "unqualifiedName" : "Svc" } }, - "114" : { + "129" : { "Port" : { "nodeId" : 6, "unqualifiedName" : "Sched" } }, - "124" : { + "139" : { "Enum" : { - "nodeId" : 206, + "nodeId" : 225, "unqualifiedName" : "State" } }, - "126" : { + "141" : { "StateMachine" : { - "nodeId" : 116, + "nodeId" : 131, "unqualifiedName" : "S1" } }, - "135" : { + "150" : { "StateMachine" : { - "nodeId" : 124, + "nodeId" : 139, "unqualifiedName" : "S2" } }, - "154" : { + "171" : { "Module" : { - "nodeId" : 59, + "nodeId" : 71, "unqualifiedName" : "Utils" } }, - "156" : { + "172" : { "Component" : { - "nodeId" : 58, + "nodeId" : 70, "unqualifiedName" : "DataCompressor" } }, - "158" : { + "174" : { "Module" : { - "nodeId" : 153, + "nodeId" : 168, "unqualifiedName" : "Default" } }, - "160" : { + "176" : { "Constant" : { - "nodeId" : 140, + "nodeId" : 155, "unqualifiedName" : "queueSize" } }, - "161" : { + "177" : { "Module" : { - "nodeId" : 153, + "nodeId" : 168, "unqualifiedName" : "Default" } }, - "163" : { + "179" : { "Constant" : { - "nodeId" : 152, + "nodeId" : 167, "unqualifiedName" : "stackSize" } }, - "190" : { + "210" : { "Module" : { - "nodeId" : 138, + "nodeId" : 153, "unqualifiedName" : "M" } }, - "192" : { + "211" : { "Component" : { - "nodeId" : 137, + "nodeId" : 152, "unqualifiedName" : "StateMachines" } }, - "194" : { + "213" : { "Module" : { - "nodeId" : 153, + "nodeId" : 168, "unqualifiedName" : "Default" } }, - "196" : { + "215" : { "Constant" : { - "nodeId" : 140, + "nodeId" : 155, "unqualifiedName" : "queueSize" } }, - "197" : { + "216" : { "Module" : { - "nodeId" : 153, + "nodeId" : 168, "unqualifiedName" : "Default" } }, - "199" : { + "218" : { "Constant" : { - "nodeId" : 152, + "nodeId" : 167, "unqualifiedName" : "stackSize" } + }, + "226" : { + "Module" : { + "nodeId" : 153, + "unqualifiedName" : "M" + } + }, + "227" : { + "Component" : { + "nodeId" : 152, + "unqualifiedName" : "StateMachines" + } + }, + "228" : { + "StateMachine" : { + "nodeId" : 139, + "unqualifiedName" : "S2" + } } }, "valueMap" : { - "139" : { + "154" : { "Integer" : { "value" : 10 } }, - "140" : { + "155" : { "Integer" : { "value" : 10 } }, - "149" : { + "164" : { "Integer" : { "value" : 10 } }, - "150" : { + "165" : { "Integer" : { "value" : 1024 } }, - "151" : { + "166" : { "Integer" : { "value" : 10240 } }, - "152" : { + "167" : { "Integer" : { "value" : 10240 } }, - "157" : { + "173" : { "Integer" : { "value" : 256 } }, - "160" : { + "176" : { "Integer" : { "value" : 10 } }, - "163" : { + "179" : { "Integer" : { "value" : 10240 } }, - "164" : { + "180" : { "Integer" : { "value" : 30 } }, - "193" : { + "212" : { "Integer" : { "value" : 512 } }, - "196" : { + "215" : { "Integer" : { "value" : 10 } }, - "199" : { + "218" : { "Integer" : { "value" : 10240 } }, - "200" : { + "219" : { "Integer" : { "value" : 40 } }, - "203" : { + "222" : { "EnumConstant" : { "value" : [ "__FPRIME_UNINITIALIZED", @@ -3128,7 +3477,7 @@ ], "t" : { "node" : { - "astNodeId" : 206 + "astNodeId" : 225 }, "repType" : { "kind" : { @@ -3141,7 +3490,7 @@ } } }, - "204" : { + "223" : { "EnumConstant" : { "value" : [ "IDLE", @@ -3149,7 +3498,7 @@ ], "t" : { "node" : { - "astNodeId" : 206 + "astNodeId" : 225 }, "repType" : { "kind" : { @@ -3164,14 +3513,14 @@ } }, "stateMachineMap" : { - "116" : { + "131" : { "aNode" : { - "astNodeId" : 116 + "astNodeId" : 131 }, "sma" : { "symbol" : { "node" : { - "astNodeId" : 116 + "astNodeId" : 131 } }, "symbolScopeMap" : { @@ -3203,27 +3552,27 @@ } } }, - "124" : { + "139" : { "aNode" : { - "astNodeId" : 124 + "astNodeId" : 139 }, "sma" : { "symbol" : { "node" : { - "astNodeId" : 124 + "astNodeId" : 139 } }, "symbolScopeMap" : { - "123" : { + "138" : { "map" : { } } }, "useDefMap" : { - "118" : { + "133" : { "State" : { - "nodeId" : 123, + "nodeId" : 138, "unqualifiedName" : "IDLE" } } @@ -3235,7 +3584,7 @@ "State" : { "symbol" : { "node" : { - "astNodeId" : 123 + "astNodeId" : 138 } } } @@ -3243,7 +3592,7 @@ } }, "arcMap" : { - "123" : [ + "138" : [ ] } }, @@ -3254,7 +3603,7 @@ "State" : { "symbol" : { "node" : { - "astNodeId" : 123 + "astNodeId" : 138 } } } @@ -3262,12 +3611,12 @@ } }, "arcMap" : { - "123" : [ + "138" : [ ] } }, "typeOptionMap" : { - "120" : "None" + "135" : "None" }, "flattenedStateTransitionMap" : { diff --git a/compiler/tools/fpp-to-json/test/commands.ref.txt b/compiler/tools/fpp-to-json/test/commands.ref.txt index f17bbc41ef..5cf801a965 100644 --- a/compiler/tools/fpp-to-json/test/commands.ref.txt +++ b/compiler/tools/fpp-to-json/test/commands.ref.txt @@ -509,282 +509,338 @@ "0" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "1.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "1" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "1.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "2" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "2.40", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "3" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "2.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "4" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "13.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "5" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "16.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "6" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "19.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "7" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "26.36", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "8" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "26.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "9" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "29.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "10" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "29.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "11" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "29.38", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "12" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "29.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "13" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "29.38", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "14" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "29.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "15" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "29.38", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "16" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "29.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "17" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "29.52", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "18" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "29.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "19" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "32.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "20" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "32.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "21" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "32.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "22" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "32.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "23" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "32.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "24" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "32.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "25" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "32.45", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "26" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "32.59", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "27" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "32.62", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "28" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "32.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "29" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "32.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "30" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "32.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "31" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "32.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "32" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "32.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "33" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "32.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "34" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "32.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "35" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "32.45", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "36" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "32.59", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "37" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "32.62", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "38" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "32.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "39" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "32.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "40" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "32.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "41" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "32.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "42" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "32.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "43" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "32.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "44" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "32.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "45" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "32.45", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "46" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "32.59", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "47" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "32.62", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "48" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "32.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "49" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "6.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "50" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "37.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "51" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "38.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "52" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "39.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "53" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "39.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "54" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "39.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "55" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp", "pos" : "36.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } } } @@ -1296,6 +1352,24 @@ "nodeId" : 3, "unqualifiedName" : "FW_FIXED_LENGTH_STRING_SIZE" } + }, + "58" : { + "Module" : { + "nodeId" : 55, + "unqualifiedName" : "Fw" + } + }, + "59" : { + "Module" : { + "nodeId" : 55, + "unqualifiedName" : "Fw" + } + }, + "60" : { + "Module" : { + "nodeId" : 55, + "unqualifiedName" : "Fw" + } } }, "valueMap" : { diff --git a/compiler/tools/fpp-to-json/test/commands_no_format.ref.txt b/compiler/tools/fpp-to-json/test/commands_no_format.ref.txt index 27de45fbf2..962d6b475d 100644 --- a/compiler/tools/fpp-to-json/test/commands_no_format.ref.txt +++ b/compiler/tools/fpp-to-json/test/commands_no_format.ref.txt @@ -1,3 +1,3 @@ {"fppVersion":"[ fpp version ]","ast":[{"members":[[[],{"DefAliasType":{"node":{"AstNode":{"data":{"name":"FwSizeStoreType","typeName":{"AstNode":{"data":{"TypeNameInt":{"name":{"U16":{}}}},"id":0}},"isDictionaryDef":false},"id":1}}}},[]],[[],{"DefConstant":{"node":{"AstNode":{"data":{"name":"FW_FIXED_LENGTH_STRING_SIZE","value":{"AstNode":{"data":{"ExprLiteralInt":{"value":"256"}},"id":2}},"isDictionaryDef":false},"id":3}}}},[]],[["A component for illustrating priority and queue full behavior for async","commands"],{"DefComponent":{"node":{"AstNode":{"data":{"kind":{"Active":{}},"name":"PriorityQueueFull","members":[[["Command registration"],{"SpecPortInstance":{"node":{"AstNode":{"data":{"Special":{"inputKind":"None","kind":{"CommandReg":{}},"name":"cmdRegOut","priority":"None","queueFull":"None"}},"id":4}}}},[]],[["Command input"],{"SpecPortInstance":{"node":{"AstNode":{"data":{"Special":{"inputKind":"None","kind":{"CommandRecv":{}},"name":"cmdIn","priority":"None","queueFull":"None"}},"id":5}}}},[]],[["Command response"],{"SpecPortInstance":{"node":{"AstNode":{"data":{"Special":{"inputKind":"None","kind":{"CommandResp":{}},"name":"cmdResponseOut","priority":"None","queueFull":"None"}},"id":6}}}},[]],[["Command with priority"],{"SpecCommand":{"node":{"AstNode":{"data":{"kind":{"Async":{}},"name":"COMMAND_1","params":[],"opcode":"None","priority":{"Some":{"AstNode":{"data":{"ExprLiteralInt":{"value":"10"}},"id":7}}},"queueFull":"None"},"id":8}}}},[]],[["Command with formal parameters and priority"],{"SpecCommand":{"node":{"AstNode":{"data":{"kind":{"Async":{}},"name":"COMMAND_2","params":[[[],{"AstNode":{"data":{"kind":{"Value":{}},"name":"a","typeName":{"AstNode":{"data":{"TypeNameInt":{"name":{"U32":{}}}},"id":9}}},"id":10}},[]],[[],{"AstNode":{"data":{"kind":{"Value":{}},"name":"b","typeName":{"AstNode":{"data":{"TypeNameFloat":{"name":{"F32":{}}}},"id":15}}},"id":16}},[]]],"opcode":"None","priority":{"Some":{"AstNode":{"data":{"ExprLiteralInt":{"value":"20"}},"id":17}}},"queueFull":"None"},"id":18}}}},[]],[["Command with formal parameters, opcode, priority, and queue full behavior"],{"SpecCommand":{"node":{"AstNode":{"data":{"kind":{"Async":{}},"name":"COMMAND_3","params":[[[],{"AstNode":{"data":{"kind":{"Value":{}},"name":"a","typeName":{"AstNode":{"data":{"TypeNameString":{"size":"None"}},"id":43}}},"id":44}},[]]],"opcode":{"Some":{"AstNode":{"data":{"ExprLiteralInt":{"value":"0x10"}},"id":45}}},"priority":{"Some":{"AstNode":{"data":{"ExprLiteralInt":{"value":"30"}},"id":46}}},"queueFull":{"Some":{"AstNode":{"data":{"Drop":{}},"id":47}}}},"id":48}}}},[]]]},"id":49}}}},[]],[[],{"DefModule":{"node":{"AstNode":{"data":{"name":"Fw","members":[[[],{"DefPort":{"node":{"AstNode":{"data":{"name":"Cmd","params":[],"returnType":"None"},"id":50}}}},[]],[[],{"DefPort":{"node":{"AstNode":{"data":{"name":"CmdReg","params":[],"returnType":"None"},"id":51}}}},[]],[[],{"DefPort":{"node":{"AstNode":{"data":{"name":"CmdResponse","params":[],"returnType":"None"},"id":54}}}},[]]]},"id":55}}}},[]]]}]} -{"fppVersion":"[ fpp version ]","locationMap":{"0":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"1.24","includingLoc":"None"},"1":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"1.1","includingLoc":"None"},"2":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"2.40","includingLoc":"None"},"3":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"2.1","includingLoc":"None"},"4":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"13.3","includingLoc":"None"},"5":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"16.3","includingLoc":"None"},"6":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"19.3","includingLoc":"None"},"7":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"26.36","includingLoc":"None"},"8":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"26.3","includingLoc":"None"},"9":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"29.30","includingLoc":"None"},"10":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"29.27","includingLoc":"None"},"11":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"29.38","includingLoc":"None"},"12":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"29.35","includingLoc":"None"},"13":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"29.38","includingLoc":"None"},"14":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"29.35","includingLoc":"None"},"15":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"29.38","includingLoc":"None"},"16":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"29.35","includingLoc":"None"},"17":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"29.52","includingLoc":"None"},"18":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"29.3","includingLoc":"None"},"19":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.30","includingLoc":"None"},"20":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.27","includingLoc":"None"},"21":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.30","includingLoc":"None"},"22":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.27","includingLoc":"None"},"23":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.30","includingLoc":"None"},"24":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.27","includingLoc":"None"},"25":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.45","includingLoc":"None"},"26":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.59","includingLoc":"None"},"27":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.62","includingLoc":"None"},"28":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.3","includingLoc":"None"},"29":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.30","includingLoc":"None"},"30":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.27","includingLoc":"None"},"31":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.30","includingLoc":"None"},"32":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.27","includingLoc":"None"},"33":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.30","includingLoc":"None"},"34":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.27","includingLoc":"None"},"35":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.45","includingLoc":"None"},"36":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.59","includingLoc":"None"},"37":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.62","includingLoc":"None"},"38":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.3","includingLoc":"None"},"39":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.30","includingLoc":"None"},"40":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.27","includingLoc":"None"},"41":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.30","includingLoc":"None"},"42":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.27","includingLoc":"None"},"43":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.30","includingLoc":"None"},"44":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.27","includingLoc":"None"},"45":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.45","includingLoc":"None"},"46":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.59","includingLoc":"None"},"47":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.62","includingLoc":"None"},"48":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.3","includingLoc":"None"},"49":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"6.1","includingLoc":"None"},"50":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"37.3","includingLoc":"None"},"51":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"38.3","includingLoc":"None"},"52":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"39.3","includingLoc":"None"},"53":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"39.3","includingLoc":"None"},"54":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"39.3","includingLoc":"None"},"55":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"36.1","includingLoc":"None"}}} -{"fppVersion":"[ fpp version ]","analysis":{"componentInstanceMap":{},"componentMap":{"49":{"aNode":{"astNodeId":49},"portInterface":{"instanceType":"component","portMap":{"cmdIn":{"Special":{"aNode":{"astNodeId":5},"specifier":{"inputKind":"None","kind":{"CommandRecv":{}},"name":"cmdIn","priority":"None","queueFull":"None"},"symbol":{"Port":{"nodeId":50,"unqualifiedName":"Cmd"}},"priority":"None","queueFull":"None","importNodeIds":[]}},"cmdRegOut":{"Special":{"aNode":{"astNodeId":4},"specifier":{"inputKind":"None","kind":{"CommandReg":{}},"name":"cmdRegOut","priority":"None","queueFull":"None"},"symbol":{"Port":{"nodeId":51,"unqualifiedName":"CmdReg"}},"priority":"None","queueFull":"None","importNodeIds":[]}},"cmdResponseOut":{"Special":{"aNode":{"astNodeId":6},"specifier":{"inputKind":"None","kind":{"CommandResp":{}},"name":"cmdResponseOut","priority":"None","queueFull":"None"},"symbol":{"Port":{"nodeId":54,"unqualifiedName":"CmdResponse"}},"priority":"None","queueFull":"None","importNodeIds":[]}}},"specialPortMap":{"command recv":{"aNode":{"astNodeId":5},"specifier":{"inputKind":"None","kind":{"CommandRecv":{}},"name":"cmdIn","priority":"None","queueFull":"None"},"symbol":{"Port":{"nodeId":50,"unqualifiedName":"Cmd"}},"priority":"None","queueFull":"None","importNodeIds":[]},"command reg":{"aNode":{"astNodeId":4},"specifier":{"inputKind":"None","kind":{"CommandReg":{}},"name":"cmdRegOut","priority":"None","queueFull":"None"},"symbol":{"Port":{"nodeId":51,"unqualifiedName":"CmdReg"}},"priority":"None","queueFull":"None","importNodeIds":[]},"command resp":{"aNode":{"astNodeId":6},"specifier":{"inputKind":"None","kind":{"CommandResp":{}},"name":"cmdResponseOut","priority":"None","queueFull":"None"},"symbol":{"Port":{"nodeId":54,"unqualifiedName":"CmdResponse"}},"priority":"None","queueFull":"None","importNodeIds":[]}}},"commandMap":{"0":{"NonParam":{"aNode":{"astNodeId":8},"kind":{"Async":{"priority":{"Some":10},"queueFull":{"Assert":{}}}}}},"1":{"NonParam":{"aNode":{"astNodeId":18},"kind":{"Async":{"priority":{"Some":20},"queueFull":{"Assert":{}}}}}},"16":{"NonParam":{"aNode":{"astNodeId":48},"kind":{"Async":{"priority":{"Some":30},"queueFull":{"Drop":{}}}}}}},"defaultOpcode":17,"tlmChannelMap":{},"tlmChannelNameMap":{},"defaultTlmChannelId":0,"eventMap":{},"defaultEventId":0,"paramMap":{},"specPortMatchingList":[],"stateMachineInstanceMap":{},"portMatchingList":[],"defaultParamId":0,"containerMap":{},"defaultContainerId":0,"recordMap":{},"defaultRecordId":0}},"frameworkDefinitions":{"constantMap":{"FW_FIXED_LENGTH_STRING_SIZE":{"node":{"astNodeId":3}}},"typeMap":{"FwSizeStoreType":{"AliasType":{"node":{"astNodeId":1}}}}},"includedFileSet":[],"inputFileSet":["[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp"],"locationSpecifierMap":[],"parentSymbolMap":{"50":{"Module":{"nodeId":55,"unqualifiedName":"Fw"}},"51":{"Module":{"nodeId":55,"unqualifiedName":"Fw"}},"54":{"Module":{"nodeId":55,"unqualifiedName":"Fw"}}},"symbolScopeMap":{"49":{"map":{}},"55":{"map":{"Port":{"map":{"Cmd":{"Port":{"nodeId":50,"unqualifiedName":"Cmd"}},"CmdReg":{"Port":{"nodeId":51,"unqualifiedName":"CmdReg"}},"CmdResponse":{"Port":{"nodeId":54,"unqualifiedName":"CmdResponse"}}}}}}},"topologyMap":{},"typeMap":{"0":{"Int":{"PrimitiveInt":{"kind":{"U16":{}}}}},"1":{"AliasType":{"node":{"astNodeId":1},"aliasType":{"Int":{"PrimitiveInt":{"kind":{"U16":{}}}}}}},"2":{"Int":{"Integer":{}}},"3":{"Int":{"Integer":{}}},"7":{"Int":{"Integer":{}}},"9":{"Int":{"PrimitiveInt":{"kind":{"U32":{}}}}},"15":{"Primitive":{"Float":{"kind":{"F32":{}}}}},"17":{"Int":{"Integer":{}}},"43":{"String":{"size":"None"}},"45":{"Int":{"Integer":{}}},"46":{"Int":{"Integer":{}}},"56":{"AliasType":{"node":{"astNodeId":1},"aliasType":{"Int":{"PrimitiveInt":{"kind":{"U16":{}}}}}}},"57":{"Int":{"Integer":{}}}},"useDefMap":{"4":{"Port":{"nodeId":51,"unqualifiedName":"CmdReg"}},"5":{"Port":{"nodeId":50,"unqualifiedName":"Cmd"}},"6":{"Port":{"nodeId":54,"unqualifiedName":"CmdResponse"}},"56":{"AliasType":{"nodeId":1,"unqualifiedName":"FwSizeStoreType"}},"57":{"Constant":{"nodeId":3,"unqualifiedName":"FW_FIXED_LENGTH_STRING_SIZE"}}},"valueMap":{"2":{"Integer":{"value":256}},"3":{"Integer":{"value":256}},"7":{"Integer":{"value":10}},"17":{"Integer":{"value":20}},"45":{"Integer":{"value":16}},"46":{"Integer":{"value":30}},"57":{"Integer":{"value":256}}},"stateMachineMap":{},"dictionarySymbolSet":[],"interfaceMap":{},"dictionaryMap":{}}} +{"fppVersion":"[ fpp version ]","locationMap":{"0":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"1.24","includingLoc":"None","expandingLoc":"None"},"1":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"1.1","includingLoc":"None","expandingLoc":"None"},"2":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"2.40","includingLoc":"None","expandingLoc":"None"},"3":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"2.1","includingLoc":"None","expandingLoc":"None"},"4":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"13.3","includingLoc":"None","expandingLoc":"None"},"5":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"16.3","includingLoc":"None","expandingLoc":"None"},"6":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"19.3","includingLoc":"None","expandingLoc":"None"},"7":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"26.36","includingLoc":"None","expandingLoc":"None"},"8":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"26.3","includingLoc":"None","expandingLoc":"None"},"9":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"29.30","includingLoc":"None","expandingLoc":"None"},"10":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"29.27","includingLoc":"None","expandingLoc":"None"},"11":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"29.38","includingLoc":"None","expandingLoc":"None"},"12":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"29.35","includingLoc":"None","expandingLoc":"None"},"13":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"29.38","includingLoc":"None","expandingLoc":"None"},"14":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"29.35","includingLoc":"None","expandingLoc":"None"},"15":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"29.38","includingLoc":"None","expandingLoc":"None"},"16":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"29.35","includingLoc":"None","expandingLoc":"None"},"17":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"29.52","includingLoc":"None","expandingLoc":"None"},"18":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"29.3","includingLoc":"None","expandingLoc":"None"},"19":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.30","includingLoc":"None","expandingLoc":"None"},"20":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.27","includingLoc":"None","expandingLoc":"None"},"21":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.30","includingLoc":"None","expandingLoc":"None"},"22":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.27","includingLoc":"None","expandingLoc":"None"},"23":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.30","includingLoc":"None","expandingLoc":"None"},"24":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.27","includingLoc":"None","expandingLoc":"None"},"25":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.45","includingLoc":"None","expandingLoc":"None"},"26":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.59","includingLoc":"None","expandingLoc":"None"},"27":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.62","includingLoc":"None","expandingLoc":"None"},"28":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.3","includingLoc":"None","expandingLoc":"None"},"29":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.30","includingLoc":"None","expandingLoc":"None"},"30":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.27","includingLoc":"None","expandingLoc":"None"},"31":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.30","includingLoc":"None","expandingLoc":"None"},"32":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.27","includingLoc":"None","expandingLoc":"None"},"33":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.30","includingLoc":"None","expandingLoc":"None"},"34":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.27","includingLoc":"None","expandingLoc":"None"},"35":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.45","includingLoc":"None","expandingLoc":"None"},"36":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.59","includingLoc":"None","expandingLoc":"None"},"37":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.62","includingLoc":"None","expandingLoc":"None"},"38":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.3","includingLoc":"None","expandingLoc":"None"},"39":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.30","includingLoc":"None","expandingLoc":"None"},"40":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.27","includingLoc":"None","expandingLoc":"None"},"41":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.30","includingLoc":"None","expandingLoc":"None"},"42":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.27","includingLoc":"None","expandingLoc":"None"},"43":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.30","includingLoc":"None","expandingLoc":"None"},"44":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.27","includingLoc":"None","expandingLoc":"None"},"45":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.45","includingLoc":"None","expandingLoc":"None"},"46":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.59","includingLoc":"None","expandingLoc":"None"},"47":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.62","includingLoc":"None","expandingLoc":"None"},"48":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"32.3","includingLoc":"None","expandingLoc":"None"},"49":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"6.1","includingLoc":"None","expandingLoc":"None"},"50":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"37.3","includingLoc":"None","expandingLoc":"None"},"51":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"38.3","includingLoc":"None","expandingLoc":"None"},"52":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"39.3","includingLoc":"None","expandingLoc":"None"},"53":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"39.3","includingLoc":"None","expandingLoc":"None"},"54":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"39.3","includingLoc":"None","expandingLoc":"None"},"55":{"file":"[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp","pos":"36.1","includingLoc":"None","expandingLoc":"None"}}} +{"fppVersion":"[ fpp version ]","analysis":{"componentInstanceMap":{},"componentMap":{"49":{"aNode":{"astNodeId":49},"portInterface":{"instanceType":"component","portMap":{"cmdIn":{"Special":{"aNode":{"astNodeId":5},"specifier":{"inputKind":"None","kind":{"CommandRecv":{}},"name":"cmdIn","priority":"None","queueFull":"None"},"symbol":{"Port":{"nodeId":50,"unqualifiedName":"Cmd"}},"priority":"None","queueFull":"None","importNodeIds":[]}},"cmdRegOut":{"Special":{"aNode":{"astNodeId":4},"specifier":{"inputKind":"None","kind":{"CommandReg":{}},"name":"cmdRegOut","priority":"None","queueFull":"None"},"symbol":{"Port":{"nodeId":51,"unqualifiedName":"CmdReg"}},"priority":"None","queueFull":"None","importNodeIds":[]}},"cmdResponseOut":{"Special":{"aNode":{"astNodeId":6},"specifier":{"inputKind":"None","kind":{"CommandResp":{}},"name":"cmdResponseOut","priority":"None","queueFull":"None"},"symbol":{"Port":{"nodeId":54,"unqualifiedName":"CmdResponse"}},"priority":"None","queueFull":"None","importNodeIds":[]}}},"specialPortMap":{"command recv":{"aNode":{"astNodeId":5},"specifier":{"inputKind":"None","kind":{"CommandRecv":{}},"name":"cmdIn","priority":"None","queueFull":"None"},"symbol":{"Port":{"nodeId":50,"unqualifiedName":"Cmd"}},"priority":"None","queueFull":"None","importNodeIds":[]},"command reg":{"aNode":{"astNodeId":4},"specifier":{"inputKind":"None","kind":{"CommandReg":{}},"name":"cmdRegOut","priority":"None","queueFull":"None"},"symbol":{"Port":{"nodeId":51,"unqualifiedName":"CmdReg"}},"priority":"None","queueFull":"None","importNodeIds":[]},"command resp":{"aNode":{"astNodeId":6},"specifier":{"inputKind":"None","kind":{"CommandResp":{}},"name":"cmdResponseOut","priority":"None","queueFull":"None"},"symbol":{"Port":{"nodeId":54,"unqualifiedName":"CmdResponse"}},"priority":"None","queueFull":"None","importNodeIds":[]}}},"commandMap":{"0":{"NonParam":{"aNode":{"astNodeId":8},"kind":{"Async":{"priority":{"Some":10},"queueFull":{"Assert":{}}}}}},"1":{"NonParam":{"aNode":{"astNodeId":18},"kind":{"Async":{"priority":{"Some":20},"queueFull":{"Assert":{}}}}}},"16":{"NonParam":{"aNode":{"astNodeId":48},"kind":{"Async":{"priority":{"Some":30},"queueFull":{"Drop":{}}}}}}},"defaultOpcode":17,"tlmChannelMap":{},"tlmChannelNameMap":{},"defaultTlmChannelId":0,"eventMap":{},"defaultEventId":0,"paramMap":{},"specPortMatchingList":[],"stateMachineInstanceMap":{},"portMatchingList":[],"defaultParamId":0,"containerMap":{},"defaultContainerId":0,"recordMap":{},"defaultRecordId":0}},"frameworkDefinitions":{"constantMap":{"FW_FIXED_LENGTH_STRING_SIZE":{"node":{"astNodeId":3}}},"typeMap":{"FwSizeStoreType":{"AliasType":{"node":{"astNodeId":1}}}}},"includedFileSet":[],"inputFileSet":["[ local path prefix ]/compiler/tools/fpp-to-json/test/commands.fpp"],"locationSpecifierMap":[],"parentSymbolMap":{"50":{"Module":{"nodeId":55,"unqualifiedName":"Fw"}},"51":{"Module":{"nodeId":55,"unqualifiedName":"Fw"}},"54":{"Module":{"nodeId":55,"unqualifiedName":"Fw"}}},"symbolScopeMap":{"49":{"map":{}},"55":{"map":{"Port":{"map":{"Cmd":{"Port":{"nodeId":50,"unqualifiedName":"Cmd"}},"CmdReg":{"Port":{"nodeId":51,"unqualifiedName":"CmdReg"}},"CmdResponse":{"Port":{"nodeId":54,"unqualifiedName":"CmdResponse"}}}}}}},"topologyMap":{},"typeMap":{"0":{"Int":{"PrimitiveInt":{"kind":{"U16":{}}}}},"1":{"AliasType":{"node":{"astNodeId":1},"aliasType":{"Int":{"PrimitiveInt":{"kind":{"U16":{}}}}}}},"2":{"Int":{"Integer":{}}},"3":{"Int":{"Integer":{}}},"7":{"Int":{"Integer":{}}},"9":{"Int":{"PrimitiveInt":{"kind":{"U32":{}}}}},"15":{"Primitive":{"Float":{"kind":{"F32":{}}}}},"17":{"Int":{"Integer":{}}},"43":{"String":{"size":"None"}},"45":{"Int":{"Integer":{}}},"46":{"Int":{"Integer":{}}},"56":{"AliasType":{"node":{"astNodeId":1},"aliasType":{"Int":{"PrimitiveInt":{"kind":{"U16":{}}}}}}},"57":{"Int":{"Integer":{}}}},"useDefMap":{"4":{"Port":{"nodeId":51,"unqualifiedName":"CmdReg"}},"5":{"Port":{"nodeId":50,"unqualifiedName":"Cmd"}},"6":{"Port":{"nodeId":54,"unqualifiedName":"CmdResponse"}},"56":{"AliasType":{"nodeId":1,"unqualifiedName":"FwSizeStoreType"}},"57":{"Constant":{"nodeId":3,"unqualifiedName":"FW_FIXED_LENGTH_STRING_SIZE"}},"58":{"Module":{"nodeId":55,"unqualifiedName":"Fw"}},"59":{"Module":{"nodeId":55,"unqualifiedName":"Fw"}},"60":{"Module":{"nodeId":55,"unqualifiedName":"Fw"}}},"valueMap":{"2":{"Integer":{"value":256}},"3":{"Integer":{"value":256}},"7":{"Integer":{"value":10}},"17":{"Integer":{"value":20}},"45":{"Integer":{"value":16}},"46":{"Integer":{"value":30}},"57":{"Integer":{"value":256}}},"stateMachineMap":{},"dictionarySymbolSet":[],"interfaceMap":{},"dictionaryMap":{}}} diff --git a/compiler/tools/fpp-to-json/test/constTypesComponents.ref.txt b/compiler/tools/fpp-to-json/test/constTypesComponents.ref.txt index e5e79f8383..6cfab9275b 100644 --- a/compiler/tools/fpp-to-json/test/constTypesComponents.ref.txt +++ b/compiler/tools/fpp-to-json/test/constTypesComponents.ref.txt @@ -333,212 +333,254 @@ "0" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "10.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "1" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "10.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "2" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "11.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "3" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "11.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "4" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "9.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "5" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "19.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "6" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "22.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "7" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "25.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "8" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "33.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "9" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "33.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "10" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "33.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "11" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "33.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "12" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "33.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "13" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "33.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "14" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "33.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "15" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "33.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "16" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "32.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "17" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "33.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "18" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "33.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "19" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "33.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "20" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "33.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "21" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "33.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "22" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "33.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "23" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "33.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "24" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "33.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "25" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "32.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "26" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "33.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "27" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "33.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "28" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "33.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "29" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "33.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "30" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "33.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "31" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "33.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "32" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "33.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "33" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "33.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "34" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "32.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "35" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "2.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "36" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "39.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "37" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "40.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "38" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "41.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "39" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "41.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "40" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "41.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "41" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constTypesComponents.fpp", "pos" : "38.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } } } @@ -1034,6 +1076,24 @@ "nodeId" : 4, "unqualifiedName" : "State" } + }, + "42" : { + "Module" : { + "nodeId" : 41, + "unqualifiedName" : "Fw" + } + }, + "43" : { + "Module" : { + "nodeId" : 41, + "unqualifiedName" : "Fw" + } + }, + "44" : { + "Module" : { + "nodeId" : 41, + "unqualifiedName" : "Fw" + } } }, "valueMap" : { diff --git a/compiler/tools/fpp-to-json/test/constants.ref.txt b/compiler/tools/fpp-to-json/test/constants.ref.txt index b09e2b7679..ee0e194e42 100644 --- a/compiler/tools/fpp-to-json/test/constants.ref.txt +++ b/compiler/tools/fpp-to-json/test/constants.ref.txt @@ -1007,407 +1007,488 @@ "0" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "1.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "1" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "1.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "2" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "2.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "3" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "2.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "4" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "4.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "5" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "4.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "6" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "6.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "7" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "6.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "8" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "6.22", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "9" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "6.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "10" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "6.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "11" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "7.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "12" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "7.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "13" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "7.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "14" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "7.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "15" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "8.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "16" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "8.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "17" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "8.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "18" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "8.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "19" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "8.31", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "20" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "8.26", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "21" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "8.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "22" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "8.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "23" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "10.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "24" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "10.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "25" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "10.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "26" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "10.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "27" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "11.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "28" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "11.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "29" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "11.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "30" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "11.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "31" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "11.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "32" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "11.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "33" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "13.20", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "34" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "13.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "35" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "13.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "36" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "13.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "37" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "13.38", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "38" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "13.34", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "39" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "13.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "40" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "13.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "41" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "14.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "42" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "14.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "43" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "16.22", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "44" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "16.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "45" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "16.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "46" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "16.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "47" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "16.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "48" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "16.40", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "49" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "16.36", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "50" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "16.34", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "51" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "16.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "52" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "16.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "53" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "18.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "54" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "18.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "55" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "19.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "56" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "19.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "57" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "21.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "58" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "21.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "59" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "21.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "60" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "22.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "61" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "22.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "62" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "22.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "63" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "22.22", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "64" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "22.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "65" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "22.20", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "66" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "22.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "67" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "23.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "68" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "23.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "69" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "23.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "70" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "25.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "71" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "25.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "72" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "26.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "73" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "26.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "74" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "30.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "75" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "30.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "76" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "30.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "77" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "30.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "78" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "33.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "79" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "33.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "80" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/constants.fpp", "pos" : "33.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } } } @@ -2265,7 +2346,8 @@ "value" : 3 } } - ] + ], + "scalar" : "None" } }, "10" : { @@ -2286,7 +2368,8 @@ "value" : 3 } } - ] + ], + "scalar" : "None" } }, "11" : { @@ -2327,7 +2410,8 @@ } } } - ] + ], + "scalar" : "None" } }, "14" : { @@ -2353,7 +2437,8 @@ } } } - ] + ], + "scalar" : "None" } }, "15" : { @@ -2379,7 +2464,8 @@ "value" : 2 } } - ] + ], + "scalar" : "None" } }, "18" : { @@ -2405,7 +2491,8 @@ "value" : 4 } } - ] + ], + "scalar" : "None" } }, "21" : { @@ -2424,7 +2511,8 @@ "value" : 2 } } - ] + ], + "scalar" : "None" } }, { @@ -2440,10 +2528,12 @@ "value" : 4 } } - ] + ], + "scalar" : "None" } } - ] + ], + "scalar" : "None" } }, "22" : { @@ -2462,7 +2552,8 @@ "value" : 2 } } - ] + ], + "scalar" : "None" } }, { @@ -2478,10 +2569,12 @@ "value" : 4 } } - ] + ], + "scalar" : "None" } } - ] + ], + "scalar" : "None" } }, "23" : { @@ -2500,7 +2593,8 @@ "value" : 2 } } - ] + ], + "scalar" : "None" } }, { @@ -2516,10 +2610,12 @@ "value" : 4 } } - ] + ], + "scalar" : "None" } } - ] + ], + "scalar" : "None" } }, "24" : { @@ -2540,7 +2636,8 @@ "value" : 2 } } - ] + ], + "scalar" : "None" } }, "26" : { @@ -2556,7 +2653,8 @@ "value" : 2 } } - ] + ], + "scalar" : "None" } }, "27" : { @@ -2575,7 +2673,8 @@ "value" : 2 } } - ] + ], + "scalar" : "None" } }, { @@ -2591,10 +2690,12 @@ "value" : 4 } } - ] + ], + "scalar" : "None" } } - ] + ], + "scalar" : "None" } }, "28" : { @@ -2620,7 +2721,8 @@ "value" : 2 } } - ] + ], + "scalar" : "None" } }, "31" : { @@ -2781,7 +2883,8 @@ } } } - ] + ], + "scalar" : "None" } }, "52" : { @@ -2819,7 +2922,8 @@ } } } - ] + ], + "scalar" : "None" } }, "53" : { diff --git a/compiler/tools/fpp-to-json/test/dataProducts.ref.txt b/compiler/tools/fpp-to-json/test/dataProducts.ref.txt index 423b7ec69b..48b79699b9 100644 --- a/compiler/tools/fpp-to-json/test/dataProducts.ref.txt +++ b/compiler/tools/fpp-to-json/test/dataProducts.ref.txt @@ -437,147 +437,176 @@ "0" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/dataProducts.fpp", "pos" : "3.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "1" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/dataProducts.fpp", "pos" : "4.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "2" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/dataProducts.fpp", "pos" : "5.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "3" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/dataProducts.fpp", "pos" : "6.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "4" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/dataProducts.fpp", "pos" : "6.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "5" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/dataProducts.fpp", "pos" : "6.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "6" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/dataProducts.fpp", "pos" : "1.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "7" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/dataProducts.fpp", "pos" : "12.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "8" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/dataProducts.fpp", "pos" : "13.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "9" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/dataProducts.fpp", "pos" : "14.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "10" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/dataProducts.fpp", "pos" : "15.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "11" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/dataProducts.fpp", "pos" : "18.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "12" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/dataProducts.fpp", "pos" : "21.31", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "13" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/dataProducts.fpp", "pos" : "21.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "14" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/dataProducts.fpp", "pos" : "24.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "15" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/dataProducts.fpp", "pos" : "24.58", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "16" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/dataProducts.fpp", "pos" : "24.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "17" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/dataProducts.fpp", "pos" : "27.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "18" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/dataProducts.fpp", "pos" : "27.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "19" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/dataProducts.fpp", "pos" : "30.22", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "20" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/dataProducts.fpp", "pos" : "30.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "21" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/dataProducts.fpp", "pos" : "30.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "22" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/dataProducts.fpp", "pos" : "30.22", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "23" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/dataProducts.fpp", "pos" : "30.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "24" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/dataProducts.fpp", "pos" : "30.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "25" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/dataProducts.fpp", "pos" : "30.22", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "26" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/dataProducts.fpp", "pos" : "30.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "27" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/dataProducts.fpp", "pos" : "30.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "28" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/dataProducts.fpp", "pos" : "10.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } } } @@ -1086,6 +1115,30 @@ "nodeId" : 5, "unqualifiedName" : "Time" } + }, + "29" : { + "Module" : { + "nodeId" : 6, + "unqualifiedName" : "Fw" + } + }, + "30" : { + "Module" : { + "nodeId" : 6, + "unqualifiedName" : "Fw" + } + }, + "31" : { + "Module" : { + "nodeId" : 6, + "unqualifiedName" : "Fw" + } + }, + "32" : { + "Module" : { + "nodeId" : 6, + "unqualifiedName" : "Fw" + } } }, "valueMap" : { diff --git a/compiler/tools/fpp-to-json/test/enums.ref.txt b/compiler/tools/fpp-to-json/test/enums.ref.txt index 65f525d982..f137071080 100644 --- a/compiler/tools/fpp-to-json/test/enums.ref.txt +++ b/compiler/tools/fpp-to-json/test/enums.ref.txt @@ -388,177 +388,212 @@ "0" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "2.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "1" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "3.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "2" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "4.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "3" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "4.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "4" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "4.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "5" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "1.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "6" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "6.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "7" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "6.34", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "8" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "6.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "9" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "6.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "10" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "8.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "11" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "8.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "12" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "8.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "13" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "8.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "14" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "8.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "15" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "8.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "16" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "8.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "17" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "8.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "18" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "8.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "19" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "8.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "20" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "8.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "21" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "9.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "22" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "9.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "23" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "9.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "24" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "9.20", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "25" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "9.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "26" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "9.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "27" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "11.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "28" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "11.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "29" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "11.22", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "30" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "11.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "31" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "11.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "32" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "11.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "33" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "11.37", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "34" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/enums.fpp", "pos" : "11.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } } } diff --git a/compiler/tools/fpp-to-json/test/events.ref.txt b/compiler/tools/fpp-to-json/test/events.ref.txt index 69b02957d5..08fb0387d0 100644 --- a/compiler/tools/fpp-to-json/test/events.ref.txt +++ b/compiler/tools/fpp-to-json/test/events.ref.txt @@ -940,1022 +940,1226 @@ "0" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "9.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "1" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "12.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "2" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "15.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "3" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "24.8", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "4" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "25.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "5" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "23.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "6" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "30.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "7" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "30.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "8" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "30.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "9" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "30.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "10" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "33.8", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "11" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "34.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "12" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "29.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "13" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "39.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "14" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "38.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "15" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "39.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "16" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "38.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "17" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "39.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "18" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "38.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "19" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "2.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "20" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "52.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "21" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "55.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "22" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "58.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "23" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "66.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "24" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "67.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "25" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "68.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "26" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "68.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "27" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "65.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "28" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "72.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "29" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "72.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "30" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "72.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "31" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "72.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "32" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "75.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "33" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "76.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "34" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "77.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "35" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "78.22", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "36" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "78.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "37" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "78.34", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "38" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "78.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "39" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "78.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "40" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "77.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "41" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "71.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "42" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "83.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "43" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "83.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "44" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "83.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "45" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "83.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "46" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "84.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "47" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "84.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "48" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "84.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "49" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "84.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "50" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "85.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "51" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "85.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "52" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "85.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "53" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "85.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "54" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "88.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "55" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "89.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "56" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "82.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "57" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "58" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "59" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "60" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "61" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "96.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "62" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "97.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "63" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "92.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "64" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "65" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "66" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "67" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "68" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "96.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "69" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "97.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "70" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "92.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "71" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "72" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "73" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "74" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "75" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "96.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "76" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "97.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "77" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "92.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "78" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "45.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "79" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "52.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "80" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "55.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "81" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "58.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "82" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "66.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "83" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "67.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "84" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "68.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "85" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "68.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "86" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "65.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "87" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "72.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "88" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "72.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "89" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "72.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "90" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "72.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "91" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "75.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "92" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "76.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "93" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "77.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "94" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "78.22", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "95" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "78.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "96" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "78.34", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "97" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "78.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "98" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "78.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "99" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "77.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "100" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "71.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "101" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "83.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "102" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "83.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "103" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "83.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "104" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "83.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "105" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "84.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "106" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "84.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "107" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "84.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "108" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "84.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "109" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "85.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "110" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "85.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "111" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "85.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "112" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "85.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "113" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "88.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "114" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "89.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "115" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "82.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "116" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "117" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "118" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "119" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "120" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "96.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "121" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "97.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "122" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "92.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "123" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "124" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "125" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "126" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "127" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "96.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "128" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "97.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "129" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "92.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "130" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "131" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "132" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "133" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "134" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "96.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "135" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "97.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "136" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "92.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "137" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "45.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "138" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "52.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "139" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "55.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "140" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "58.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "141" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "66.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "142" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "67.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "143" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "68.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "144" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "68.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "145" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "65.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "146" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "72.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "147" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "72.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "148" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "72.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "149" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "72.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "150" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "75.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "151" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "76.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "152" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "77.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "153" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "78.22", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "154" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "78.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "155" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "78.34", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "156" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "78.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "157" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "78.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "158" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "77.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "159" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "71.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "160" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "83.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "161" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "83.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "162" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "83.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "163" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "83.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "164" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "84.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "165" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "84.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "166" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "84.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "167" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "84.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "168" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "85.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "169" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "85.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "170" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "85.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "171" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "85.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "172" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "88.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "173" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "89.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "174" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "82.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "175" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "176" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "177" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "178" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "179" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "96.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "180" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "97.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "181" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "92.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "182" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "183" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "184" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "185" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "186" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "96.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "187" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "97.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "188" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "92.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "189" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "190" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "191" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "192" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "93.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "193" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "96.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "194" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "97.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "195" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "92.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "196" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "45.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "197" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "43.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "198" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "103.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "199" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "104.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "200" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "105.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "201" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "105.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "202" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "105.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "203" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/events.fpp", "pos" : "102.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } } } @@ -2850,6 +3054,42 @@ "nodeId" : 202, "unqualifiedName" : "Time" } + }, + "204" : { + "Module" : { + "nodeId" : 203, + "unqualifiedName" : "Fw" + } + }, + "205" : { + "Module" : { + "nodeId" : 203, + "unqualifiedName" : "Fw" + } + }, + "206" : { + "Module" : { + "nodeId" : 203, + "unqualifiedName" : "Fw" + } + }, + "207" : { + "Module" : { + "nodeId" : 203, + "unqualifiedName" : "Fw" + } + }, + "208" : { + "Module" : { + "nodeId" : 203, + "unqualifiedName" : "Fw" + } + }, + "209" : { + "Module" : { + "nodeId" : 203, + "unqualifiedName" : "Fw" + } } }, "valueMap" : { diff --git a/compiler/tools/fpp-to-json/test/frameworkDefs.ref.txt b/compiler/tools/fpp-to-json/test/frameworkDefs.ref.txt index 9896050902..29d0888ea1 100644 --- a/compiler/tools/fpp-to-json/test/frameworkDefs.ref.txt +++ b/compiler/tools/fpp-to-json/test/frameworkDefs.ref.txt @@ -1490,1082 +1490,1298 @@ "0" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "1.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "1" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "1.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "2" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "2.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "3" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "2.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "4" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "2.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "5" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "2.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "6" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "3.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "7" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "3.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "8" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "3.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "9" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "3.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "10" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "4.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "11" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "4.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "12" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "4.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "13" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "4.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "14" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "5.22", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "15" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "5.22", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "16" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "5.22", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "17" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "5.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "18" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "6.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "19" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "6.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "20" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "6.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "21" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "6.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "22" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "7.31", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "23" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "7.31", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "24" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "7.31", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "25" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "7.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "26" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "8.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "27" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "8.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "28" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "9.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "29" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "9.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "30" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "9.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "31" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "9.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "32" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "10.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "33" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "10.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "34" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "13.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "35" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "13.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "36" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "16.31", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "37" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "16.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "38" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "19.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "39" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "21.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "40" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "25.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "41" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "27.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "42" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "27.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "43" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "27.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "44" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "28.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "45" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "19.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "46" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "32.45", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "47" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "32.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "48" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "36.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "49" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "38.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "50" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "38.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "51" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "40.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "52" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "40.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "53" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "54" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "55" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "56" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "57" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "58" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "59" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "36.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "60" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "36.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "61" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "38.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "62" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "38.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "63" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "40.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "64" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "40.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "65" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "66" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "67" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "68" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "69" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "70" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "71" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "36.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "72" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "36.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "73" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "38.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "74" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "38.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "75" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "40.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "76" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "40.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "77" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "78" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "79" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "80" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "81" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "82" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "83" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "36.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "84" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "30.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "85" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "32.45", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "86" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "32.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "87" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "36.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "88" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "38.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "89" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "38.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "90" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "40.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "91" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "40.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "92" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "93" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "94" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "95" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "96" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "97" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "98" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "36.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "99" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "36.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "100" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "38.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "101" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "38.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "102" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "40.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "103" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "40.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "104" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "105" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "106" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "107" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "108" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "109" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "110" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "36.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "111" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "36.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "112" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "38.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "113" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "38.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "114" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "40.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "115" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "40.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "116" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "117" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "118" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "119" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "120" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "121" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "122" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "36.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "123" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "30.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "124" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "32.45", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "125" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "32.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "126" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "36.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "127" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "38.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "128" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "38.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "129" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "40.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "130" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "40.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "131" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "132" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "133" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "134" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "135" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "136" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "137" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "36.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "138" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "36.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "139" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "38.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "140" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "38.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "141" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "40.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "142" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "40.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "143" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "144" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "145" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "146" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "147" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "148" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "149" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "36.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "150" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "36.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "151" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "38.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "152" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "38.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "153" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "40.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "154" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "40.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "155" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "156" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "157" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "158" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "159" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "160" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "42.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "161" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "36.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "162" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "30.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "163" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "18.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "164" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "47.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "165" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "47.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "166" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "48.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "167" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "48.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "168" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "50.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "169" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "50.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "170" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "51.39", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "171" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "51.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "172" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "52.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "173" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "52.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "174" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "53.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "175" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "53.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "176" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "54.33", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "177" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "54.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "178" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "55.36", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "179" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "55.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "180" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "56.40", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "181" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "56.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "182" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "57.50", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "183" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "57.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "184" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "58.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "185" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "58.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "186" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "59.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "187" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "59.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "188" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "60.36", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "189" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "60.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "190" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "61.40", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "191" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "61.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "192" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "62.38", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "193" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "62.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "194" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "63.37", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "195" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "63.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "196" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "64.37", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "197" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "64.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "198" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "65.38", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "199" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "65.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "200" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "66.42", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "201" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "66.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "202" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "67.41", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "203" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "67.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "204" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "68.45", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "205" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "68.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "206" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "69.37", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "207" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "69.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "208" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "70.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "209" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "70.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "210" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "71.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "211" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "71.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "212" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "72.48", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "213" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "72.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "214" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "73.47", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "215" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-dict/test/top/config.fpp", "pos" : "73.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } } } @@ -3004,6 +3220,16 @@ } } }, + "Template" : { + "map" : { + "DpCfg" : { + "Module" : { + "nodeId" : 162, + "unqualifiedName" : "DpCfg" + } + } + } + }, "Type" : { "map" : { "DpCfg" : { diff --git a/compiler/tools/fpp-to-json/test/importedTopologies.ref.txt b/compiler/tools/fpp-to-json/test/importedTopologies.ref.txt index a5dbbf68b4..7fac2317b2 100644 --- a/compiler/tools/fpp-to-json/test/importedTopologies.ref.txt +++ b/compiler/tools/fpp-to-json/test/importedTopologies.ref.txt @@ -857,647 +857,776 @@ "0" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "1.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "1" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "4.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "2" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "4.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "3" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "4.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "4" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "5.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "5" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "5.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "6" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "5.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "7" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "5.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "8" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "5.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "9" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "5.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "10" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "5.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "11" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "5.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "12" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "5.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "13" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "3.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "14" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "8.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "15" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "8.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "16" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "8.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "17" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "8.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "18" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "9.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "19" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "9.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "20" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "9.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "21" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "9.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "22" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "10.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "23" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "10.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "24" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "10.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "25" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "10.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "26" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "11.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "27" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "11.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "28" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "11.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "29" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "11.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "30" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "17.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "31" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "17.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "32" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "17.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "33" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "19.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "34" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "19.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "35" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "19.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "36" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "37" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.8", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "38" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "39" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "40" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "41" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "42" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "43" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "44" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "22.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "45" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "46" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.8", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "47" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "48" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "49" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "50" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "51" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "52" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "53" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "27.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "54" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "55" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.8", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "56" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "57" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "58" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "59" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "60" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "61" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "62" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "27.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "63" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "64" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.8", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "65" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "66" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "67" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "68" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "69" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "70" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "71" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "27.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "72" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "14.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "73" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "35.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "74" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "35.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "75" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "35.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "76" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "37.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "77" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "37.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "78" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "37.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "79" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "39.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "80" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "39.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "81" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "39.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "82" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "43.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "83" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "43.8", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "84" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "43.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "85" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "43.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "86" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "43.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "87" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "43.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "88" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "43.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "89" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "43.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "90" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "42.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "91" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "92" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.8", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "93" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "94" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "95" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "96" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "97" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "98" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "99" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "47.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "100" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "101" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.8", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "102" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "103" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "104" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "105" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "106" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "107" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "108" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "47.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "109" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "110" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.8", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "111" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "112" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "113" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "114" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "115" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "116" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "117" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "47.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "118" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "34.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "119" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "55.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "120" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "55.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "121" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "55.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "122" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "55.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "123" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "55.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "124" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "55.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "125" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "55.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "126" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "55.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "127" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "55.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "128" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "54.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } } } @@ -1763,39 +1892,42 @@ "17" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "17.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "21" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "19.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } + }, + "directTemplateArgs" : { + }, "transitiveImportSet" : [ ], "instanceMap" : [ [ { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "17.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ], [ { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "19.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ] ], @@ -1823,13 +1955,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -1876,13 +2007,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -1934,13 +2064,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -1987,13 +2116,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -2047,13 +2175,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -2100,13 +2227,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -2158,13 +2284,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -2211,13 +2336,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -2268,9 +2392,7 @@ [ { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -2316,13 +2438,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -2369,13 +2490,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -2425,9 +2545,7 @@ [ { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -2473,13 +2591,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -2526,13 +2643,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -2584,9 +2700,7 @@ [ { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -2632,13 +2746,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -2685,13 +2798,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -2741,9 +2853,7 @@ [ { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -2789,13 +2899,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -2842,13 +2951,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -2903,13 +3011,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -2956,13 +3063,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -3015,13 +3121,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -3068,13 +3173,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -3129,13 +3233,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -3182,13 +3285,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -3241,13 +3343,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -3294,13 +3395,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -3364,20 +3464,26 @@ "72" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "35.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } }, "directComponentInstances" : { "25" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "37.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "29" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "39.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } + }, + "directTemplateArgs" : { + }, "transitiveImportSet" : [ { @@ -3389,62 +3495,57 @@ "instanceMap" : [ [ { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "17.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ], [ { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "19.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ], [ { - "InterfaceTopology" : { - "astNodeId" : 72 - } + "InterfaceTopology" : 72 }, { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "35.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ], [ { - "InterfaceComponentInstance" : { - "astNodeId" : 25 - } + "InterfaceComponentInstance" : 25 }, { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "37.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ], [ { - "InterfaceComponentInstance" : { - "astNodeId" : 29 - } + "InterfaceComponentInstance" : 29 }, { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "39.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ] ], @@ -3472,13 +3573,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -3525,13 +3625,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -3583,13 +3682,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -3636,13 +3734,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -3694,13 +3791,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "43.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 25 - } + "InterfaceComponentInstance" : 25 }, "portInstance" : { "General" : { @@ -3747,13 +3843,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "43.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 29 - } + "InterfaceComponentInstance" : 29 }, "portInstance" : { "General" : { @@ -3805,13 +3900,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 29 - } + "InterfaceComponentInstance" : 29 }, "portInstance" : { "General" : { @@ -3858,13 +3952,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 25 - } + "InterfaceComponentInstance" : 25 }, "portInstance" : { "General" : { @@ -3918,13 +4011,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "43.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 25 - } + "InterfaceComponentInstance" : 25 }, "portInstance" : { "General" : { @@ -3971,13 +4063,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "43.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 29 - } + "InterfaceComponentInstance" : 29 }, "portInstance" : { "General" : { @@ -4029,13 +4120,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 29 - } + "InterfaceComponentInstance" : 29 }, "portInstance" : { "General" : { @@ -4082,13 +4172,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 25 - } + "InterfaceComponentInstance" : 25 }, "portInstance" : { "General" : { @@ -4139,9 +4228,7 @@ [ { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -4187,13 +4274,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -4240,13 +4326,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -4296,9 +4381,7 @@ [ { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -4344,13 +4427,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -4397,13 +4479,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -4453,9 +4534,7 @@ [ { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 25 - } + "InterfaceComponentInstance" : 25 }, "portInstance" : { "General" : { @@ -4501,13 +4580,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "43.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 25 - } + "InterfaceComponentInstance" : 25 }, "portInstance" : { "General" : { @@ -4554,13 +4632,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "43.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 29 - } + "InterfaceComponentInstance" : 29 }, "portInstance" : { "General" : { @@ -4610,9 +4687,7 @@ [ { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 29 - } + "InterfaceComponentInstance" : 29 }, "portInstance" : { "General" : { @@ -4658,13 +4733,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 29 - } + "InterfaceComponentInstance" : 29 }, "portInstance" : { "General" : { @@ -4711,13 +4785,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 25 - } + "InterfaceComponentInstance" : 25 }, "portInstance" : { "General" : { @@ -4769,9 +4842,7 @@ [ { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -4817,13 +4888,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -4870,13 +4940,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -4926,9 +4995,7 @@ [ { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -4974,13 +5041,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -5027,13 +5093,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -5083,9 +5148,7 @@ [ { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 25 - } + "InterfaceComponentInstance" : 25 }, "portInstance" : { "General" : { @@ -5131,13 +5194,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 29 - } + "InterfaceComponentInstance" : 29 }, "portInstance" : { "General" : { @@ -5184,13 +5246,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 25 - } + "InterfaceComponentInstance" : 25 }, "portInstance" : { "General" : { @@ -5240,9 +5301,7 @@ [ { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 29 - } + "InterfaceComponentInstance" : 29 }, "portInstance" : { "General" : { @@ -5288,13 +5347,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "43.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 25 - } + "InterfaceComponentInstance" : 25 }, "portInstance" : { "General" : { @@ -5341,13 +5399,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "43.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 29 - } + "InterfaceComponentInstance" : 29 }, "portInstance" : { "General" : { @@ -5402,13 +5459,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -5455,13 +5511,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -5514,13 +5569,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -5567,13 +5621,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -5626,13 +5679,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "43.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 25 - } + "InterfaceComponentInstance" : 25 }, "portInstance" : { "General" : { @@ -5679,13 +5731,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "43.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 29 - } + "InterfaceComponentInstance" : 29 }, "portInstance" : { "General" : { @@ -5738,13 +5789,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 29 - } + "InterfaceComponentInstance" : 29 }, "portInstance" : { "General" : { @@ -5791,13 +5841,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 25 - } + "InterfaceComponentInstance" : 25 }, "portInstance" : { "General" : { @@ -5852,13 +5901,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -5905,13 +5953,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -5964,13 +6011,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -6017,13 +6063,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -6076,13 +6121,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "43.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 25 - } + "InterfaceComponentInstance" : 25 }, "portInstance" : { "General" : { @@ -6129,13 +6173,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "43.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 29 - } + "InterfaceComponentInstance" : 29 }, "portInstance" : { "General" : { @@ -6188,13 +6231,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 29 - } + "InterfaceComponentInstance" : 29 }, "portInstance" : { "General" : { @@ -6241,13 +6283,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 25 - } + "InterfaceComponentInstance" : 25 }, "portInstance" : { "General" : { @@ -6311,11 +6352,15 @@ "118" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "55.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } }, "directComponentInstances" : { + }, + "directTemplateArgs" : { + }, "transitiveImportSet" : [ { @@ -6332,74 +6377,68 @@ "instanceMap" : [ [ { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "17.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ], [ { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "19.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ], [ { - "InterfaceTopology" : { - "astNodeId" : 72 - } + "InterfaceTopology" : 72 }, { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "35.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ], [ { - "InterfaceComponentInstance" : { - "astNodeId" : 25 - } + "InterfaceComponentInstance" : 25 }, { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "37.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ], [ { - "InterfaceComponentInstance" : { - "astNodeId" : 29 - } + "InterfaceComponentInstance" : 29 }, { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "39.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ], [ { - "InterfaceTopology" : { - "astNodeId" : 118 - } + "InterfaceTopology" : 118 }, { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "55.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ] ], @@ -6427,13 +6466,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -6480,13 +6518,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -6538,13 +6575,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -6591,13 +6627,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -6649,13 +6684,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "43.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 25 - } + "InterfaceComponentInstance" : 25 }, "portInstance" : { "General" : { @@ -6702,13 +6736,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "43.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 29 - } + "InterfaceComponentInstance" : 29 }, "portInstance" : { "General" : { @@ -6760,13 +6793,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 29 - } + "InterfaceComponentInstance" : 29 }, "portInstance" : { "General" : { @@ -6813,13 +6845,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 25 - } + "InterfaceComponentInstance" : 25 }, "portInstance" : { "General" : { @@ -6873,9 +6904,7 @@ [ { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -6921,13 +6950,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -6974,13 +7002,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -7030,9 +7057,7 @@ [ { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -7078,13 +7103,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -7131,13 +7155,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -7187,9 +7210,7 @@ [ { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 25 - } + "InterfaceComponentInstance" : 25 }, "portInstance" : { "General" : { @@ -7235,13 +7256,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "43.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 25 - } + "InterfaceComponentInstance" : 25 }, "portInstance" : { "General" : { @@ -7288,13 +7308,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "43.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 29 - } + "InterfaceComponentInstance" : 29 }, "portInstance" : { "General" : { @@ -7344,9 +7363,7 @@ [ { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 29 - } + "InterfaceComponentInstance" : 29 }, "portInstance" : { "General" : { @@ -7392,13 +7409,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 29 - } + "InterfaceComponentInstance" : 29 }, "portInstance" : { "General" : { @@ -7445,13 +7461,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 25 - } + "InterfaceComponentInstance" : 25 }, "portInstance" : { "General" : { @@ -7503,9 +7518,7 @@ [ { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -7551,13 +7564,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -7604,13 +7616,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -7660,9 +7671,7 @@ [ { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -7708,13 +7717,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -7761,13 +7769,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -7817,9 +7824,7 @@ [ { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 25 - } + "InterfaceComponentInstance" : 25 }, "portInstance" : { "General" : { @@ -7865,13 +7870,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 29 - } + "InterfaceComponentInstance" : 29 }, "portInstance" : { "General" : { @@ -7918,13 +7922,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 25 - } + "InterfaceComponentInstance" : 25 }, "portInstance" : { "General" : { @@ -7974,9 +7977,7 @@ [ { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 29 - } + "InterfaceComponentInstance" : 29 }, "portInstance" : { "General" : { @@ -8022,13 +8023,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "43.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 25 - } + "InterfaceComponentInstance" : 25 }, "portInstance" : { "General" : { @@ -8075,13 +8075,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "43.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 29 - } + "InterfaceComponentInstance" : 29 }, "portInstance" : { "General" : { @@ -8136,13 +8135,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -8189,13 +8187,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -8248,13 +8245,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -8301,13 +8297,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -8360,13 +8355,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "43.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 25 - } + "InterfaceComponentInstance" : 25 }, "portInstance" : { "General" : { @@ -8413,13 +8407,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "43.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 29 - } + "InterfaceComponentInstance" : 29 }, "portInstance" : { "General" : { @@ -8472,13 +8465,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 29 - } + "InterfaceComponentInstance" : 29 }, "portInstance" : { "General" : { @@ -8525,13 +8517,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 25 - } + "InterfaceComponentInstance" : 25 }, "portInstance" : { "General" : { @@ -8586,13 +8577,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -8639,13 +8629,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "23.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -8698,13 +8687,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 21 - } + "InterfaceComponentInstance" : 21 }, "portInstance" : { "General" : { @@ -8751,13 +8739,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 17 - } + "InterfaceComponentInstance" : 17 }, "portInstance" : { "General" : { @@ -8810,13 +8797,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "43.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 25 - } + "InterfaceComponentInstance" : 25 }, "portInstance" : { "General" : { @@ -8863,13 +8849,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "43.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 29 - } + "InterfaceComponentInstance" : 29 }, "portInstance" : { "General" : { @@ -8922,13 +8907,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 29 - } + "InterfaceComponentInstance" : 29 }, "portInstance" : { "General" : { @@ -8975,13 +8959,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/importedTopologies.fpp", "pos" : "48.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 25 - } + "InterfaceComponentInstance" : 25 }, "portInstance" : { "General" : { diff --git a/compiler/tools/fpp-to-json/test/interfaces.ref.txt b/compiler/tools/fpp-to-json/test/interfaces.ref.txt index f732a0d775..d9dc9c3ee8 100644 --- a/compiler/tools/fpp-to-json/test/interfaces.ref.txt +++ b/compiler/tools/fpp-to-json/test/interfaces.ref.txt @@ -664,382 +664,458 @@ "0" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "2.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "1" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "3.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "2" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "4.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "3" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "4.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "4" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "4.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "5" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "1.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "6" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "7.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "7" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "9.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "8" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "9.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "9" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "10.40", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "10" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "10.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "11" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "20.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "12" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "23.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "13" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "26.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "14" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "26.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "15" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "26.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "16" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "14.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "17" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "30.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "18" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "30.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "19" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "30.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "20" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "30.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "21" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "30.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "22" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "30.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "23" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "30.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "24" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "30.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "25" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "30.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "26" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "29.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "27" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "34.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "28" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "34.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "29" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "34.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "30" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "35.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "31" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "35.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "32" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "35.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "33" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "42.36", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "34" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "42.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "35" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "45.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "36" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "45.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "37" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "45.38", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "38" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "45.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "39" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "45.38", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "40" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "45.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "41" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "45.38", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "42" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "45.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "43" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "45.52", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "44" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "45.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "45" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "48.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "46" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "48.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "47" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "48.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "48" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "48.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "49" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "48.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "50" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "48.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "51" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "48.45", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "52" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "48.59", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "53" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "48.62", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "54" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "48.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "55" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "48.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "56" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "48.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "57" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "48.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "58" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "48.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "59" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "48.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "60" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "48.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "61" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "48.45", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "62" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "48.59", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "63" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "48.62", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "64" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "48.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "65" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "48.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "66" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "48.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "67" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "48.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "68" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "48.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "69" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "48.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "70" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "48.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "71" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "48.45", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "72" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "48.59", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "73" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "48.62", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "74" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "48.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "75" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/interfaces.fpp", "pos" : "33.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } } } @@ -1613,6 +1689,24 @@ "nodeId" : 10, "unqualifiedName" : "FW_FIXED_LENGTH_STRING_SIZE" } + }, + "78" : { + "Module" : { + "nodeId" : 5, + "unqualifiedName" : "Fw" + } + }, + "79" : { + "Module" : { + "nodeId" : 5, + "unqualifiedName" : "Fw" + } + }, + "80" : { + "Module" : { + "nodeId" : 5, + "unqualifiedName" : "Fw" + } } }, "valueMap" : { diff --git a/compiler/tools/fpp-to-json/test/internalPorts.ref.txt b/compiler/tools/fpp-to-json/test/internalPorts.ref.txt index adcfbcfe1e..77bd08bf60 100644 --- a/compiler/tools/fpp-to-json/test/internalPorts.ref.txt +++ b/compiler/tools/fpp-to-json/test/internalPorts.ref.txt @@ -137,222 +137,266 @@ "0" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "2.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "1" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "2" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "3" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "4" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "5" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "6" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "7" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "8" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "9" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "10" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "11" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "12" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "13" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.42", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "14" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "15" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "16" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "17" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "18" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "19" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "20" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "21" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "22" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "23" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "24" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "25" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "26" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "27" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.42", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "28" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "29" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "30" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "31" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "32" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "33" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "34" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "35" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "36" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "37" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "38" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "39" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "40" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "41" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.42", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "42" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "9.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "43" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/internalPorts.fpp", "pos" : "6.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } } } diff --git a/compiler/tools/fpp-to-json/test/matchedPorts.ref.txt b/compiler/tools/fpp-to-json/test/matchedPorts.ref.txt index 649fec19b2..370098fe5c 100644 --- a/compiler/tools/fpp-to-json/test/matchedPorts.ref.txt +++ b/compiler/tools/fpp-to-json/test/matchedPorts.ref.txt @@ -88,7 +88,7 @@ "name" : "Svc" } }, - "id" : 3 + "id" : 5 } }, "name" : { @@ -99,7 +99,7 @@ } } }, - "id" : 5 + "id" : 6 } } }, @@ -107,7 +107,7 @@ "queueFull" : "None" } }, - "id" : 6 + "id" : 7 } } } @@ -139,7 +139,7 @@ "value" : "numPingPorts" } }, - "id" : 7 + "id" : 8 } } }, @@ -155,18 +155,18 @@ "name" : "Svc" } }, - "id" : 8 + "id" : 11 } }, "name" : { "AstNode" : { "data" : "Ping", - "id" : 9 + "id" : 10 } } } }, - "id" : 10 + "id" : 12 } } }, @@ -174,7 +174,7 @@ "queueFull" : "None" } }, - "id" : 11 + "id" : 13 } } } @@ -194,17 +194,17 @@ "port1" : { "AstNode" : { "data" : "pingOut", - "id" : 18 + "id" : 20 } }, "port2" : { "AstNode" : { "data" : "pingIn", - "id" : 19 + "id" : 21 } } }, - "id" : 20 + "id" : 22 } } } @@ -214,7 +214,7 @@ ] ] }, - "id" : 21 + "id" : 23 } } } @@ -245,7 +245,7 @@ ], "returnType" : "None" }, - "id" : 24 + "id" : 26 } } } @@ -255,7 +255,7 @@ ] ] }, - "id" : 25 + "id" : 27 } } } @@ -273,132 +273,170 @@ "0" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/matchedPorts.fpp", "pos" : "2.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "1" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/matchedPorts.fpp", "pos" : "2.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "2" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/matchedPorts.fpp", "pos" : "7.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "3" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/matchedPorts.fpp", "pos" : "7.39", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "4" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/matchedPorts.fpp", "pos" : "7.43", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "5" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/matchedPorts.fpp", "pos" : "7.39", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "6" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/matchedPorts.fpp", - "pos" : "7.3", - "includingLoc" : "None" + "pos" : "7.39", + "includingLoc" : "None", + "expandingLoc" : "None" }, "7" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/matchedPorts.fpp", - "pos" : "10.29", - "includingLoc" : "None" + "pos" : "7.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "8" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/matchedPorts.fpp", - "pos" : "10.43", - "includingLoc" : "None" + "pos" : "10.29", + "includingLoc" : "None", + "expandingLoc" : "None" }, "9" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/matchedPorts.fpp", - "pos" : "10.47", - "includingLoc" : "None" + "pos" : "10.43", + "includingLoc" : "None", + "expandingLoc" : "None" }, "10" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/matchedPorts.fpp", - "pos" : "10.43", - "includingLoc" : "None" + "pos" : "10.47", + "includingLoc" : "None", + "expandingLoc" : "None" }, "11" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/matchedPorts.fpp", - "pos" : "10.3", - "includingLoc" : "None" + "pos" : "10.43", + "includingLoc" : "None", + "expandingLoc" : "None" }, "12" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/matchedPorts.fpp", - "pos" : "13.9", - "includingLoc" : "None" + "pos" : "10.43", + "includingLoc" : "None", + "expandingLoc" : "None" }, "13" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/matchedPorts.fpp", - "pos" : "13.22", - "includingLoc" : "None" + "pos" : "10.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "14" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/matchedPorts.fpp", - "pos" : "13.3", - "includingLoc" : "None" + "pos" : "13.9", + "includingLoc" : "None", + "expandingLoc" : "None" }, "15" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/matchedPorts.fpp", - "pos" : "13.9", - "includingLoc" : "None" + "pos" : "13.22", + "includingLoc" : "None", + "expandingLoc" : "None" }, "16" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/matchedPorts.fpp", - "pos" : "13.22", - "includingLoc" : "None" + "pos" : "13.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "17" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/matchedPorts.fpp", - "pos" : "13.3", - "includingLoc" : "None" + "pos" : "13.9", + "includingLoc" : "None", + "expandingLoc" : "None" }, "18" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/matchedPorts.fpp", - "pos" : "13.9", - "includingLoc" : "None" + "pos" : "13.22", + "includingLoc" : "None", + "expandingLoc" : "None" }, "19" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/matchedPorts.fpp", - "pos" : "13.22", - "includingLoc" : "None" + "pos" : "13.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "20" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/matchedPorts.fpp", - "pos" : "13.3", - "includingLoc" : "None" + "pos" : "13.9", + "includingLoc" : "None", + "expandingLoc" : "None" }, "21" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/matchedPorts.fpp", - "pos" : "4.1", - "includingLoc" : "None" + "pos" : "13.22", + "includingLoc" : "None", + "expandingLoc" : "None" }, "22" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/matchedPorts.fpp", - "pos" : "18.3", - "includingLoc" : "None" + "pos" : "13.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "23" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/matchedPorts.fpp", - "pos" : "18.3", - "includingLoc" : "None" + "pos" : "4.1", + "includingLoc" : "None", + "expandingLoc" : "None" }, "24" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/matchedPorts.fpp", "pos" : "18.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "25" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/matchedPorts.fpp", + "pos" : "18.3", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "26" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/matchedPorts.fpp", + "pos" : "18.3", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "27" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/matchedPorts.fpp", "pos" : "17.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } } } @@ -409,9 +447,9 @@ }, "componentMap" : { - "21" : { + "23" : { "aNode" : { - "astNodeId" : 21 + "astNodeId" : 23 }, "portInterface" : { "instanceType" : "component", @@ -419,7 +457,7 @@ "pingIn" : { "General" : { "aNode" : { - "astNodeId" : 11 + "astNodeId" : 13 }, "specifier" : { "kind" : { @@ -430,12 +468,12 @@ "name" : "pingIn", "size" : { "Some" : { - "astNodeId" : 7 + "astNodeId" : 8 } }, "port" : { "Some" : { - "astNodeId" : 10 + "astNodeId" : 12 } }, "priority" : "None", @@ -447,7 +485,7 @@ "DefPort" : { "symbol" : { "Port" : { - "nodeId" : 24, + "nodeId" : 26, "unqualifiedName" : "Ping" } } @@ -460,7 +498,7 @@ "pingOut" : { "General" : { "aNode" : { - "astNodeId" : 6 + "astNodeId" : 7 }, "specifier" : { "kind" : { @@ -476,7 +514,7 @@ }, "port" : { "Some" : { - "astNodeId" : 5 + "astNodeId" : 6 } }, "priority" : "None", @@ -488,7 +526,7 @@ "DefPort" : { "symbol" : { "Port" : { - "nodeId" : 24, + "nodeId" : 26, "unqualifiedName" : "Ping" } } @@ -523,7 +561,7 @@ }, "specPortMatchingList" : [ { - "astNodeId" : 20 + "astNodeId" : 22 } ], "stateMachineInstanceMap" : { @@ -532,11 +570,11 @@ "portMatchingList" : [ { "aNode" : { - "astNodeId" : 20 + "astNodeId" : 22 }, "instance1" : { "aNode" : { - "astNodeId" : 6 + "astNodeId" : 7 }, "specifier" : { "kind" : { @@ -552,7 +590,7 @@ }, "port" : { "Some" : { - "astNodeId" : 5 + "astNodeId" : 6 } }, "priority" : "None", @@ -564,7 +602,7 @@ "DefPort" : { "symbol" : { "Port" : { - "nodeId" : 24, + "nodeId" : 26, "unqualifiedName" : "Ping" } } @@ -575,7 +613,7 @@ }, "instance2" : { "aNode" : { - "astNodeId" : 11 + "astNodeId" : 13 }, "specifier" : { "kind" : { @@ -586,12 +624,12 @@ "name" : "pingIn", "size" : { "Some" : { - "astNodeId" : 7 + "astNodeId" : 8 } }, "port" : { "Some" : { - "astNodeId" : 10 + "astNodeId" : 12 } }, "priority" : "None", @@ -603,7 +641,7 @@ "DefPort" : { "symbol" : { "Port" : { - "nodeId" : 24, + "nodeId" : 26, "unqualifiedName" : "Ping" } } @@ -641,26 +679,26 @@ "locationSpecifierMap" : [ ], "parentSymbolMap" : { - "24" : { + "26" : { "Module" : { - "nodeId" : 25, + "nodeId" : 27, "unqualifiedName" : "Svc" } } }, "symbolScopeMap" : { - "21" : { + "23" : { "map" : { } }, - "25" : { + "27" : { "map" : { "Port" : { "map" : { "Ping" : { "Port" : { - "nodeId" : 24, + "nodeId" : 26, "unqualifiedName" : "Ping" } } @@ -694,7 +732,7 @@ } } }, - "7" : { + "8" : { "Int" : { "Integer" : { @@ -709,33 +747,33 @@ "unqualifiedName" : "numPingPorts" } }, - "3" : { + "5" : { "Module" : { - "nodeId" : 25, + "nodeId" : 27, "unqualifiedName" : "Svc" } }, - "5" : { + "6" : { "Port" : { - "nodeId" : 24, + "nodeId" : 26, "unqualifiedName" : "Ping" } }, - "7" : { + "8" : { "Constant" : { "nodeId" : 1, "unqualifiedName" : "numPingPorts" } }, - "8" : { + "11" : { "Module" : { - "nodeId" : 25, + "nodeId" : 27, "unqualifiedName" : "Svc" } }, - "10" : { + "12" : { "Port" : { - "nodeId" : 24, + "nodeId" : 26, "unqualifiedName" : "Ping" } } @@ -756,7 +794,7 @@ "value" : 10 } }, - "7" : { + "8" : { "Integer" : { "value" : 10 } diff --git a/compiler/tools/fpp-to-json/test/modules.ref.txt b/compiler/tools/fpp-to-json/test/modules.ref.txt index c9cba21bb6..cb639959d7 100644 --- a/compiler/tools/fpp-to-json/test/modules.ref.txt +++ b/compiler/tools/fpp-to-json/test/modules.ref.txt @@ -406,317 +406,380 @@ "0" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "3.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "1" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "3.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "2" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "4.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "3" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "4.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "4" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "5.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "5" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "5.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "6" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "5.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "7" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "5.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "8" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "5.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "9" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "5.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "10" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "5.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "11" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "5.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "12" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "5.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "13" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "5.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "14" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "5.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "15" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "5.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "16" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "2.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "17" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "8.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "18" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "8.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "19" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "8.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "20" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "8.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "21" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "11.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "22" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "11.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "23" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "11.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "24" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "11.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "25" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "11.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "26" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "11.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "27" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "10.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "28" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "14.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "29" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "14.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "30" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "14.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "31" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "14.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "32" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "14.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "33" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "14.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "34" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "13.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "35" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "19.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "36" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "19.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "37" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "19.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "38" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "19.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "39" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "19.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "40" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "19.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "41" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "18.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "42" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "19.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "43" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "19.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "44" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "19.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "45" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "19.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "46" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "19.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "47" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "19.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "48" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "18.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "49" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "19.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "50" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "19.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "51" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "19.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "52" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "19.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "53" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "19.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "54" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "19.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "55" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "18.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "56" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "17.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "57" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "22.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "58" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "22.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "59" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "22.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "60" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "22.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "61" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "22.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "62" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/modules.fpp", "pos" : "22.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } } } @@ -901,6 +964,16 @@ } } }, + "Template" : { + "map" : { + "B" : { + "Module" : { + "nodeId" : 55, + "unqualifiedName" : "B" + } + } + } + }, "Type" : { "map" : { "B" : { diff --git a/compiler/tools/fpp-to-json/test/parameters.ref.txt b/compiler/tools/fpp-to-json/test/parameters.ref.txt index 0e08597ee6..0e84496034 100644 --- a/compiler/tools/fpp-to-json/test/parameters.ref.txt +++ b/compiler/tools/fpp-to-json/test/parameters.ref.txt @@ -639,222 +639,266 @@ "0" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "2.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "1" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "2.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "2" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "2.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "3" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "12.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "4" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "15.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "5" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "18.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "6" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "21.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "7" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "24.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "8" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "33.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "9" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "33.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "10" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "33.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "11" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "38.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "12" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "39.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "13" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "40.8", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "14" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "41.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "15" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "42.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "16" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "38.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "17" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "47.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "18" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "47.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "19" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "47.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "20" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "48.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "21" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "48.20", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "22" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "48.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "23" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "48.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "24" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "49.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "25" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "47.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "26" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "54.26", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "27" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "55.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "28" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "54.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "29" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "54.26", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "30" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "55.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "31" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "54.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "32" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "54.26", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "33" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "55.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "34" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "54.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "35" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "5.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "36" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "60.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "37" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "61.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "38" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "62.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "39" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "63.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "40" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "64.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "41" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "64.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "42" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "64.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "43" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/parameters.fpp", "pos" : "59.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } } } @@ -1378,7 +1422,8 @@ } } } - ] + ], + "scalar" : "None" }, "t" : { "node" : { @@ -1443,7 +1488,8 @@ } } } - ] + ], + "scalar" : "None" }, "t" : { "node" : { @@ -1499,7 +1545,8 @@ } } } - ] + ], + "scalar" : "None" }, "t" : { "node" : { @@ -1754,7 +1801,8 @@ } } } - ] + ], + "scalar" : "None" }, "t" : { "node" : { @@ -1900,7 +1948,8 @@ } } } - ] + ], + "scalar" : "None" }, "t" : { "node" : { @@ -2049,6 +2098,36 @@ "nodeId" : 2, "unqualifiedName" : "F64x3" } + }, + "44" : { + "Module" : { + "nodeId" : 43, + "unqualifiedName" : "Fw" + } + }, + "45" : { + "Module" : { + "nodeId" : 43, + "unqualifiedName" : "Fw" + } + }, + "46" : { + "Module" : { + "nodeId" : 43, + "unqualifiedName" : "Fw" + } + }, + "47" : { + "Module" : { + "nodeId" : 43, + "unqualifiedName" : "Fw" + } + }, + "48" : { + "Module" : { + "nodeId" : 43, + "unqualifiedName" : "Fw" + } } }, "valueMap" : { @@ -2150,7 +2229,8 @@ } } } - ] + ], + "scalar" : "None" } }, "24" : { diff --git a/compiler/tools/fpp-to-json/test/passiveComponent.ref.txt b/compiler/tools/fpp-to-json/test/passiveComponent.ref.txt index 5b5b7592d5..ac9c8dbcd9 100644 --- a/compiler/tools/fpp-to-json/test/passiveComponent.ref.txt +++ b/compiler/tools/fpp-to-json/test/passiveComponent.ref.txt @@ -58,18 +58,18 @@ "name" : "Svc" } }, - "id" : 30 + "id" : 34 } }, "name" : { "AstNode" : { "data" : "Sched", - "id" : 31 + "id" : 33 } } } }, - "id" : 32 + "id" : 35 } } }, @@ -77,7 +77,7 @@ "queueFull" : "None" } }, - "id" : 33 + "id" : 36 } } } @@ -106,7 +106,7 @@ "queueFull" : "None" } }, - "id" : 34 + "id" : 37 } } } @@ -135,7 +135,7 @@ "queueFull" : "None" } }, - "id" : 35 + "id" : 38 } } } @@ -164,7 +164,7 @@ } } }, - "id" : 36 + "id" : 39 } }, "id" : "None", @@ -175,7 +175,7 @@ "high" : [ ] }, - "id" : 37 + "id" : 40 } } } @@ -204,7 +204,7 @@ } } }, - "id" : 42 + "id" : 45 } }, "id" : "None", @@ -215,7 +215,7 @@ "high" : [ ] }, - "id" : 43 + "id" : 46 } } } @@ -225,7 +225,7 @@ ] ] }, - "id" : 44 + "id" : 47 } } } @@ -235,7 +235,7 @@ ] ] }, - "id" : 45 + "id" : 48 } } } @@ -274,18 +274,18 @@ "name" : "Sensors" } }, - "id" : 56 + "id" : 63 } }, "name" : { "AstNode" : { "data" : "EngineTemp", - "id" : 57 + "id" : 62 } } } }, - "id" : 58 + "id" : 64 } }, "baseId" : { @@ -295,7 +295,7 @@ "value" : "0x100" } }, - "id" : 59 + "id" : 65 } }, "implType" : "None", @@ -307,7 +307,7 @@ "initSpecs" : [ ] }, - "id" : 60 + "id" : 66 } } } @@ -317,7 +317,7 @@ ] ] }, - "id" : 61 + "id" : 67 } } } @@ -348,7 +348,7 @@ ], "returnType" : "None" }, - "id" : 64 + "id" : 70 } } } @@ -358,7 +358,7 @@ ] ] }, - "id" : 65 + "id" : 71 } } } @@ -389,7 +389,7 @@ ], "returnType" : "None" }, - "id" : 66 + "id" : 72 } } } @@ -410,7 +410,7 @@ ], "returnType" : "None" }, - "id" : 69 + "id" : 75 } } } @@ -420,7 +420,7 @@ ] ] }, - "id" : 70 + "id" : 76 } } } @@ -438,357 +438,464 @@ "0" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", "pos" : "7.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "1" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", "pos" : "7.34", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "2" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", "pos" : "7.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "3" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "7.5", - "includingLoc" : "None" + "pos" : "7.30", + "includingLoc" : "None", + "expandingLoc" : "None" }, "4" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "10.5", - "includingLoc" : "None" + "pos" : "7.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "5" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "13.5", - "includingLoc" : "None" + "pos" : "10.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "6" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "16.28", - "includingLoc" : "None" + "pos" : "13.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "7" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "16.5", - "includingLoc" : "None" + "pos" : "16.28", + "includingLoc" : "None", + "expandingLoc" : "None" }, "8" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "19.25", - "includingLoc" : "None" + "pos" : "16.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "9" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "19.5", - "includingLoc" : "None" + "pos" : "19.25", + "includingLoc" : "None", + "expandingLoc" : "None" }, "10" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "19.25", - "includingLoc" : "None" + "pos" : "19.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "11" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "19.5", - "includingLoc" : "None" + "pos" : "19.25", + "includingLoc" : "None", + "expandingLoc" : "None" }, "12" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "19.25", - "includingLoc" : "None" + "pos" : "19.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "13" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "19.5", - "includingLoc" : "None" + "pos" : "19.25", + "includingLoc" : "None", + "expandingLoc" : "None" }, "14" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "4.3", - "includingLoc" : "None" + "pos" : "19.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "15" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "7.30", - "includingLoc" : "None" + "pos" : "4.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "16" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "7.34", - "includingLoc" : "None" + "pos" : "7.30", + "includingLoc" : "None", + "expandingLoc" : "None" }, "17" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "7.30", - "includingLoc" : "None" + "pos" : "7.34", + "includingLoc" : "None", + "expandingLoc" : "None" }, "18" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "7.5", - "includingLoc" : "None" + "pos" : "7.30", + "includingLoc" : "None", + "expandingLoc" : "None" }, "19" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "10.5", - "includingLoc" : "None" + "pos" : "7.30", + "includingLoc" : "None", + "expandingLoc" : "None" }, "20" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "13.5", - "includingLoc" : "None" + "pos" : "7.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "21" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "16.28", - "includingLoc" : "None" + "pos" : "10.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "22" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "16.5", - "includingLoc" : "None" + "pos" : "13.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "23" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "19.25", - "includingLoc" : "None" + "pos" : "16.28", + "includingLoc" : "None", + "expandingLoc" : "None" }, "24" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "19.5", - "includingLoc" : "None" + "pos" : "16.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "25" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", "pos" : "19.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "26" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", "pos" : "19.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "27" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", "pos" : "19.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "28" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", "pos" : "19.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "29" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "4.3", - "includingLoc" : "None" + "pos" : "19.25", + "includingLoc" : "None", + "expandingLoc" : "None" }, "30" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "7.30", - "includingLoc" : "None" + "pos" : "19.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "31" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "7.34", - "includingLoc" : "None" + "pos" : "4.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "32" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", "pos" : "7.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "33" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "7.5", - "includingLoc" : "None" + "pos" : "7.34", + "includingLoc" : "None", + "expandingLoc" : "None" }, "34" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "10.5", - "includingLoc" : "None" + "pos" : "7.30", + "includingLoc" : "None", + "expandingLoc" : "None" }, "35" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "13.5", - "includingLoc" : "None" + "pos" : "7.30", + "includingLoc" : "None", + "expandingLoc" : "None" }, "36" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "16.28", - "includingLoc" : "None" + "pos" : "7.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "37" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "16.5", - "includingLoc" : "None" + "pos" : "10.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "38" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "19.25", - "includingLoc" : "None" + "pos" : "13.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "39" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "19.5", - "includingLoc" : "None" + "pos" : "16.28", + "includingLoc" : "None", + "expandingLoc" : "None" }, "40" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "19.25", - "includingLoc" : "None" + "pos" : "16.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "41" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "19.5", - "includingLoc" : "None" + "pos" : "19.25", + "includingLoc" : "None", + "expandingLoc" : "None" }, "42" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "19.25", - "includingLoc" : "None" + "pos" : "19.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "43" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "19.5", - "includingLoc" : "None" + "pos" : "19.25", + "includingLoc" : "None", + "expandingLoc" : "None" }, "44" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "4.3", - "includingLoc" : "None" + "pos" : "19.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "45" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "1.1", - "includingLoc" : "None" + "pos" : "19.25", + "includingLoc" : "None", + "expandingLoc" : "None" }, "46" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "28.24", - "includingLoc" : "None" + "pos" : "19.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "47" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "28.32", - "includingLoc" : "None" + "pos" : "4.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "48" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "28.24", - "includingLoc" : "None" + "pos" : "1.1", + "includingLoc" : "None", + "expandingLoc" : "None" }, "49" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "28.51", - "includingLoc" : "None" + "pos" : "28.24", + "includingLoc" : "None", + "expandingLoc" : "None" }, "50" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "28.3", - "includingLoc" : "None" + "pos" : "28.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "51" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", "pos" : "28.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "52" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "28.32", - "includingLoc" : "None" + "pos" : "28.24", + "includingLoc" : "None", + "expandingLoc" : "None" }, "53" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "28.24", - "includingLoc" : "None" + "pos" : "28.51", + "includingLoc" : "None", + "expandingLoc" : "None" }, "54" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "28.51", - "includingLoc" : "None" + "pos" : "28.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "55" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "28.3", - "includingLoc" : "None" + "pos" : "28.24", + "includingLoc" : "None", + "expandingLoc" : "None" }, "56" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "28.24", - "includingLoc" : "None" + "pos" : "28.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "57" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "28.32", - "includingLoc" : "None" + "pos" : "28.24", + "includingLoc" : "None", + "expandingLoc" : "None" }, "58" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", "pos" : "28.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "59" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", "pos" : "28.51", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "60" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", "pos" : "28.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "61" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "25.1", - "includingLoc" : "None" + "pos" : "28.24", + "includingLoc" : "None", + "expandingLoc" : "None" }, "62" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "33.3", - "includingLoc" : "None" + "pos" : "28.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "63" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "33.3", - "includingLoc" : "None" + "pos" : "28.24", + "includingLoc" : "None", + "expandingLoc" : "None" }, "64" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "33.3", - "includingLoc" : "None" + "pos" : "28.24", + "includingLoc" : "None", + "expandingLoc" : "None" }, "65" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "32.1", - "includingLoc" : "None" + "pos" : "28.51", + "includingLoc" : "None", + "expandingLoc" : "None" }, "66" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "37.3", - "includingLoc" : "None" + "pos" : "28.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "67" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "38.3", - "includingLoc" : "None" + "pos" : "25.1", + "includingLoc" : "None", + "expandingLoc" : "None" }, "68" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "38.3", - "includingLoc" : "None" + "pos" : "33.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "69" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", - "pos" : "38.3", - "includingLoc" : "None" + "pos" : "33.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "70" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", + "pos" : "33.3", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "71" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", + "pos" : "32.1", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "72" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", + "pos" : "37.3", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "73" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", + "pos" : "38.3", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "74" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", + "pos" : "38.3", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "75" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", + "pos" : "38.3", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "76" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/passiveComponent.fpp", "pos" : "36.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } } } @@ -796,9 +903,9 @@ "fppVersion" : "[ fpp version ]", "analysis" : { "componentInstanceMap" : { - "60" : { + "66" : { "aNode" : { - "astNodeId" : 60 + "astNodeId" : 66 }, "qualifiedName" : { "qualifier" : [ @@ -807,7 +914,7 @@ "base" : "engineTemp" }, "component" : { - "astNodeId" : 44 + "astNodeId" : 47 }, "baseId" : 256, "maxId" : 257, @@ -822,9 +929,9 @@ } }, "componentMap" : { - "44" : { + "47" : { "aNode" : { - "astNodeId" : 44 + "astNodeId" : 47 }, "portInterface" : { "instanceType" : "component", @@ -832,7 +939,7 @@ "schedIn" : { "General" : { "aNode" : { - "astNodeId" : 33 + "astNodeId" : 36 }, "specifier" : { "kind" : { @@ -844,7 +951,7 @@ "size" : "None", "port" : { "Some" : { - "astNodeId" : 32 + "astNodeId" : 35 } }, "priority" : "None", @@ -856,7 +963,7 @@ "DefPort" : { "symbol" : { "Port" : { - "nodeId" : 64, + "nodeId" : 70, "unqualifiedName" : "Sched" } } @@ -869,7 +976,7 @@ "timeGetOut" : { "Special" : { "aNode" : { - "astNodeId" : 35 + "astNodeId" : 38 }, "specifier" : { "inputKind" : "None", @@ -884,7 +991,7 @@ }, "symbol" : { "Port" : { - "nodeId" : 69, + "nodeId" : 75, "unqualifiedName" : "Time" } }, @@ -897,7 +1004,7 @@ "tlmOut" : { "Special" : { "aNode" : { - "astNodeId" : 34 + "astNodeId" : 37 }, "specifier" : { "inputKind" : "None", @@ -912,7 +1019,7 @@ }, "symbol" : { "Port" : { - "nodeId" : 66, + "nodeId" : 72, "unqualifiedName" : "Tlm" } }, @@ -926,7 +1033,7 @@ "specialPortMap" : { "telemetry" : { "aNode" : { - "astNodeId" : 34 + "astNodeId" : 37 }, "specifier" : { "inputKind" : "None", @@ -941,7 +1048,7 @@ }, "symbol" : { "Port" : { - "nodeId" : 66, + "nodeId" : 72, "unqualifiedName" : "Tlm" } }, @@ -952,7 +1059,7 @@ }, "time get" : { "aNode" : { - "astNodeId" : 35 + "astNodeId" : 38 }, "specifier" : { "inputKind" : "None", @@ -967,7 +1074,7 @@ }, "symbol" : { "Port" : { - "nodeId" : 69, + "nodeId" : 75, "unqualifiedName" : "Time" } }, @@ -985,7 +1092,7 @@ "tlmChannelMap" : { "0" : { "aNode" : { - "astNodeId" : 37 + "astNodeId" : 40 }, "channelType" : { "Primitive" : { @@ -1013,7 +1120,7 @@ }, "1" : { "aNode" : { - "astNodeId" : 43 + "astNodeId" : 46 }, "channelType" : { "Primitive" : { @@ -1043,7 +1150,7 @@ "tlmChannelNameMap" : { "ImpulseTemp" : { "aNode" : { - "astNodeId" : 37 + "astNodeId" : 40 }, "channelType" : { "Primitive" : { @@ -1071,7 +1178,7 @@ }, "WarpTemp" : { "aNode" : { - "astNodeId" : 43 + "astNodeId" : 46 }, "channelType" : { "Primitive" : { @@ -1140,50 +1247,50 @@ "locationSpecifierMap" : [ ], "parentSymbolMap" : { - "44" : { + "47" : { "Module" : { - "nodeId" : 45, + "nodeId" : 48, "unqualifiedName" : "Sensors" } }, - "60" : { + "66" : { "Module" : { - "nodeId" : 61, + "nodeId" : 67, "unqualifiedName" : "FSW" } }, - "64" : { + "70" : { "Module" : { - "nodeId" : 65, + "nodeId" : 71, "unqualifiedName" : "Svc" } }, - "66" : { + "72" : { "Module" : { - "nodeId" : 70, + "nodeId" : 76, "unqualifiedName" : "Fw" } }, - "69" : { + "75" : { "Module" : { - "nodeId" : 70, + "nodeId" : 76, "unqualifiedName" : "Fw" } } }, "symbolScopeMap" : { - "44" : { + "47" : { "map" : { } }, - "45" : { + "48" : { "map" : { "Component" : { "map" : { "EngineTemp" : { "Component" : { - "nodeId" : 44, + "nodeId" : 47, "unqualifiedName" : "EngineTemp" } } @@ -1193,7 +1300,7 @@ "map" : { "EngineTemp" : { "Component" : { - "nodeId" : 44, + "nodeId" : 47, "unqualifiedName" : "EngineTemp" } } @@ -1203,7 +1310,7 @@ "map" : { "EngineTemp" : { "Component" : { - "nodeId" : 44, + "nodeId" : 47, "unqualifiedName" : "EngineTemp" } } @@ -1213,7 +1320,7 @@ "map" : { "EngineTemp" : { "Component" : { - "nodeId" : 44, + "nodeId" : 47, "unqualifiedName" : "EngineTemp" } } @@ -1221,13 +1328,13 @@ } } }, - "61" : { + "67" : { "map" : { "PortInterfaceInstance" : { "map" : { "engineTemp" : { "ComponentInstance" : { - "nodeId" : 60, + "nodeId" : 66, "unqualifiedName" : "engineTemp" } } @@ -1235,13 +1342,13 @@ } } }, - "65" : { + "71" : { "map" : { "Port" : { "map" : { "Sched" : { "Port" : { - "nodeId" : 64, + "nodeId" : 70, "unqualifiedName" : "Sched" } } @@ -1249,19 +1356,19 @@ } } }, - "70" : { + "76" : { "map" : { "Port" : { "map" : { "Time" : { "Port" : { - "nodeId" : 69, + "nodeId" : 75, "unqualifiedName" : "Time" } }, "Tlm" : { "Port" : { - "nodeId" : 66, + "nodeId" : 72, "unqualifiedName" : "Tlm" } } @@ -1274,7 +1381,7 @@ }, "typeMap" : { - "36" : { + "39" : { "Primitive" : { "Float" : { "kind" : { @@ -1285,7 +1392,7 @@ } } }, - "42" : { + "45" : { "Primitive" : { "Float" : { "kind" : { @@ -1296,7 +1403,7 @@ } } }, - "59" : { + "65" : { "Int" : { "Integer" : { @@ -1305,45 +1412,57 @@ } }, "useDefMap" : { - "30" : { + "34" : { "Module" : { - "nodeId" : 65, + "nodeId" : 71, "unqualifiedName" : "Svc" } }, - "32" : { + "35" : { "Port" : { - "nodeId" : 64, + "nodeId" : 70, "unqualifiedName" : "Sched" } }, - "34" : { + "37" : { "Port" : { - "nodeId" : 66, + "nodeId" : 72, "unqualifiedName" : "Tlm" } }, - "35" : { + "38" : { "Port" : { - "nodeId" : 69, + "nodeId" : 75, "unqualifiedName" : "Time" } }, - "56" : { + "63" : { "Module" : { - "nodeId" : 45, + "nodeId" : 48, "unqualifiedName" : "Sensors" } }, - "58" : { + "64" : { "Component" : { - "nodeId" : 44, + "nodeId" : 47, "unqualifiedName" : "EngineTemp" } + }, + "77" : { + "Module" : { + "nodeId" : 76, + "unqualifiedName" : "Fw" + } + }, + "78" : { + "Module" : { + "nodeId" : 76, + "unqualifiedName" : "Fw" + } } }, "valueMap" : { - "59" : { + "65" : { "Integer" : { "value" : 256 } diff --git a/compiler/tools/fpp-to-json/test/patternedConnections.ref.txt b/compiler/tools/fpp-to-json/test/patternedConnections.ref.txt index 8843a6b786..91f23b1952 100644 --- a/compiler/tools/fpp-to-json/test/patternedConnections.ref.txt +++ b/compiler/tools/fpp-to-json/test/patternedConnections.ref.txt @@ -46,18 +46,18 @@ "name" : "Fw" } }, - "id" : 8 + "id" : 12 } }, "name" : { "AstNode" : { "data" : "Time", - "id" : 9 + "id" : 11 } } } }, - "id" : 10 + "id" : 13 } } }, @@ -65,7 +65,7 @@ "queueFull" : "None" } }, - "id" : 11 + "id" : 14 } } } @@ -75,7 +75,7 @@ ] ] }, - "id" : 12 + "id" : 15 } } } @@ -126,18 +126,18 @@ "name" : "Fw" } }, - "id" : 13 + "id" : 18 } }, "name" : { "AstNode" : { "data" : "Cmd", - "id" : 14 + "id" : 17 } } } }, - "id" : 15 + "id" : 19 } } }, @@ -145,7 +145,7 @@ "queueFull" : "None" } }, - "id" : 16 + "id" : 20 } } } @@ -181,18 +181,18 @@ "name" : "Fw" } }, - "id" : 17 + "id" : 23 } }, "name" : { "AstNode" : { "data" : "CmdReg", - "id" : 18 + "id" : 22 } } } }, - "id" : 19 + "id" : 24 } } }, @@ -200,7 +200,7 @@ "queueFull" : "None" } }, - "id" : 20 + "id" : 25 } } } @@ -236,18 +236,18 @@ "name" : "Fw" } }, - "id" : 21 + "id" : 28 } }, "name" : { "AstNode" : { "data" : "CmdResponse", - "id" : 22 + "id" : 27 } } } }, - "id" : 23 + "id" : 29 } } }, @@ -255,7 +255,7 @@ "queueFull" : "None" } }, - "id" : 24 + "id" : 30 } } } @@ -291,18 +291,18 @@ "name" : "Fw" } }, - "id" : 33 + "id" : 43 } }, "name" : { "AstNode" : { "data" : "Cmd", - "id" : 34 + "id" : 42 } } } }, - "id" : 35 + "id" : 44 } } }, @@ -310,7 +310,7 @@ "queueFull" : "None" } }, - "id" : 36 + "id" : 45 } } } @@ -320,7 +320,7 @@ ] ] }, - "id" : 37 + "id" : 46 } } } @@ -371,18 +371,18 @@ "name" : "Fw" } }, - "id" : 46 + "id" : 59 } }, "name" : { "AstNode" : { "data" : "Log", - "id" : 47 + "id" : 58 } } } }, - "id" : 48 + "id" : 60 } } }, @@ -390,7 +390,7 @@ "queueFull" : "None" } }, - "id" : 49 + "id" : 61 } } } @@ -400,7 +400,7 @@ ] ] }, - "id" : 50 + "id" : 62 } } } @@ -451,18 +451,18 @@ "name" : "Svc" } }, - "id" : 51 + "id" : 65 } }, "name" : { "AstNode" : { "data" : "Ping", - "id" : 52 + "id" : 64 } } } }, - "id" : 53 + "id" : 66 } } }, @@ -470,7 +470,7 @@ "queueFull" : "None" } }, - "id" : 54 + "id" : 67 } } } @@ -506,18 +506,18 @@ "name" : "Svc" } }, - "id" : 63 + "id" : 80 } }, "name" : { "AstNode" : { "data" : "Ping", - "id" : 64 + "id" : 79 } } } }, - "id" : 65 + "id" : 81 } } }, @@ -525,7 +525,7 @@ "queueFull" : "None" } }, - "id" : 66 + "id" : 82 } } } @@ -535,7 +535,7 @@ ] ] }, - "id" : 67 + "id" : 83 } } } @@ -586,18 +586,18 @@ "name" : "Fw" } }, - "id" : 68 + "id" : 86 } }, "name" : { "AstNode" : { "data" : "PrmGet", - "id" : 69 + "id" : 85 } } } }, - "id" : 70 + "id" : 87 } } }, @@ -605,7 +605,7 @@ "queueFull" : "None" } }, - "id" : 71 + "id" : 88 } } } @@ -641,18 +641,18 @@ "name" : "Fw" } }, - "id" : 80 + "id" : 101 } }, "name" : { "AstNode" : { "data" : "PrmSet", - "id" : 81 + "id" : 100 } } } }, - "id" : 82 + "id" : 102 } } }, @@ -660,7 +660,7 @@ "queueFull" : "None" } }, - "id" : 83 + "id" : 103 } } } @@ -670,7 +670,7 @@ ] ] }, - "id" : 84 + "id" : 104 } } } @@ -721,18 +721,18 @@ "name" : "Fw" } }, - "id" : 93 + "id" : 117 } }, "name" : { "AstNode" : { "data" : "Tlm", - "id" : 94 + "id" : 116 } } } }, - "id" : 95 + "id" : 118 } } }, @@ -740,7 +740,7 @@ "queueFull" : "None" } }, - "id" : 96 + "id" : 119 } } } @@ -750,7 +750,7 @@ ] ] }, - "id" : 97 + "id" : 120 } } } @@ -801,18 +801,18 @@ "name" : "Fw" } }, - "id" : 106 + "id" : 133 } }, "name" : { "AstNode" : { "data" : "LogText", - "id" : 107 + "id" : 132 } } } }, - "id" : 108 + "id" : 134 } } }, @@ -820,7 +820,7 @@ "queueFull" : "None" } }, - "id" : 109 + "id" : 135 } } } @@ -830,7 +830,7 @@ ] ] }, - "id" : 110 + "id" : 136 } } } @@ -854,7 +854,7 @@ "name" : "Time" } }, - "id" : 112 + "id" : 138 } }, "baseId" : { @@ -864,7 +864,7 @@ "value" : "0x100" } }, - "id" : 113 + "id" : 139 } }, "implType" : "None", @@ -876,7 +876,7 @@ "initSpecs" : [ ] }, - "id" : 114 + "id" : 140 } } } @@ -900,7 +900,7 @@ "name" : "Command" } }, - "id" : 116 + "id" : 142 } }, "baseId" : { @@ -910,7 +910,7 @@ "value" : "0x200" } }, - "id" : 117 + "id" : 143 } }, "implType" : "None", @@ -922,7 +922,7 @@ "initSpecs" : [ ] }, - "id" : 118 + "id" : 144 } } } @@ -946,7 +946,7 @@ "name" : "Event" } }, - "id" : 120 + "id" : 146 } }, "baseId" : { @@ -956,7 +956,7 @@ "value" : "0x300" } }, - "id" : 121 + "id" : 147 } }, "implType" : "None", @@ -968,7 +968,7 @@ "initSpecs" : [ ] }, - "id" : 122 + "id" : 148 } } } @@ -992,7 +992,7 @@ "name" : "Health" } }, - "id" : 124 + "id" : 150 } }, "baseId" : { @@ -1002,7 +1002,7 @@ "value" : "0x400" } }, - "id" : 125 + "id" : 151 } }, "implType" : "None", @@ -1014,7 +1014,7 @@ "initSpecs" : [ ] }, - "id" : 126 + "id" : 152 } } } @@ -1038,7 +1038,7 @@ "name" : "Param" } }, - "id" : 128 + "id" : 154 } }, "baseId" : { @@ -1048,7 +1048,7 @@ "value" : "0x500" } }, - "id" : 129 + "id" : 155 } }, "implType" : "None", @@ -1060,7 +1060,7 @@ "initSpecs" : [ ] }, - "id" : 130 + "id" : 156 } } } @@ -1084,7 +1084,7 @@ "name" : "Telemetry" } }, - "id" : 132 + "id" : 158 } }, "baseId" : { @@ -1094,7 +1094,7 @@ "value" : "0x600" } }, - "id" : 133 + "id" : 159 } }, "implType" : "None", @@ -1106,7 +1106,7 @@ "initSpecs" : [ ] }, - "id" : 134 + "id" : 160 } } } @@ -1130,7 +1130,7 @@ "name" : "TextEvent" } }, - "id" : 136 + "id" : 162 } }, "baseId" : { @@ -1140,7 +1140,7 @@ "value" : "0x700" } }, - "id" : 137 + "id" : 163 } }, "implType" : "None", @@ -1152,7 +1152,7 @@ "initSpecs" : [ ] }, - "id" : 138 + "id" : 164 } } } @@ -1186,11 +1186,11 @@ "name" : "c1" } }, - "id" : 238 + "id" : 264 } } }, - "id" : 239 + "id" : 265 } } } @@ -1213,11 +1213,11 @@ "name" : "c2" } }, - "id" : 241 + "id" : 267 } } }, - "id" : 242 + "id" : 268 } } } @@ -1240,11 +1240,11 @@ "name" : "c3" } }, - "id" : 244 + "id" : 270 } } }, - "id" : 245 + "id" : 271 } } } @@ -1267,11 +1267,11 @@ "name" : "c4" } }, - "id" : 247 + "id" : 273 } } }, - "id" : 248 + "id" : 274 } } } @@ -1294,11 +1294,11 @@ "name" : "c5" } }, - "id" : 250 + "id" : 276 } } }, - "id" : 251 + "id" : 277 } } } @@ -1321,11 +1321,11 @@ "name" : "c6" } }, - "id" : 253 + "id" : 279 } } }, - "id" : 254 + "id" : 280 } } } @@ -1348,11 +1348,11 @@ "name" : "c7" } }, - "id" : 256 + "id" : 282 } } }, - "id" : 257 + "id" : 283 } } } @@ -1381,14 +1381,14 @@ "name" : "c1" } }, - "id" : 259 + "id" : 285 } }, "targets" : [ ] } }, - "id" : 260 + "id" : 286 } } } @@ -1417,14 +1417,14 @@ "name" : "c2" } }, - "id" : 262 + "id" : 288 } }, "targets" : [ ] } }, - "id" : 263 + "id" : 289 } } } @@ -1453,14 +1453,14 @@ "name" : "c3" } }, - "id" : 265 + "id" : 291 } }, "targets" : [ ] } }, - "id" : 266 + "id" : 292 } } } @@ -1489,14 +1489,14 @@ "name" : "c4" } }, - "id" : 268 + "id" : 294 } }, "targets" : [ ] } }, - "id" : 269 + "id" : 295 } } } @@ -1525,14 +1525,14 @@ "name" : "c5" } }, - "id" : 271 + "id" : 297 } }, "targets" : [ ] } }, - "id" : 272 + "id" : 298 } } } @@ -1561,14 +1561,14 @@ "name" : "c6" } }, - "id" : 274 + "id" : 300 } }, "targets" : [ ] } }, - "id" : 275 + "id" : 301 } } } @@ -1597,14 +1597,14 @@ "name" : "c7" } }, - "id" : 283 + "id" : 309 } }, "targets" : [ ] } }, - "id" : 284 + "id" : 310 } } } @@ -1616,7 +1616,7 @@ "implements" : [ ] }, - "id" : 285 + "id" : 311 } } } @@ -1651,7 +1651,7 @@ ], "returnType" : "None" }, - "id" : 286 + "id" : 312 } } } @@ -1672,7 +1672,7 @@ ], "returnType" : "None" }, - "id" : 287 + "id" : 313 } } } @@ -1693,7 +1693,7 @@ ], "returnType" : "None" }, - "id" : 288 + "id" : 314 } } } @@ -1714,7 +1714,7 @@ ], "returnType" : "None" }, - "id" : 289 + "id" : 315 } } } @@ -1735,7 +1735,7 @@ ], "returnType" : "None" }, - "id" : 290 + "id" : 316 } } } @@ -1756,7 +1756,7 @@ ], "returnType" : "None" }, - "id" : 291 + "id" : 317 } } } @@ -1777,7 +1777,7 @@ ], "returnType" : "None" }, - "id" : 292 + "id" : 318 } } } @@ -1798,7 +1798,7 @@ ], "returnType" : "None" }, - "id" : 293 + "id" : 319 } } } @@ -1819,7 +1819,7 @@ ], "returnType" : "None" }, - "id" : 294 + "id" : 320 } } } @@ -1840,7 +1840,7 @@ ], "returnType" : "None" }, - "id" : 297 + "id" : 323 } } } @@ -1850,7 +1850,7 @@ ] ] }, - "id" : 298 + "id" : 324 } } } @@ -1881,7 +1881,7 @@ ], "returnType" : "None" }, - "id" : 301 + "id" : 327 } } } @@ -1891,7 +1891,7 @@ ] ] }, - "id" : 302 + "id" : 328 } } } @@ -1909,1517 +1909,1976 @@ "0" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "2.34", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "1" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "2.37", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "2" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "2.34", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "3" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "2.5", - "includingLoc" : "None" + "pos" : "2.34", + "includingLoc" : "None", + "expandingLoc" : "None" }, "4" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "2.34", - "includingLoc" : "None" + "pos" : "2.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "5" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "2.37", - "includingLoc" : "None" + "pos" : "2.34", + "includingLoc" : "None", + "expandingLoc" : "None" }, "6" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "2.34", - "includingLoc" : "None" + "pos" : "2.37", + "includingLoc" : "None", + "expandingLoc" : "None" }, "7" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "2.5", - "includingLoc" : "None" + "pos" : "2.34", + "includingLoc" : "None", + "expandingLoc" : "None" }, "8" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "2.34", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "9" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "2.37", - "includingLoc" : "None" + "pos" : "2.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "10" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "2.34", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "11" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "2.5", - "includingLoc" : "None" + "pos" : "2.37", + "includingLoc" : "None", + "expandingLoc" : "None" }, "12" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "1.1", - "includingLoc" : "None" + "pos" : "2.34", + "includingLoc" : "None", + "expandingLoc" : "None" }, "13" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "6.28", - "includingLoc" : "None" + "pos" : "2.34", + "includingLoc" : "None", + "expandingLoc" : "None" }, "14" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "6.31", - "includingLoc" : "None" + "pos" : "2.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "15" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "6.28", - "includingLoc" : "None" + "pos" : "1.1", + "includingLoc" : "None", + "expandingLoc" : "None" }, "16" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "6.5", - "includingLoc" : "None" + "pos" : "6.28", + "includingLoc" : "None", + "expandingLoc" : "None" }, "17" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "7.32", - "includingLoc" : "None" + "pos" : "6.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "18" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "7.35", - "includingLoc" : "None" + "pos" : "6.28", + "includingLoc" : "None", + "expandingLoc" : "None" }, "19" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "7.32", - "includingLoc" : "None" + "pos" : "6.28", + "includingLoc" : "None", + "expandingLoc" : "None" }, "20" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "7.5", - "includingLoc" : "None" + "pos" : "6.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "21" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "8.37", - "includingLoc" : "None" + "pos" : "7.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "22" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "8.40", - "includingLoc" : "None" + "pos" : "7.35", + "includingLoc" : "None", + "expandingLoc" : "None" }, "23" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "8.37", - "includingLoc" : "None" + "pos" : "7.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "24" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "8.5", - "includingLoc" : "None" + "pos" : "7.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "25" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "9.26", - "includingLoc" : "None" + "pos" : "7.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "26" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "9.29", - "includingLoc" : "None" + "pos" : "8.37", + "includingLoc" : "None", + "expandingLoc" : "None" }, "27" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "9.26", - "includingLoc" : "None" + "pos" : "8.40", + "includingLoc" : "None", + "expandingLoc" : "None" }, "28" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "9.5", - "includingLoc" : "None" + "pos" : "8.37", + "includingLoc" : "None", + "expandingLoc" : "None" }, "29" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "9.26", - "includingLoc" : "None" + "pos" : "8.37", + "includingLoc" : "None", + "expandingLoc" : "None" }, "30" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "9.29", - "includingLoc" : "None" + "pos" : "8.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "31" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "9.26", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "32" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "9.5", - "includingLoc" : "None" + "pos" : "9.29", + "includingLoc" : "None", + "expandingLoc" : "None" }, "33" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "9.26", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "34" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "9.29", - "includingLoc" : "None" + "pos" : "9.26", + "includingLoc" : "None", + "expandingLoc" : "None" }, "35" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "9.26", - "includingLoc" : "None" + "pos" : "9.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "36" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "9.5", - "includingLoc" : "None" + "pos" : "9.26", + "includingLoc" : "None", + "expandingLoc" : "None" }, "37" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "5.1", - "includingLoc" : "None" + "pos" : "9.29", + "includingLoc" : "None", + "expandingLoc" : "None" }, "38" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "13.31", - "includingLoc" : "None" + "pos" : "9.26", + "includingLoc" : "None", + "expandingLoc" : "None" }, "39" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "13.34", - "includingLoc" : "None" + "pos" : "9.26", + "includingLoc" : "None", + "expandingLoc" : "None" }, "40" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "13.31", - "includingLoc" : "None" + "pos" : "9.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "41" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "13.5", - "includingLoc" : "None" + "pos" : "9.26", + "includingLoc" : "None", + "expandingLoc" : "None" }, "42" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "13.31", - "includingLoc" : "None" + "pos" : "9.29", + "includingLoc" : "None", + "expandingLoc" : "None" }, "43" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "13.34", - "includingLoc" : "None" + "pos" : "9.26", + "includingLoc" : "None", + "expandingLoc" : "None" }, "44" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "13.31", - "includingLoc" : "None" + "pos" : "9.26", + "includingLoc" : "None", + "expandingLoc" : "None" }, "45" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "13.5", - "includingLoc" : "None" + "pos" : "9.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "46" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "13.31", - "includingLoc" : "None" + "pos" : "5.1", + "includingLoc" : "None", + "expandingLoc" : "None" }, "47" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "13.34", - "includingLoc" : "None" + "pos" : "13.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "48" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "13.31", - "includingLoc" : "None" + "pos" : "13.34", + "includingLoc" : "None", + "expandingLoc" : "None" }, "49" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "13.5", - "includingLoc" : "None" + "pos" : "13.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "50" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "12.1", - "includingLoc" : "None" + "pos" : "13.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "51" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "17.27", - "includingLoc" : "None" + "pos" : "13.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "52" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "17.31", - "includingLoc" : "None" + "pos" : "13.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "53" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "17.27", - "includingLoc" : "None" + "pos" : "13.34", + "includingLoc" : "None", + "expandingLoc" : "None" }, "54" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "17.5", - "includingLoc" : "None" + "pos" : "13.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "55" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "18.33", - "includingLoc" : "None" + "pos" : "13.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "56" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "18.37", - "includingLoc" : "None" + "pos" : "13.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "57" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "18.33", - "includingLoc" : "None" + "pos" : "13.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "58" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "18.5", - "includingLoc" : "None" + "pos" : "13.34", + "includingLoc" : "None", + "expandingLoc" : "None" }, "59" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "18.33", - "includingLoc" : "None" + "pos" : "13.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "60" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "18.37", - "includingLoc" : "None" + "pos" : "13.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "61" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "18.33", - "includingLoc" : "None" + "pos" : "13.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "62" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "18.5", - "includingLoc" : "None" + "pos" : "12.1", + "includingLoc" : "None", + "expandingLoc" : "None" }, "63" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "18.33", - "includingLoc" : "None" + "pos" : "17.27", + "includingLoc" : "None", + "expandingLoc" : "None" }, "64" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "18.37", - "includingLoc" : "None" + "pos" : "17.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "65" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "18.33", - "includingLoc" : "None" + "pos" : "17.27", + "includingLoc" : "None", + "expandingLoc" : "None" }, "66" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "18.5", - "includingLoc" : "None" + "pos" : "17.27", + "includingLoc" : "None", + "expandingLoc" : "None" }, "67" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "16.1", - "includingLoc" : "None" + "pos" : "17.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "68" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "22.31", - "includingLoc" : "None" + "pos" : "18.33", + "includingLoc" : "None", + "expandingLoc" : "None" }, "69" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "22.34", - "includingLoc" : "None" + "pos" : "18.37", + "includingLoc" : "None", + "expandingLoc" : "None" }, "70" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "22.31", - "includingLoc" : "None" + "pos" : "18.33", + "includingLoc" : "None", + "expandingLoc" : "None" }, "71" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "22.5", - "includingLoc" : "None" + "pos" : "18.33", + "includingLoc" : "None", + "expandingLoc" : "None" }, "72" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "23.31", - "includingLoc" : "None" + "pos" : "18.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "73" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "23.34", - "includingLoc" : "None" + "pos" : "18.33", + "includingLoc" : "None", + "expandingLoc" : "None" }, "74" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "23.31", - "includingLoc" : "None" + "pos" : "18.37", + "includingLoc" : "None", + "expandingLoc" : "None" }, "75" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "23.5", - "includingLoc" : "None" + "pos" : "18.33", + "includingLoc" : "None", + "expandingLoc" : "None" }, "76" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "23.31", - "includingLoc" : "None" + "pos" : "18.33", + "includingLoc" : "None", + "expandingLoc" : "None" }, "77" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "23.34", - "includingLoc" : "None" + "pos" : "18.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "78" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "23.31", - "includingLoc" : "None" + "pos" : "18.33", + "includingLoc" : "None", + "expandingLoc" : "None" }, "79" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "23.5", - "includingLoc" : "None" + "pos" : "18.37", + "includingLoc" : "None", + "expandingLoc" : "None" }, "80" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "23.31", - "includingLoc" : "None" + "pos" : "18.33", + "includingLoc" : "None", + "expandingLoc" : "None" }, "81" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "23.34", - "includingLoc" : "None" + "pos" : "18.33", + "includingLoc" : "None", + "expandingLoc" : "None" }, "82" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "23.31", - "includingLoc" : "None" + "pos" : "18.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "83" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "23.5", - "includingLoc" : "None" + "pos" : "16.1", + "includingLoc" : "None", + "expandingLoc" : "None" }, "84" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "21.1", - "includingLoc" : "None" + "pos" : "22.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "85" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "27.26", - "includingLoc" : "None" + "pos" : "22.34", + "includingLoc" : "None", + "expandingLoc" : "None" }, "86" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "27.29", - "includingLoc" : "None" + "pos" : "22.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "87" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "27.26", - "includingLoc" : "None" + "pos" : "22.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "88" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "27.5", - "includingLoc" : "None" + "pos" : "22.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "89" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "27.26", - "includingLoc" : "None" + "pos" : "23.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "90" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "27.29", - "includingLoc" : "None" + "pos" : "23.34", + "includingLoc" : "None", + "expandingLoc" : "None" }, "91" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "27.26", - "includingLoc" : "None" + "pos" : "23.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "92" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "27.5", - "includingLoc" : "None" + "pos" : "23.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "93" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "27.26", - "includingLoc" : "None" + "pos" : "23.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "94" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "27.29", - "includingLoc" : "None" + "pos" : "23.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "95" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "27.26", - "includingLoc" : "None" + "pos" : "23.34", + "includingLoc" : "None", + "expandingLoc" : "None" }, "96" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "27.5", - "includingLoc" : "None" + "pos" : "23.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "97" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "26.1", - "includingLoc" : "None" + "pos" : "23.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "98" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "31.35", - "includingLoc" : "None" + "pos" : "23.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "99" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "31.38", - "includingLoc" : "None" + "pos" : "23.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "100" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "31.35", - "includingLoc" : "None" + "pos" : "23.34", + "includingLoc" : "None", + "expandingLoc" : "None" }, "101" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "31.5", - "includingLoc" : "None" + "pos" : "23.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "102" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "31.35", - "includingLoc" : "None" + "pos" : "23.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "103" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "31.38", - "includingLoc" : "None" + "pos" : "23.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "104" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "31.35", - "includingLoc" : "None" + "pos" : "21.1", + "includingLoc" : "None", + "expandingLoc" : "None" }, "105" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "31.5", - "includingLoc" : "None" + "pos" : "27.26", + "includingLoc" : "None", + "expandingLoc" : "None" }, "106" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "31.35", - "includingLoc" : "None" + "pos" : "27.29", + "includingLoc" : "None", + "expandingLoc" : "None" }, "107" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "31.38", - "includingLoc" : "None" + "pos" : "27.26", + "includingLoc" : "None", + "expandingLoc" : "None" }, "108" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "31.35", - "includingLoc" : "None" + "pos" : "27.26", + "includingLoc" : "None", + "expandingLoc" : "None" }, "109" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "31.5", - "includingLoc" : "None" + "pos" : "27.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "110" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "30.1", - "includingLoc" : "None" + "pos" : "27.26", + "includingLoc" : "None", + "expandingLoc" : "None" }, "111" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "34.14", - "includingLoc" : "None" + "pos" : "27.29", + "includingLoc" : "None", + "expandingLoc" : "None" }, "112" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "34.14", - "includingLoc" : "None" + "pos" : "27.26", + "includingLoc" : "None", + "expandingLoc" : "None" }, "113" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "34.27", - "includingLoc" : "None" + "pos" : "27.26", + "includingLoc" : "None", + "expandingLoc" : "None" }, "114" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "34.1", - "includingLoc" : "None" + "pos" : "27.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "115" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "35.14", - "includingLoc" : "None" + "pos" : "27.26", + "includingLoc" : "None", + "expandingLoc" : "None" }, "116" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "35.14", - "includingLoc" : "None" + "pos" : "27.29", + "includingLoc" : "None", + "expandingLoc" : "None" }, "117" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "35.30", - "includingLoc" : "None" + "pos" : "27.26", + "includingLoc" : "None", + "expandingLoc" : "None" }, "118" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "35.1", - "includingLoc" : "None" + "pos" : "27.26", + "includingLoc" : "None", + "expandingLoc" : "None" }, "119" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "36.14", - "includingLoc" : "None" + "pos" : "27.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "120" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "36.14", - "includingLoc" : "None" + "pos" : "26.1", + "includingLoc" : "None", + "expandingLoc" : "None" }, "121" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "36.28", - "includingLoc" : "None" + "pos" : "31.35", + "includingLoc" : "None", + "expandingLoc" : "None" }, "122" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "36.1", - "includingLoc" : "None" + "pos" : "31.38", + "includingLoc" : "None", + "expandingLoc" : "None" }, "123" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "37.14", - "includingLoc" : "None" + "pos" : "31.35", + "includingLoc" : "None", + "expandingLoc" : "None" }, "124" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "37.14", - "includingLoc" : "None" + "pos" : "31.35", + "includingLoc" : "None", + "expandingLoc" : "None" }, "125" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "37.29", - "includingLoc" : "None" + "pos" : "31.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "126" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "37.1", - "includingLoc" : "None" + "pos" : "31.35", + "includingLoc" : "None", + "expandingLoc" : "None" }, "127" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "38.14", - "includingLoc" : "None" + "pos" : "31.38", + "includingLoc" : "None", + "expandingLoc" : "None" }, "128" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "38.14", - "includingLoc" : "None" + "pos" : "31.35", + "includingLoc" : "None", + "expandingLoc" : "None" }, "129" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "38.28", - "includingLoc" : "None" + "pos" : "31.35", + "includingLoc" : "None", + "expandingLoc" : "None" }, "130" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "38.1", - "includingLoc" : "None" + "pos" : "31.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "131" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "39.14", - "includingLoc" : "None" + "pos" : "31.35", + "includingLoc" : "None", + "expandingLoc" : "None" }, "132" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "39.14", - "includingLoc" : "None" + "pos" : "31.38", + "includingLoc" : "None", + "expandingLoc" : "None" }, "133" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "39.32", - "includingLoc" : "None" + "pos" : "31.35", + "includingLoc" : "None", + "expandingLoc" : "None" }, "134" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "39.1", - "includingLoc" : "None" + "pos" : "31.35", + "includingLoc" : "None", + "expandingLoc" : "None" }, "135" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "40.14", - "includingLoc" : "None" + "pos" : "31.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "136" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "40.14", - "includingLoc" : "None" + "pos" : "30.1", + "includingLoc" : "None", + "expandingLoc" : "None" }, "137" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "40.32", - "includingLoc" : "None" + "pos" : "34.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "138" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "40.1", - "includingLoc" : "None" + "pos" : "34.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "139" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "43.14", - "includingLoc" : "None" + "pos" : "34.27", + "includingLoc" : "None", + "expandingLoc" : "None" }, "140" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "43.14", - "includingLoc" : "None" + "pos" : "34.1", + "includingLoc" : "None", + "expandingLoc" : "None" }, "141" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "43.5", - "includingLoc" : "None" + "pos" : "35.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "142" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "44.14", - "includingLoc" : "None" + "pos" : "35.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "143" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "44.14", - "includingLoc" : "None" + "pos" : "35.30", + "includingLoc" : "None", + "expandingLoc" : "None" }, "144" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "44.5", - "includingLoc" : "None" + "pos" : "35.1", + "includingLoc" : "None", + "expandingLoc" : "None" }, "145" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "45.14", - "includingLoc" : "None" + "pos" : "36.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "146" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "45.14", - "includingLoc" : "None" + "pos" : "36.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "147" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "45.5", - "includingLoc" : "None" + "pos" : "36.28", + "includingLoc" : "None", + "expandingLoc" : "None" }, "148" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "46.14", - "includingLoc" : "None" + "pos" : "36.1", + "includingLoc" : "None", + "expandingLoc" : "None" }, "149" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "46.14", - "includingLoc" : "None" + "pos" : "37.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "150" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "46.5", - "includingLoc" : "None" + "pos" : "37.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "151" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "47.14", - "includingLoc" : "None" + "pos" : "37.29", + "includingLoc" : "None", + "expandingLoc" : "None" }, "152" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "47.14", - "includingLoc" : "None" + "pos" : "37.1", + "includingLoc" : "None", + "expandingLoc" : "None" }, "153" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "47.5", - "includingLoc" : "None" + "pos" : "38.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "154" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "48.14", - "includingLoc" : "None" + "pos" : "38.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "155" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "48.14", - "includingLoc" : "None" + "pos" : "38.28", + "includingLoc" : "None", + "expandingLoc" : "None" }, "156" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "48.5", - "includingLoc" : "None" + "pos" : "38.1", + "includingLoc" : "None", + "expandingLoc" : "None" }, "157" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "49.14", - "includingLoc" : "None" + "pos" : "39.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "158" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "49.14", - "includingLoc" : "None" + "pos" : "39.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "159" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "49.5", - "includingLoc" : "None" + "pos" : "39.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "160" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "51.31", - "includingLoc" : "None" + "pos" : "39.1", + "includingLoc" : "None", + "expandingLoc" : "None" }, "161" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "51.31", - "includingLoc" : "None" + "pos" : "40.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "162" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "51.5", - "includingLoc" : "None" + "pos" : "40.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "163" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "52.34", - "includingLoc" : "None" + "pos" : "40.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "164" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "52.34", - "includingLoc" : "None" + "pos" : "40.1", + "includingLoc" : "None", + "expandingLoc" : "None" }, "165" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "52.5", - "includingLoc" : "None" + "pos" : "43.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "166" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "53.32", - "includingLoc" : "None" + "pos" : "43.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "167" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "53.32", - "includingLoc" : "None" + "pos" : "43.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "168" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "53.5", - "includingLoc" : "None" + "pos" : "44.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "169" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "54.33", - "includingLoc" : "None" + "pos" : "44.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "170" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "54.33", - "includingLoc" : "None" + "pos" : "44.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "171" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "54.5", - "includingLoc" : "None" + "pos" : "45.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "172" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "55.32", - "includingLoc" : "None" + "pos" : "45.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "173" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "55.32", - "includingLoc" : "None" + "pos" : "45.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "174" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "55.5", - "includingLoc" : "None" + "pos" : "46.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "175" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "56.36", - "includingLoc" : "None" + "pos" : "46.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "176" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "56.36", - "includingLoc" : "None" + "pos" : "46.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "177" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "56.5", - "includingLoc" : "None" + "pos" : "47.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "178" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "57.37", - "includingLoc" : "None" + "pos" : "47.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "179" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "57.37", - "includingLoc" : "None" + "pos" : "47.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "180" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "57.5", - "includingLoc" : "None" + "pos" : "48.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "181" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "57.37", - "includingLoc" : "None" + "pos" : "48.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "182" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "57.37", - "includingLoc" : "None" + "pos" : "48.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "183" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "57.5", - "includingLoc" : "None" + "pos" : "49.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "184" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "57.37", - "includingLoc" : "None" + "pos" : "49.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "185" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "57.37", - "includingLoc" : "None" + "pos" : "49.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "186" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "57.5", - "includingLoc" : "None" + "pos" : "51.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "187" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "42.1", - "includingLoc" : "None" + "pos" : "51.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "188" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "43.14", - "includingLoc" : "None" + "pos" : "51.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "189" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "43.14", - "includingLoc" : "None" + "pos" : "52.34", + "includingLoc" : "None", + "expandingLoc" : "None" }, "190" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "43.5", - "includingLoc" : "None" + "pos" : "52.34", + "includingLoc" : "None", + "expandingLoc" : "None" }, "191" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "44.14", - "includingLoc" : "None" + "pos" : "52.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "192" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "44.14", - "includingLoc" : "None" + "pos" : "53.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "193" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "44.5", - "includingLoc" : "None" + "pos" : "53.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "194" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "45.14", - "includingLoc" : "None" + "pos" : "53.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "195" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "45.14", - "includingLoc" : "None" + "pos" : "54.33", + "includingLoc" : "None", + "expandingLoc" : "None" }, "196" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "45.5", - "includingLoc" : "None" + "pos" : "54.33", + "includingLoc" : "None", + "expandingLoc" : "None" }, "197" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "46.14", - "includingLoc" : "None" + "pos" : "54.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "198" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "46.14", - "includingLoc" : "None" + "pos" : "55.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "199" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "46.5", - "includingLoc" : "None" + "pos" : "55.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "200" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "47.14", - "includingLoc" : "None" + "pos" : "55.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "201" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", - "pos" : "47.14", - "includingLoc" : "None" + "pos" : "56.36", + "includingLoc" : "None", + "expandingLoc" : "None" }, "202" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", + "pos" : "56.36", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "203" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", + "pos" : "56.5", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "204" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", + "pos" : "57.37", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "205" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", + "pos" : "57.37", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "206" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", + "pos" : "57.5", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "207" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", + "pos" : "57.37", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "208" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", + "pos" : "57.37", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "209" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", + "pos" : "57.5", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "210" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", + "pos" : "57.37", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "211" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", + "pos" : "57.37", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "212" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", + "pos" : "57.5", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "213" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", + "pos" : "42.1", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "214" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", + "pos" : "43.14", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "215" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", + "pos" : "43.14", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "216" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", + "pos" : "43.5", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "217" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", + "pos" : "44.14", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "218" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", + "pos" : "44.14", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "219" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", + "pos" : "44.5", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "220" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", + "pos" : "45.14", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "221" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", + "pos" : "45.14", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "222" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", + "pos" : "45.5", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "223" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", + "pos" : "46.14", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "224" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", + "pos" : "46.14", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "225" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", + "pos" : "46.5", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "226" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", + "pos" : "47.14", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "227" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", + "pos" : "47.14", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "228" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "47.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "203" : { + "229" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "48.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "204" : { + "230" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "48.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "205" : { + "231" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "48.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "206" : { + "232" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "49.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "207" : { + "233" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "49.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "208" : { + "234" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "49.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "209" : { + "235" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "51.31", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "210" : { + "236" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "51.31", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "211" : { + "237" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "51.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "212" : { + "238" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "52.34", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "213" : { + "239" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "52.34", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "214" : { + "240" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "52.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "215" : { + "241" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "53.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "216" : { + "242" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "53.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "217" : { + "243" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "53.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "218" : { + "244" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "54.33", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "219" : { + "245" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "54.33", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "220" : { + "246" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "54.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "221" : { + "247" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "55.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "222" : { + "248" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "55.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "223" : { + "249" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "55.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "224" : { + "250" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "56.36", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "225" : { + "251" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "56.36", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "226" : { + "252" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "56.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "227" : { + "253" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "57.37", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "228" : { + "254" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "57.37", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "229" : { + "255" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "57.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "230" : { + "256" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "57.37", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "231" : { + "257" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "57.37", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "232" : { + "258" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "57.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "233" : { + "259" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "57.37", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "234" : { + "260" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "57.37", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "235" : { + "261" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "57.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "236" : { + "262" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "42.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "237" : { + "263" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "43.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "238" : { + "264" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "43.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "239" : { + "265" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "43.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "240" : { + "266" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "44.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "241" : { + "267" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "44.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "242" : { + "268" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "44.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "243" : { + "269" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "45.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "244" : { + "270" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "45.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "245" : { + "271" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "45.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "246" : { + "272" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "46.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "247" : { + "273" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "46.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "248" : { + "274" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "46.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "249" : { + "275" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "47.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "250" : { + "276" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "47.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "251" : { + "277" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "47.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "252" : { + "278" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "48.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "253" : { + "279" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "48.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "254" : { + "280" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "48.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "255" : { + "281" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "49.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "256" : { + "282" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "49.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "257" : { + "283" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "49.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "258" : { + "284" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "51.31", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "259" : { + "285" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "51.31", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "260" : { + "286" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "51.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "261" : { + "287" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "52.34", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "262" : { + "288" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "52.34", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "263" : { + "289" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "52.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "264" : { + "290" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "53.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "265" : { + "291" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "53.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "266" : { + "292" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "53.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "267" : { + "293" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "54.33", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "268" : { + "294" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "54.33", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "269" : { + "295" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "54.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "270" : { + "296" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "55.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "271" : { + "297" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "55.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "272" : { + "298" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "55.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "273" : { + "299" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "56.36", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "274" : { + "300" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "56.36", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "275" : { + "301" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "56.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "276" : { + "302" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "57.37", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "277" : { + "303" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "57.37", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "278" : { + "304" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "57.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "279" : { + "305" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "57.37", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "280" : { + "306" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "57.37", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "281" : { + "307" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "57.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "282" : { + "308" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "57.37", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "283" : { + "309" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "57.37", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "284" : { + "310" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "57.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "285" : { + "311" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "42.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "286" : { + "312" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/fprime/defs.fpp", "pos" : "4.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "287" : { + "313" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/fprime/defs.fpp", "pos" : "5.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "288" : { + "314" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/fprime/defs.fpp", "pos" : "6.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "289" : { + "315" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/fprime/defs.fpp", "pos" : "7.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "290" : { + "316" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/fprime/defs.fpp", "pos" : "8.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "291" : { + "317" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/fprime/defs.fpp", "pos" : "9.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "292" : { + "318" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/fprime/defs.fpp", "pos" : "10.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "293" : { + "319" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/fprime/defs.fpp", "pos" : "11.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "294" : { + "320" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/fprime/defs.fpp", "pos" : "12.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "295" : { + "321" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/fprime/defs.fpp", "pos" : "13.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "296" : { + "322" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/fprime/defs.fpp", "pos" : "13.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "297" : { + "323" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/fprime/defs.fpp", "pos" : "13.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "298" : { + "324" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/fprime/defs.fpp", "pos" : "3.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "299" : { + "325" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/fprime/defs.fpp", "pos" : "17.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "300" : { + "326" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/fprime/defs.fpp", "pos" : "17.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "301" : { + "327" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/fprime/defs.fpp", "pos" : "17.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "302" : { + "328" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/fprime/defs.fpp", "pos" : "16.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } } } @@ -3427,9 +3886,9 @@ "fppVersion" : "[ fpp version ]", "analysis" : { "componentInstanceMap" : { - "114" : { + "140" : { "aNode" : { - "astNodeId" : 114 + "astNodeId" : 140 }, "qualifiedName" : { "qualifier" : [ @@ -3437,7 +3896,7 @@ "base" : "c1" }, "component" : { - "astNodeId" : 12 + "astNodeId" : 15 }, "baseId" : 256, "maxId" : 255, @@ -3450,9 +3909,9 @@ } }, - "118" : { + "144" : { "aNode" : { - "astNodeId" : 118 + "astNodeId" : 144 }, "qualifiedName" : { "qualifier" : [ @@ -3460,7 +3919,7 @@ "base" : "c2" }, "component" : { - "astNodeId" : 37 + "astNodeId" : 46 }, "baseId" : 512, "maxId" : 511, @@ -3473,9 +3932,9 @@ } }, - "122" : { + "148" : { "aNode" : { - "astNodeId" : 122 + "astNodeId" : 148 }, "qualifiedName" : { "qualifier" : [ @@ -3483,7 +3942,7 @@ "base" : "c3" }, "component" : { - "astNodeId" : 50 + "astNodeId" : 62 }, "baseId" : 768, "maxId" : 767, @@ -3496,9 +3955,9 @@ } }, - "126" : { + "152" : { "aNode" : { - "astNodeId" : 126 + "astNodeId" : 152 }, "qualifiedName" : { "qualifier" : [ @@ -3506,7 +3965,7 @@ "base" : "c4" }, "component" : { - "astNodeId" : 67 + "astNodeId" : 83 }, "baseId" : 1024, "maxId" : 1023, @@ -3519,9 +3978,9 @@ } }, - "130" : { + "156" : { "aNode" : { - "astNodeId" : 130 + "astNodeId" : 156 }, "qualifiedName" : { "qualifier" : [ @@ -3529,7 +3988,7 @@ "base" : "c5" }, "component" : { - "astNodeId" : 84 + "astNodeId" : 104 }, "baseId" : 1280, "maxId" : 1279, @@ -3542,9 +4001,9 @@ } }, - "134" : { + "160" : { "aNode" : { - "astNodeId" : 134 + "astNodeId" : 160 }, "qualifiedName" : { "qualifier" : [ @@ -3552,7 +4011,7 @@ "base" : "c6" }, "component" : { - "astNodeId" : 97 + "astNodeId" : 120 }, "baseId" : 1536, "maxId" : 1535, @@ -3565,9 +4024,9 @@ } }, - "138" : { + "164" : { "aNode" : { - "astNodeId" : 138 + "astNodeId" : 164 }, "qualifiedName" : { "qualifier" : [ @@ -3575,7 +4034,7 @@ "base" : "c7" }, "component" : { - "astNodeId" : 110 + "astNodeId" : 136 }, "baseId" : 1792, "maxId" : 1791, @@ -3590,9 +4049,9 @@ } }, "componentMap" : { - "12" : { + "15" : { "aNode" : { - "astNodeId" : 12 + "astNodeId" : 15 }, "portInterface" : { "instanceType" : "component", @@ -3600,7 +4059,7 @@ "timeGetPort" : { "General" : { "aNode" : { - "astNodeId" : 11 + "astNodeId" : 14 }, "specifier" : { "kind" : { @@ -3612,7 +4071,7 @@ "size" : "None", "port" : { "Some" : { - "astNodeId" : 10 + "astNodeId" : 13 } }, "priority" : "None", @@ -3624,7 +4083,7 @@ "DefPort" : { "symbol" : { "Port" : { - "nodeId" : 293, + "nodeId" : 319, "unqualifiedName" : "Time" } } @@ -3674,9 +4133,9 @@ }, "defaultRecordId" : 0 }, - "37" : { + "46" : { "aNode" : { - "astNodeId" : 37 + "astNodeId" : 46 }, "portInterface" : { "instanceType" : "component", @@ -3684,7 +4143,7 @@ "cmdIn" : { "General" : { "aNode" : { - "astNodeId" : 16 + "astNodeId" : 20 }, "specifier" : { "kind" : { @@ -3696,7 +4155,7 @@ "size" : "None", "port" : { "Some" : { - "astNodeId" : 15 + "astNodeId" : 19 } }, "priority" : "None", @@ -3708,7 +4167,7 @@ "DefPort" : { "symbol" : { "Port" : { - "nodeId" : 286, + "nodeId" : 312, "unqualifiedName" : "Cmd" } } @@ -3721,7 +4180,7 @@ "cmdRegOut" : { "General" : { "aNode" : { - "astNodeId" : 20 + "astNodeId" : 25 }, "specifier" : { "kind" : { @@ -3733,7 +4192,7 @@ "size" : "None", "port" : { "Some" : { - "astNodeId" : 19 + "astNodeId" : 24 } }, "priority" : "None", @@ -3745,7 +4204,7 @@ "DefPort" : { "symbol" : { "Port" : { - "nodeId" : 287, + "nodeId" : 313, "unqualifiedName" : "CmdReg" } } @@ -3758,7 +4217,7 @@ "cmdResponseOut" : { "General" : { "aNode" : { - "astNodeId" : 24 + "astNodeId" : 30 }, "specifier" : { "kind" : { @@ -3770,7 +4229,7 @@ "size" : "None", "port" : { "Some" : { - "astNodeId" : 23 + "astNodeId" : 29 } }, "priority" : "None", @@ -3782,7 +4241,7 @@ "DefPort" : { "symbol" : { "Port" : { - "nodeId" : 288, + "nodeId" : 314, "unqualifiedName" : "CmdResponse" } } @@ -3795,7 +4254,7 @@ "cmdSend" : { "General" : { "aNode" : { - "astNodeId" : 36 + "astNodeId" : 45 }, "specifier" : { "kind" : { @@ -3807,7 +4266,7 @@ "size" : "None", "port" : { "Some" : { - "astNodeId" : 35 + "astNodeId" : 44 } }, "priority" : "None", @@ -3819,7 +4278,7 @@ "DefPort" : { "symbol" : { "Port" : { - "nodeId" : 286, + "nodeId" : 312, "unqualifiedName" : "Cmd" } } @@ -3869,9 +4328,9 @@ }, "defaultRecordId" : 0 }, - "50" : { + "62" : { "aNode" : { - "astNodeId" : 50 + "astNodeId" : 62 }, "portInterface" : { "instanceType" : "component", @@ -3879,7 +4338,7 @@ "eventLog" : { "General" : { "aNode" : { - "astNodeId" : 49 + "astNodeId" : 61 }, "specifier" : { "kind" : { @@ -3891,7 +4350,7 @@ "size" : "None", "port" : { "Some" : { - "astNodeId" : 48 + "astNodeId" : 60 } }, "priority" : "None", @@ -3903,7 +4362,7 @@ "DefPort" : { "symbol" : { "Port" : { - "nodeId" : 289, + "nodeId" : 315, "unqualifiedName" : "Log" } } @@ -3953,9 +4412,9 @@ }, "defaultRecordId" : 0 }, - "67" : { + "83" : { "aNode" : { - "astNodeId" : 67 + "astNodeId" : 83 }, "portInterface" : { "instanceType" : "component", @@ -3963,7 +4422,7 @@ "PingReturn" : { "General" : { "aNode" : { - "astNodeId" : 66 + "astNodeId" : 82 }, "specifier" : { "kind" : { @@ -3975,7 +4434,7 @@ "size" : "None", "port" : { "Some" : { - "astNodeId" : 65 + "astNodeId" : 81 } }, "priority" : "None", @@ -3987,7 +4446,7 @@ "DefPort" : { "symbol" : { "Port" : { - "nodeId" : 301, + "nodeId" : 327, "unqualifiedName" : "Ping" } } @@ -4000,7 +4459,7 @@ "PingSend" : { "General" : { "aNode" : { - "astNodeId" : 54 + "astNodeId" : 67 }, "specifier" : { "kind" : { @@ -4012,7 +4471,7 @@ "size" : "None", "port" : { "Some" : { - "astNodeId" : 53 + "astNodeId" : 66 } }, "priority" : "None", @@ -4024,7 +4483,7 @@ "DefPort" : { "symbol" : { "Port" : { - "nodeId" : 301, + "nodeId" : 327, "unqualifiedName" : "Ping" } } @@ -4074,9 +4533,9 @@ }, "defaultRecordId" : 0 }, - "84" : { + "104" : { "aNode" : { - "astNodeId" : 84 + "astNodeId" : 104 }, "portInterface" : { "instanceType" : "component", @@ -4084,7 +4543,7 @@ "paramGet" : { "General" : { "aNode" : { - "astNodeId" : 71 + "astNodeId" : 88 }, "specifier" : { "kind" : { @@ -4096,7 +4555,7 @@ "size" : "None", "port" : { "Some" : { - "astNodeId" : 70 + "astNodeId" : 87 } }, "priority" : "None", @@ -4108,7 +4567,7 @@ "DefPort" : { "symbol" : { "Port" : { - "nodeId" : 291, + "nodeId" : 317, "unqualifiedName" : "PrmGet" } } @@ -4121,7 +4580,7 @@ "paramSet" : { "General" : { "aNode" : { - "astNodeId" : 83 + "astNodeId" : 103 }, "specifier" : { "kind" : { @@ -4133,7 +4592,7 @@ "size" : "None", "port" : { "Some" : { - "astNodeId" : 82 + "astNodeId" : 102 } }, "priority" : "None", @@ -4145,7 +4604,7 @@ "DefPort" : { "symbol" : { "Port" : { - "nodeId" : 292, + "nodeId" : 318, "unqualifiedName" : "PrmSet" } } @@ -4195,9 +4654,9 @@ }, "defaultRecordId" : 0 }, - "97" : { + "120" : { "aNode" : { - "astNodeId" : 97 + "astNodeId" : 120 }, "portInterface" : { "instanceType" : "component", @@ -4205,7 +4664,7 @@ "tlm" : { "General" : { "aNode" : { - "astNodeId" : 96 + "astNodeId" : 119 }, "specifier" : { "kind" : { @@ -4217,7 +4676,7 @@ "size" : "None", "port" : { "Some" : { - "astNodeId" : 95 + "astNodeId" : 118 } }, "priority" : "None", @@ -4229,7 +4688,7 @@ "DefPort" : { "symbol" : { "Port" : { - "nodeId" : 294, + "nodeId" : 320, "unqualifiedName" : "Tlm" } } @@ -4279,9 +4738,9 @@ }, "defaultRecordId" : 0 }, - "110" : { + "136" : { "aNode" : { - "astNodeId" : 110 + "astNodeId" : 136 }, "portInterface" : { "instanceType" : "component", @@ -4289,7 +4748,7 @@ "textEventLog" : { "General" : { "aNode" : { - "astNodeId" : 109 + "astNodeId" : 135 }, "specifier" : { "kind" : { @@ -4301,7 +4760,7 @@ "size" : "None", "port" : { "Some" : { - "astNodeId" : 108 + "astNodeId" : 134 } }, "priority" : "None", @@ -4313,7 +4772,7 @@ "DefPort" : { "symbol" : { "Port" : { - "nodeId" : 290, + "nodeId" : 316, "unqualifiedName" : "LogText" } } @@ -4381,170 +4840,170 @@ "locationSpecifierMap" : [ ], "parentSymbolMap" : { - "286" : { + "312" : { "Module" : { - "nodeId" : 298, + "nodeId" : 324, "unqualifiedName" : "Fw" } }, - "287" : { + "313" : { "Module" : { - "nodeId" : 298, + "nodeId" : 324, "unqualifiedName" : "Fw" } }, - "288" : { + "314" : { "Module" : { - "nodeId" : 298, + "nodeId" : 324, "unqualifiedName" : "Fw" } }, - "289" : { + "315" : { "Module" : { - "nodeId" : 298, + "nodeId" : 324, "unqualifiedName" : "Fw" } }, - "290" : { + "316" : { "Module" : { - "nodeId" : 298, + "nodeId" : 324, "unqualifiedName" : "Fw" } }, - "291" : { + "317" : { "Module" : { - "nodeId" : 298, + "nodeId" : 324, "unqualifiedName" : "Fw" } }, - "292" : { + "318" : { "Module" : { - "nodeId" : 298, + "nodeId" : 324, "unqualifiedName" : "Fw" } }, - "293" : { + "319" : { "Module" : { - "nodeId" : 298, + "nodeId" : 324, "unqualifiedName" : "Fw" } }, - "294" : { + "320" : { "Module" : { - "nodeId" : 298, + "nodeId" : 324, "unqualifiedName" : "Fw" } }, - "297" : { + "323" : { "Module" : { - "nodeId" : 298, + "nodeId" : 324, "unqualifiedName" : "Fw" } }, - "301" : { + "327" : { "Module" : { - "nodeId" : 302, + "nodeId" : 328, "unqualifiedName" : "Svc" } } }, "symbolScopeMap" : { - "12" : { + "15" : { "map" : { } }, - "37" : { + "46" : { "map" : { } }, - "50" : { + "62" : { "map" : { } }, - "67" : { + "83" : { "map" : { } }, - "84" : { + "104" : { "map" : { } }, - "97" : { + "120" : { "map" : { } }, - "110" : { + "136" : { "map" : { } }, - "298" : { + "324" : { "map" : { "Port" : { "map" : { "Cmd" : { "Port" : { - "nodeId" : 286, + "nodeId" : 312, "unqualifiedName" : "Cmd" } }, "CmdReg" : { "Port" : { - "nodeId" : 287, + "nodeId" : 313, "unqualifiedName" : "CmdReg" } }, "CmdResponse" : { "Port" : { - "nodeId" : 288, + "nodeId" : 314, "unqualifiedName" : "CmdResponse" } }, "Log" : { "Port" : { - "nodeId" : 289, + "nodeId" : 315, "unqualifiedName" : "Log" } }, "LogText" : { "Port" : { - "nodeId" : 290, + "nodeId" : 316, "unqualifiedName" : "LogText" } }, "PrmGet" : { "Port" : { - "nodeId" : 291, + "nodeId" : 317, "unqualifiedName" : "PrmGet" } }, "PrmSet" : { "Port" : { - "nodeId" : 292, + "nodeId" : 318, "unqualifiedName" : "PrmSet" } }, "Time" : { "Port" : { - "nodeId" : 293, + "nodeId" : 319, "unqualifiedName" : "Time" } }, "Tlm" : { "Port" : { - "nodeId" : 294, + "nodeId" : 320, "unqualifiedName" : "Tlm" } }, "TlmGet" : { "Port" : { - "nodeId" : 297, + "nodeId" : 323, "unqualifiedName" : "TlmGet" } } @@ -4552,13 +5011,13 @@ } } }, - "302" : { + "328" : { "map" : { "Port" : { "map" : { "Ping" : { "Port" : { - "nodeId" : 301, + "nodeId" : 327, "unqualifiedName" : "Ping" } } @@ -4568,9 +5027,9 @@ } }, "topologyMap" : { - "285" : { + "311" : { "aNode" : { - "astNodeId" : 285 + "astNodeId" : 311 }, "qualifiedName" : { "qualifier" : [ @@ -4581,127 +5040,130 @@ }, "directComponentInstances" : { - "114" : { + "140" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "43.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "118" : { + "144" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "44.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "122" : { + "148" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "45.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "126" : { + "152" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "46.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "130" : { + "156" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "47.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "134" : { + "160" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "48.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, - "138" : { + "164" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "49.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } + }, + "directTemplateArgs" : { + }, "transitiveImportSet" : [ ], "instanceMap" : [ [ { - "InterfaceComponentInstance" : { - "astNodeId" : 114 - } + "InterfaceComponentInstance" : 140 }, { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "43.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ], [ { - "InterfaceComponentInstance" : { - "astNodeId" : 118 - } + "InterfaceComponentInstance" : 144 }, { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "44.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ], [ { - "InterfaceComponentInstance" : { - "astNodeId" : 122 - } + "InterfaceComponentInstance" : 148 }, { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "45.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ], [ { - "InterfaceComponentInstance" : { - "astNodeId" : 126 - } + "InterfaceComponentInstance" : 152 }, { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "46.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ], [ { - "InterfaceComponentInstance" : { - "astNodeId" : 130 - } + "InterfaceComponentInstance" : 156 }, { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "47.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ], [ { - "InterfaceComponentInstance" : { - "astNodeId" : 134 - } + "InterfaceComponentInstance" : 160 }, { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "48.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ], [ { - "InterfaceComponentInstance" : { - "astNodeId" : 138 - } + "InterfaceComponentInstance" : 164 }, { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "49.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ] ], @@ -4722,7 +5184,7 @@ "patternMap" : { "Command" : { "aNode" : { - "astNodeId" : 263 + "astNodeId" : 289 }, "ast" : { "kind" : { @@ -4731,7 +5193,7 @@ } }, "source" : { - "astNodeId" : 262 + "astNodeId" : 288 }, "targets" : [ ] @@ -4739,7 +5201,7 @@ "source" : [ { "aNode" : { - "astNodeId" : 118 + "astNodeId" : 144 }, "qualifiedName" : { "qualifier" : [ @@ -4747,7 +5209,7 @@ "base" : "c2" }, "component" : { - "astNodeId" : 37 + "astNodeId" : 46 }, "baseId" : 512, "maxId" : 511, @@ -4763,7 +5225,8 @@ { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "52.34", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ], "targets" : [ @@ -4771,7 +5234,7 @@ }, "Event" : { "aNode" : { - "astNodeId" : 266 + "astNodeId" : 292 }, "ast" : { "kind" : { @@ -4780,7 +5243,7 @@ } }, "source" : { - "astNodeId" : 265 + "astNodeId" : 291 }, "targets" : [ ] @@ -4788,7 +5251,7 @@ "source" : [ { "aNode" : { - "astNodeId" : 122 + "astNodeId" : 148 }, "qualifiedName" : { "qualifier" : [ @@ -4796,7 +5259,7 @@ "base" : "c3" }, "component" : { - "astNodeId" : 50 + "astNodeId" : 62 }, "baseId" : 768, "maxId" : 767, @@ -4812,7 +5275,8 @@ { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "53.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ], "targets" : [ @@ -4820,7 +5284,7 @@ }, "Health" : { "aNode" : { - "astNodeId" : 269 + "astNodeId" : 295 }, "ast" : { "kind" : { @@ -4829,7 +5293,7 @@ } }, "source" : { - "astNodeId" : 268 + "astNodeId" : 294 }, "targets" : [ ] @@ -4837,7 +5301,7 @@ "source" : [ { "aNode" : { - "astNodeId" : 126 + "astNodeId" : 152 }, "qualifiedName" : { "qualifier" : [ @@ -4845,7 +5309,7 @@ "base" : "c4" }, "component" : { - "astNodeId" : 67 + "astNodeId" : 83 }, "baseId" : 1024, "maxId" : 1023, @@ -4861,7 +5325,8 @@ { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "54.33", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ], "targets" : [ @@ -4869,7 +5334,7 @@ }, "Param" : { "aNode" : { - "astNodeId" : 272 + "astNodeId" : 298 }, "ast" : { "kind" : { @@ -4878,7 +5343,7 @@ } }, "source" : { - "astNodeId" : 271 + "astNodeId" : 297 }, "targets" : [ ] @@ -4886,7 +5351,7 @@ "source" : [ { "aNode" : { - "astNodeId" : 130 + "astNodeId" : 156 }, "qualifiedName" : { "qualifier" : [ @@ -4894,7 +5359,7 @@ "base" : "c5" }, "component" : { - "astNodeId" : 84 + "astNodeId" : 104 }, "baseId" : 1280, "maxId" : 1279, @@ -4910,7 +5375,8 @@ { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "55.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ], "targets" : [ @@ -4918,7 +5384,7 @@ }, "Telemetry" : { "aNode" : { - "astNodeId" : 275 + "astNodeId" : 301 }, "ast" : { "kind" : { @@ -4927,7 +5393,7 @@ } }, "source" : { - "astNodeId" : 274 + "astNodeId" : 300 }, "targets" : [ ] @@ -4935,7 +5401,7 @@ "source" : [ { "aNode" : { - "astNodeId" : 134 + "astNodeId" : 160 }, "qualifiedName" : { "qualifier" : [ @@ -4943,7 +5409,7 @@ "base" : "c6" }, "component" : { - "astNodeId" : 97 + "astNodeId" : 120 }, "baseId" : 1536, "maxId" : 1535, @@ -4959,7 +5425,8 @@ { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "56.36", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ], "targets" : [ @@ -4967,7 +5434,7 @@ }, "TextEvent" : { "aNode" : { - "astNodeId" : 284 + "astNodeId" : 310 }, "ast" : { "kind" : { @@ -4976,7 +5443,7 @@ } }, "source" : { - "astNodeId" : 283 + "astNodeId" : 309 }, "targets" : [ ] @@ -4984,7 +5451,7 @@ "source" : [ { "aNode" : { - "astNodeId" : 138 + "astNodeId" : 164 }, "qualifiedName" : { "qualifier" : [ @@ -4992,7 +5459,7 @@ "base" : "c7" }, "component" : { - "astNodeId" : 110 + "astNodeId" : 136 }, "baseId" : 1792, "maxId" : 1791, @@ -5008,7 +5475,8 @@ { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "57.37", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ], "targets" : [ @@ -5016,7 +5484,7 @@ }, "Time" : { "aNode" : { - "astNodeId" : 260 + "astNodeId" : 286 }, "ast" : { "kind" : { @@ -5025,7 +5493,7 @@ } }, "source" : { - "astNodeId" : 259 + "astNodeId" : 285 }, "targets" : [ ] @@ -5033,7 +5501,7 @@ "source" : [ { "aNode" : { - "astNodeId" : 114 + "astNodeId" : 140 }, "qualifiedName" : { "qualifier" : [ @@ -5041,7 +5509,7 @@ "base" : "c1" }, "component" : { - "astNodeId" : 12 + "astNodeId" : 15 }, "baseId" : 256, "maxId" : 255, @@ -5057,7 +5525,8 @@ { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/patternedConnections.fpp", "pos" : "51.31", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ], "targets" : [ @@ -5081,14 +5550,12 @@ "unconnectedPortSet" : [ { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 114 - } + "InterfaceComponentInstance" : 140 }, "portInstance" : { "General" : { "aNode" : { - "astNodeId" : 11 + "astNodeId" : 14 }, "specifier" : { "kind" : { @@ -5100,7 +5567,7 @@ "size" : "None", "port" : { "Some" : { - "astNodeId" : 10 + "astNodeId" : 13 } }, "priority" : "None", @@ -5112,7 +5579,7 @@ "DefPort" : { "symbol" : { "Port" : { - "nodeId" : 293, + "nodeId" : 319, "unqualifiedName" : "Time" } } @@ -5125,14 +5592,12 @@ }, { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 118 - } + "InterfaceComponentInstance" : 144 }, "portInstance" : { "General" : { "aNode" : { - "astNodeId" : 16 + "astNodeId" : 20 }, "specifier" : { "kind" : { @@ -5144,7 +5609,7 @@ "size" : "None", "port" : { "Some" : { - "astNodeId" : 15 + "astNodeId" : 19 } }, "priority" : "None", @@ -5156,7 +5621,7 @@ "DefPort" : { "symbol" : { "Port" : { - "nodeId" : 286, + "nodeId" : 312, "unqualifiedName" : "Cmd" } } @@ -5169,14 +5634,12 @@ }, { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 118 - } + "InterfaceComponentInstance" : 144 }, "portInstance" : { "General" : { "aNode" : { - "astNodeId" : 20 + "astNodeId" : 25 }, "specifier" : { "kind" : { @@ -5188,7 +5651,7 @@ "size" : "None", "port" : { "Some" : { - "astNodeId" : 19 + "astNodeId" : 24 } }, "priority" : "None", @@ -5200,7 +5663,7 @@ "DefPort" : { "symbol" : { "Port" : { - "nodeId" : 287, + "nodeId" : 313, "unqualifiedName" : "CmdReg" } } @@ -5213,14 +5676,12 @@ }, { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 118 - } + "InterfaceComponentInstance" : 144 }, "portInstance" : { "General" : { "aNode" : { - "astNodeId" : 24 + "astNodeId" : 30 }, "specifier" : { "kind" : { @@ -5232,7 +5693,7 @@ "size" : "None", "port" : { "Some" : { - "astNodeId" : 23 + "astNodeId" : 29 } }, "priority" : "None", @@ -5244,7 +5705,7 @@ "DefPort" : { "symbol" : { "Port" : { - "nodeId" : 288, + "nodeId" : 314, "unqualifiedName" : "CmdResponse" } } @@ -5257,14 +5718,12 @@ }, { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 118 - } + "InterfaceComponentInstance" : 144 }, "portInstance" : { "General" : { "aNode" : { - "astNodeId" : 36 + "astNodeId" : 45 }, "specifier" : { "kind" : { @@ -5276,7 +5735,7 @@ "size" : "None", "port" : { "Some" : { - "astNodeId" : 35 + "astNodeId" : 44 } }, "priority" : "None", @@ -5288,7 +5747,7 @@ "DefPort" : { "symbol" : { "Port" : { - "nodeId" : 286, + "nodeId" : 312, "unqualifiedName" : "Cmd" } } @@ -5301,14 +5760,12 @@ }, { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 122 - } + "InterfaceComponentInstance" : 148 }, "portInstance" : { "General" : { "aNode" : { - "astNodeId" : 49 + "astNodeId" : 61 }, "specifier" : { "kind" : { @@ -5320,7 +5777,7 @@ "size" : "None", "port" : { "Some" : { - "astNodeId" : 48 + "astNodeId" : 60 } }, "priority" : "None", @@ -5332,7 +5789,7 @@ "DefPort" : { "symbol" : { "Port" : { - "nodeId" : 289, + "nodeId" : 315, "unqualifiedName" : "Log" } } @@ -5345,14 +5802,12 @@ }, { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 126 - } + "InterfaceComponentInstance" : 152 }, "portInstance" : { "General" : { "aNode" : { - "astNodeId" : 66 + "astNodeId" : 82 }, "specifier" : { "kind" : { @@ -5364,7 +5819,7 @@ "size" : "None", "port" : { "Some" : { - "astNodeId" : 65 + "astNodeId" : 81 } }, "priority" : "None", @@ -5376,7 +5831,7 @@ "DefPort" : { "symbol" : { "Port" : { - "nodeId" : 301, + "nodeId" : 327, "unqualifiedName" : "Ping" } } @@ -5389,14 +5844,12 @@ }, { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 126 - } + "InterfaceComponentInstance" : 152 }, "portInstance" : { "General" : { "aNode" : { - "astNodeId" : 54 + "astNodeId" : 67 }, "specifier" : { "kind" : { @@ -5408,7 +5861,7 @@ "size" : "None", "port" : { "Some" : { - "astNodeId" : 53 + "astNodeId" : 66 } }, "priority" : "None", @@ -5420,7 +5873,7 @@ "DefPort" : { "symbol" : { "Port" : { - "nodeId" : 301, + "nodeId" : 327, "unqualifiedName" : "Ping" } } @@ -5433,14 +5886,12 @@ }, { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 130 - } + "InterfaceComponentInstance" : 156 }, "portInstance" : { "General" : { "aNode" : { - "astNodeId" : 71 + "astNodeId" : 88 }, "specifier" : { "kind" : { @@ -5452,7 +5903,7 @@ "size" : "None", "port" : { "Some" : { - "astNodeId" : 70 + "astNodeId" : 87 } }, "priority" : "None", @@ -5464,7 +5915,7 @@ "DefPort" : { "symbol" : { "Port" : { - "nodeId" : 291, + "nodeId" : 317, "unqualifiedName" : "PrmGet" } } @@ -5477,14 +5928,12 @@ }, { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 130 - } + "InterfaceComponentInstance" : 156 }, "portInstance" : { "General" : { "aNode" : { - "astNodeId" : 83 + "astNodeId" : 103 }, "specifier" : { "kind" : { @@ -5496,7 +5945,7 @@ "size" : "None", "port" : { "Some" : { - "astNodeId" : 82 + "astNodeId" : 102 } }, "priority" : "None", @@ -5508,7 +5957,7 @@ "DefPort" : { "symbol" : { "Port" : { - "nodeId" : 292, + "nodeId" : 318, "unqualifiedName" : "PrmSet" } } @@ -5521,14 +5970,12 @@ }, { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 134 - } + "InterfaceComponentInstance" : 160 }, "portInstance" : { "General" : { "aNode" : { - "astNodeId" : 96 + "astNodeId" : 119 }, "specifier" : { "kind" : { @@ -5540,7 +5987,7 @@ "size" : "None", "port" : { "Some" : { - "astNodeId" : 95 + "astNodeId" : 118 } }, "priority" : "None", @@ -5552,7 +5999,7 @@ "DefPort" : { "symbol" : { "Port" : { - "nodeId" : 294, + "nodeId" : 320, "unqualifiedName" : "Tlm" } } @@ -5565,14 +6012,12 @@ }, { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 138 - } + "InterfaceComponentInstance" : 164 }, "portInstance" : { "General" : { "aNode" : { - "astNodeId" : 109 + "astNodeId" : 135 }, "specifier" : { "kind" : { @@ -5584,7 +6029,7 @@ "size" : "None", "port" : { "Some" : { - "astNodeId" : 108 + "astNodeId" : 134 } }, "priority" : "None", @@ -5596,7 +6041,7 @@ "DefPort" : { "symbol" : { "Port" : { - "nodeId" : 290, + "nodeId" : 316, "unqualifiedName" : "LogText" } } @@ -5611,49 +6056,49 @@ } }, "typeMap" : { - "113" : { + "139" : { "Int" : { "Integer" : { } } }, - "117" : { + "143" : { "Int" : { "Integer" : { } } }, - "121" : { + "147" : { "Int" : { "Integer" : { } } }, - "125" : { + "151" : { "Int" : { "Integer" : { } } }, - "129" : { + "155" : { "Int" : { "Integer" : { } } }, - "133" : { + "159" : { "Int" : { "Integer" : { } } }, - "137" : { + "163" : { "Int" : { "Integer" : { @@ -5662,309 +6107,309 @@ } }, "useDefMap" : { - "8" : { + "12" : { "Module" : { - "nodeId" : 298, + "nodeId" : 324, "unqualifiedName" : "Fw" } }, - "10" : { + "13" : { "Port" : { - "nodeId" : 293, + "nodeId" : 319, "unqualifiedName" : "Time" } }, - "13" : { + "18" : { "Module" : { - "nodeId" : 298, + "nodeId" : 324, "unqualifiedName" : "Fw" } }, - "15" : { + "19" : { "Port" : { - "nodeId" : 286, + "nodeId" : 312, "unqualifiedName" : "Cmd" } }, - "17" : { + "23" : { "Module" : { - "nodeId" : 298, + "nodeId" : 324, "unqualifiedName" : "Fw" } }, - "19" : { + "24" : { "Port" : { - "nodeId" : 287, + "nodeId" : 313, "unqualifiedName" : "CmdReg" } }, - "21" : { + "28" : { "Module" : { - "nodeId" : 298, + "nodeId" : 324, "unqualifiedName" : "Fw" } }, - "23" : { + "29" : { "Port" : { - "nodeId" : 288, + "nodeId" : 314, "unqualifiedName" : "CmdResponse" } }, - "33" : { + "43" : { "Module" : { - "nodeId" : 298, + "nodeId" : 324, "unqualifiedName" : "Fw" } }, - "35" : { + "44" : { "Port" : { - "nodeId" : 286, + "nodeId" : 312, "unqualifiedName" : "Cmd" } }, - "46" : { + "59" : { "Module" : { - "nodeId" : 298, + "nodeId" : 324, "unqualifiedName" : "Fw" } }, - "48" : { + "60" : { "Port" : { - "nodeId" : 289, + "nodeId" : 315, "unqualifiedName" : "Log" } }, - "51" : { + "65" : { "Module" : { - "nodeId" : 302, + "nodeId" : 328, "unqualifiedName" : "Svc" } }, - "53" : { + "66" : { "Port" : { - "nodeId" : 301, + "nodeId" : 327, "unqualifiedName" : "Ping" } }, - "63" : { + "80" : { "Module" : { - "nodeId" : 302, + "nodeId" : 328, "unqualifiedName" : "Svc" } }, - "65" : { + "81" : { "Port" : { - "nodeId" : 301, + "nodeId" : 327, "unqualifiedName" : "Ping" } }, - "68" : { + "86" : { "Module" : { - "nodeId" : 298, + "nodeId" : 324, "unqualifiedName" : "Fw" } }, - "70" : { + "87" : { "Port" : { - "nodeId" : 291, + "nodeId" : 317, "unqualifiedName" : "PrmGet" } }, - "80" : { + "101" : { "Module" : { - "nodeId" : 298, + "nodeId" : 324, "unqualifiedName" : "Fw" } }, - "82" : { + "102" : { "Port" : { - "nodeId" : 292, + "nodeId" : 318, "unqualifiedName" : "PrmSet" } }, - "93" : { + "117" : { "Module" : { - "nodeId" : 298, + "nodeId" : 324, "unqualifiedName" : "Fw" } }, - "95" : { + "118" : { "Port" : { - "nodeId" : 294, + "nodeId" : 320, "unqualifiedName" : "Tlm" } }, - "106" : { + "133" : { "Module" : { - "nodeId" : 298, + "nodeId" : 324, "unqualifiedName" : "Fw" } }, - "108" : { + "134" : { "Port" : { - "nodeId" : 290, + "nodeId" : 316, "unqualifiedName" : "LogText" } }, - "112" : { + "138" : { "Component" : { - "nodeId" : 12, + "nodeId" : 15, "unqualifiedName" : "Time" } }, - "116" : { + "142" : { "Component" : { - "nodeId" : 37, + "nodeId" : 46, "unqualifiedName" : "Command" } }, - "120" : { + "146" : { "Component" : { - "nodeId" : 50, + "nodeId" : 62, "unqualifiedName" : "Event" } }, - "124" : { + "150" : { "Component" : { - "nodeId" : 67, + "nodeId" : 83, "unqualifiedName" : "Health" } }, - "128" : { + "154" : { "Component" : { - "nodeId" : 84, + "nodeId" : 104, "unqualifiedName" : "Param" } }, - "132" : { + "158" : { "Component" : { - "nodeId" : 97, + "nodeId" : 120, "unqualifiedName" : "Telemetry" } }, - "136" : { + "162" : { "Component" : { - "nodeId" : 110, + "nodeId" : 136, "unqualifiedName" : "TextEvent" } }, - "238" : { + "264" : { "ComponentInstance" : { - "nodeId" : 114, + "nodeId" : 140, "unqualifiedName" : "c1" } }, - "241" : { + "267" : { "ComponentInstance" : { - "nodeId" : 118, + "nodeId" : 144, "unqualifiedName" : "c2" } }, - "244" : { + "270" : { "ComponentInstance" : { - "nodeId" : 122, + "nodeId" : 148, "unqualifiedName" : "c3" } }, - "247" : { + "273" : { "ComponentInstance" : { - "nodeId" : 126, + "nodeId" : 152, "unqualifiedName" : "c4" } }, - "250" : { + "276" : { "ComponentInstance" : { - "nodeId" : 130, + "nodeId" : 156, "unqualifiedName" : "c5" } }, - "253" : { + "279" : { "ComponentInstance" : { - "nodeId" : 134, + "nodeId" : 160, "unqualifiedName" : "c6" } }, - "256" : { + "282" : { "ComponentInstance" : { - "nodeId" : 138, + "nodeId" : 164, "unqualifiedName" : "c7" } }, - "259" : { + "285" : { "ComponentInstance" : { - "nodeId" : 114, + "nodeId" : 140, "unqualifiedName" : "c1" } }, - "262" : { + "288" : { "ComponentInstance" : { - "nodeId" : 118, + "nodeId" : 144, "unqualifiedName" : "c2" } }, - "265" : { + "291" : { "ComponentInstance" : { - "nodeId" : 122, + "nodeId" : 148, "unqualifiedName" : "c3" } }, - "268" : { + "294" : { "ComponentInstance" : { - "nodeId" : 126, + "nodeId" : 152, "unqualifiedName" : "c4" } }, - "271" : { + "297" : { "ComponentInstance" : { - "nodeId" : 130, + "nodeId" : 156, "unqualifiedName" : "c5" } }, - "274" : { + "300" : { "ComponentInstance" : { - "nodeId" : 134, + "nodeId" : 160, "unqualifiedName" : "c6" } }, - "283" : { + "309" : { "ComponentInstance" : { - "nodeId" : 138, + "nodeId" : 164, "unqualifiedName" : "c7" } } }, "valueMap" : { - "113" : { + "139" : { "Integer" : { "value" : 256 } }, - "117" : { + "143" : { "Integer" : { "value" : 512 } }, - "121" : { + "147" : { "Integer" : { "value" : 768 } }, - "125" : { + "151" : { "Integer" : { "value" : 1024 } }, - "129" : { + "155" : { "Integer" : { "value" : 1280 } }, - "133" : { + "159" : { "Integer" : { "value" : 1536 } }, - "137" : { + "163" : { "Integer" : { "value" : 1792 } diff --git a/compiler/tools/fpp-to-json/test/ports.ref.txt b/compiler/tools/fpp-to-json/test/ports.ref.txt index 166ecc73a3..c7c0d65364 100644 --- a/compiler/tools/fpp-to-json/test/ports.ref.txt +++ b/compiler/tools/fpp-to-json/test/ports.ref.txt @@ -794,7 +794,7 @@ "name" : "M" } }, - "id" : 87 + "id" : 89 } }, "name" : { @@ -805,7 +805,7 @@ } } }, - "id" : 89 + "id" : 90 } }, "baseId" : { @@ -815,7 +815,7 @@ "value" : "0x2100" } }, - "id" : 90 + "id" : 91 } }, "implType" : "None", @@ -828,7 +828,7 @@ "value" : "10" } }, - "id" : 91 + "id" : 92 } } }, @@ -838,7 +838,7 @@ "initSpecs" : [ ] }, - "id" : 92 + "id" : 93 } } } @@ -882,11 +882,11 @@ "name" : "i" } }, - "id" : 120 + "id" : 121 } } }, - "id" : 121 + "id" : 122 } } } @@ -898,7 +898,7 @@ "implements" : [ ] }, - "id" : 122 + "id" : 123 } } } @@ -908,7 +908,7 @@ ] ] }, - "id" : 123 + "id" : 124 } } } @@ -926,622 +926,752 @@ "0" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "1.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "1" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "1.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "2" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "2.40", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "3" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "2.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "4" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "4.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "5" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "6.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "6" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "7.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "7" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "7.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "8" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "7.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "9" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "7.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "10" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "7.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "11" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "7.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "12" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "7.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "13" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "8.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "14" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "8.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "15" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "8.20", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "16" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "8.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "17" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "8.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "18" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "8.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "19" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "8.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "20" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "8.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "21" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "8.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "22" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "8.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "23" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "8.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "24" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "10.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "25" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "10.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "26" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "10.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "27" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "10.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "28" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "10.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "29" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "11.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "30" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "12.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "31" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "12.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "32" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "12.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "33" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "12.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "34" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "12.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "35" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "12.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "36" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "12.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "37" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "12.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "38" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "12.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "39" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "12.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "40" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "12.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "41" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "12.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "42" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "12.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "43" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "12.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "44" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "12.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "45" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "12.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "46" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "12.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "47" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "12.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "48" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "12.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "49" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "12.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "50" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "12.34", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "51" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "12.34", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "52" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "12.34", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "53" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "12.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "54" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "14.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "55" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "14.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "56" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "14.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "57" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "14.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "58" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "14.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "59" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "16.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "60" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "16.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "61" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "16.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "62" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "16.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "63" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "16.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "64" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "16.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "65" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "16.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "66" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "16.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "67" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "16.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "68" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "16.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "69" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "20.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "70" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "20.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "71" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "20.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "72" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "19.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "73" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "24.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "74" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "30.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "75" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "30.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "76" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "30.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "77" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "27.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "78" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "30.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "79" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "30.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "80" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "30.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "81" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "27.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "82" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "30.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "83" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "30.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "84" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "30.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "85" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "27.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "86" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "23.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "87" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "36.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "88" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "36.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "89" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "36.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "90" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", - "pos" : "36.25", - "includingLoc" : "None" + "pos" : "36.13", + "includingLoc" : "None", + "expandingLoc" : "None" }, "91" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", - "pos" : "37.16", - "includingLoc" : "None" + "pos" : "36.25", + "includingLoc" : "None", + "expandingLoc" : "None" }, "92" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", - "pos" : "36.1", - "includingLoc" : "None" + "pos" : "37.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "93" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", - "pos" : "42.18", - "includingLoc" : "None" + "pos" : "36.1", + "includingLoc" : "None", + "expandingLoc" : "None" }, "94" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "42.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "95" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", - "pos" : "42.9", - "includingLoc" : "None" + "pos" : "42.18", + "includingLoc" : "None", + "expandingLoc" : "None" }, "96" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", - "pos" : "42.18", - "includingLoc" : "None" + "pos" : "42.9", + "includingLoc" : "None", + "expandingLoc" : "None" }, "97" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "42.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "98" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", - "pos" : "42.9", - "includingLoc" : "None" + "pos" : "42.18", + "includingLoc" : "None", + "expandingLoc" : "None" }, "99" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", - "pos" : "42.18", - "includingLoc" : "None" + "pos" : "42.9", + "includingLoc" : "None", + "expandingLoc" : "None" }, "100" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "42.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "101" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", - "pos" : "42.9", - "includingLoc" : "None" + "pos" : "42.18", + "includingLoc" : "None", + "expandingLoc" : "None" }, "102" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", - "pos" : "41.5", - "includingLoc" : "None" + "pos" : "42.9", + "includingLoc" : "None", + "expandingLoc" : "None" }, "103" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", - "pos" : "42.18", - "includingLoc" : "None" + "pos" : "41.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "104" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "42.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "105" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", - "pos" : "42.9", - "includingLoc" : "None" + "pos" : "42.18", + "includingLoc" : "None", + "expandingLoc" : "None" }, "106" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", - "pos" : "42.18", - "includingLoc" : "None" + "pos" : "42.9", + "includingLoc" : "None", + "expandingLoc" : "None" }, "107" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "42.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "108" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", - "pos" : "42.9", - "includingLoc" : "None" + "pos" : "42.18", + "includingLoc" : "None", + "expandingLoc" : "None" }, "109" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", - "pos" : "42.18", - "includingLoc" : "None" + "pos" : "42.9", + "includingLoc" : "None", + "expandingLoc" : "None" }, "110" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "42.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "111" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", - "pos" : "42.9", - "includingLoc" : "None" + "pos" : "42.18", + "includingLoc" : "None", + "expandingLoc" : "None" }, "112" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", - "pos" : "41.5", - "includingLoc" : "None" + "pos" : "42.9", + "includingLoc" : "None", + "expandingLoc" : "None" }, "113" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", - "pos" : "42.18", - "includingLoc" : "None" + "pos" : "41.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "114" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "42.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "115" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", - "pos" : "42.9", - "includingLoc" : "None" + "pos" : "42.18", + "includingLoc" : "None", + "expandingLoc" : "None" }, "116" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", - "pos" : "42.18", - "includingLoc" : "None" + "pos" : "42.9", + "includingLoc" : "None", + "expandingLoc" : "None" }, "117" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "42.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "118" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", - "pos" : "42.9", - "includingLoc" : "None" + "pos" : "42.18", + "includingLoc" : "None", + "expandingLoc" : "None" }, "119" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", - "pos" : "42.18", - "includingLoc" : "None" + "pos" : "42.9", + "includingLoc" : "None", + "expandingLoc" : "None" }, "120" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "42.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "121" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", - "pos" : "42.9", - "includingLoc" : "None" + "pos" : "42.18", + "includingLoc" : "None", + "expandingLoc" : "None" }, "122" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", - "pos" : "41.5", - "includingLoc" : "None" + "pos" : "42.9", + "includingLoc" : "None", + "expandingLoc" : "None" }, "123" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", + "pos" : "41.5", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "124" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "40.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } } } @@ -1549,9 +1679,9 @@ "fppVersion" : "[ fpp version ]", "analysis" : { "componentInstanceMap" : { - "92" : { + "93" : { "aNode" : { - "astNodeId" : 92 + "astNodeId" : 93 }, "qualifiedName" : { "qualifier" : [ @@ -1769,7 +1899,7 @@ "unqualifiedName" : "M" } }, - "122" : { + "123" : { "Module" : { "nodeId" : 86, "unqualifiedName" : "M" @@ -1862,7 +1992,7 @@ "map" : { "T" : { "Topology" : { - "nodeId" : 122, + "nodeId" : 123, "unqualifiedName" : "T" } } @@ -1902,9 +2032,9 @@ } }, "topologyMap" : { - "122" : { + "123" : { "aNode" : { - "astNodeId" : 122 + "astNodeId" : 123 }, "qualifiedName" : { "qualifier" : [ @@ -1916,25 +2046,28 @@ }, "directComponentInstances" : { - "92" : { + "93" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "42.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } + }, + "directTemplateArgs" : { + }, "transitiveImportSet" : [ ], "instanceMap" : [ [ { - "InterfaceComponentInstance" : { - "astNodeId" : 92 - } + "InterfaceComponentInstance" : 93 }, { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/ports.fpp", "pos" : "42.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ] ], @@ -1972,9 +2105,7 @@ "unconnectedPortSet" : [ { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 92 - } + "InterfaceComponentInstance" : 93 }, "portInstance" : { "Special" : { @@ -2341,21 +2472,21 @@ } } }, - "90" : { + "91" : { "Int" : { "Integer" : { } } }, - "91" : { + "92" : { "Int" : { "Integer" : { } } }, - "124" : { + "125" : { "AliasType" : { "node" : { "astNodeId" : 1 @@ -2373,7 +2504,7 @@ } } }, - "125" : { + "126" : { "Int" : { "Integer" : { @@ -2448,35 +2579,41 @@ "unqualifiedName" : "DpResponse" } }, - "87" : { + "89" : { "Module" : { "nodeId" : 86, "unqualifiedName" : "M" } }, - "89" : { + "90" : { "Component" : { "nodeId" : 85, "unqualifiedName" : "Q" } }, - "120" : { + "121" : { "ComponentInstance" : { - "nodeId" : 92, + "nodeId" : 93, "unqualifiedName" : "i" } }, - "124" : { + "125" : { "AliasType" : { "nodeId" : 1, "unqualifiedName" : "FwSizeStoreType" } }, - "125" : { + "126" : { "Constant" : { "nodeId" : 3, "unqualifiedName" : "FW_FIXED_LENGTH_STRING_SIZE" } + }, + "127" : { + "Module" : { + "nodeId" : 72, + "unqualifiedName" : "Fw" + } } }, "valueMap" : { @@ -2574,17 +2711,17 @@ } } }, - "90" : { + "91" : { "Integer" : { "value" : 8448 } }, - "91" : { + "92" : { "Integer" : { "value" : 10 } }, - "125" : { + "126" : { "Integer" : { "value" : 256 } diff --git a/compiler/tools/fpp-to-json/test/queuedComponents.ref.txt b/compiler/tools/fpp-to-json/test/queuedComponents.ref.txt index 54fb54f25c..16dd69207a 100644 --- a/compiler/tools/fpp-to-json/test/queuedComponents.ref.txt +++ b/compiler/tools/fpp-to-json/test/queuedComponents.ref.txt @@ -113,18 +113,18 @@ "name" : "Svc" } }, - "id" : 43 + "id" : 47 } }, "name" : { "AstNode" : { "data" : "Sched", - "id" : 44 + "id" : 46 } } } }, - "id" : 45 + "id" : 48 } } }, @@ -132,7 +132,7 @@ "queueFull" : "None" } }, - "id" : 46 + "id" : 49 } } } @@ -165,7 +165,7 @@ "name" : "Calibration" } }, - "id" : 48 + "id" : 51 } } }, @@ -173,7 +173,7 @@ "queueFull" : "None" } }, - "id" : 49 + "id" : 52 } } } @@ -202,7 +202,7 @@ "queueFull" : "None" } }, - "id" : 50 + "id" : 53 } } } @@ -231,7 +231,7 @@ "queueFull" : "None" } }, - "id" : 51 + "id" : 54 } } } @@ -260,7 +260,7 @@ } } }, - "id" : 52 + "id" : 55 } }, "id" : "None", @@ -271,7 +271,7 @@ "high" : [ ] }, - "id" : 53 + "id" : 56 } } } @@ -300,7 +300,7 @@ } } }, - "id" : 58 + "id" : 61 } }, "id" : "None", @@ -311,7 +311,7 @@ "high" : [ ] }, - "id" : 59 + "id" : 62 } } } @@ -321,7 +321,7 @@ ] ] }, - "id" : 60 + "id" : 63 } } } @@ -331,7 +331,7 @@ ] ] }, - "id" : 61 + "id" : 64 } } } @@ -370,18 +370,18 @@ "name" : "Sensors" } }, - "id" : 74 + "id" : 81 } }, "name" : { "AstNode" : { "data" : "EngineTemp", - "id" : 75 + "id" : 80 } } } }, - "id" : 76 + "id" : 82 } }, "baseId" : { @@ -391,7 +391,7 @@ "value" : "0x100" } }, - "id" : 77 + "id" : 83 } }, "implType" : "None", @@ -404,7 +404,7 @@ "value" : "10" } }, - "id" : 78 + "id" : 84 } } }, @@ -414,7 +414,7 @@ "initSpecs" : [ ] }, - "id" : 79 + "id" : 85 } } } @@ -424,7 +424,7 @@ ] ] }, - "id" : 80 + "id" : 86 } } } @@ -455,7 +455,7 @@ ], "returnType" : "None" }, - "id" : 83 + "id" : 89 } } } @@ -465,7 +465,7 @@ ] ] }, - "id" : 84 + "id" : 90 } } } @@ -496,7 +496,7 @@ ], "returnType" : "None" }, - "id" : 85 + "id" : 91 } } } @@ -517,7 +517,7 @@ ], "returnType" : "None" }, - "id" : 88 + "id" : 94 } } } @@ -527,7 +527,7 @@ ] ] }, - "id" : 89 + "id" : 95 } } } @@ -545,452 +545,578 @@ "0" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", "pos" : "4.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "1" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", "pos" : "4.20", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "2" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", "pos" : "4.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "3" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", "pos" : "4.20", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "4" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", "pos" : "4.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "5" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", "pos" : "4.20", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "6" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", "pos" : "4.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "7" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", "pos" : "10.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "8" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", "pos" : "10.34", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "9" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", "pos" : "10.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "10" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "10.5", - "includingLoc" : "None" + "pos" : "10.30", + "includingLoc" : "None", + "expandingLoc" : "None" }, "11" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "13.37", - "includingLoc" : "None" + "pos" : "10.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "12" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", "pos" : "13.37", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "13" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "13.5", - "includingLoc" : "None" + "pos" : "13.37", + "includingLoc" : "None", + "expandingLoc" : "None" }, "14" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "16.5", - "includingLoc" : "None" + "pos" : "13.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "15" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "19.5", - "includingLoc" : "None" + "pos" : "16.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "16" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "22.28", - "includingLoc" : "None" + "pos" : "19.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "17" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "22.5", - "includingLoc" : "None" + "pos" : "22.28", + "includingLoc" : "None", + "expandingLoc" : "None" }, "18" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "25.25", - "includingLoc" : "None" + "pos" : "22.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "19" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "25.5", - "includingLoc" : "None" + "pos" : "25.25", + "includingLoc" : "None", + "expandingLoc" : "None" }, "20" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "25.25", - "includingLoc" : "None" + "pos" : "25.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "21" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "25.5", - "includingLoc" : "None" + "pos" : "25.25", + "includingLoc" : "None", + "expandingLoc" : "None" }, "22" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "25.25", - "includingLoc" : "None" + "pos" : "25.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "23" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "25.5", - "includingLoc" : "None" + "pos" : "25.25", + "includingLoc" : "None", + "expandingLoc" : "None" }, "24" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "7.3", - "includingLoc" : "None" + "pos" : "25.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "25" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "10.30", - "includingLoc" : "None" + "pos" : "7.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "26" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "10.34", - "includingLoc" : "None" + "pos" : "10.30", + "includingLoc" : "None", + "expandingLoc" : "None" }, "27" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "10.30", - "includingLoc" : "None" + "pos" : "10.34", + "includingLoc" : "None", + "expandingLoc" : "None" }, "28" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "10.5", - "includingLoc" : "None" + "pos" : "10.30", + "includingLoc" : "None", + "expandingLoc" : "None" }, "29" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "13.37", - "includingLoc" : "None" + "pos" : "10.30", + "includingLoc" : "None", + "expandingLoc" : "None" }, "30" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "13.37", - "includingLoc" : "None" + "pos" : "10.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "31" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "13.5", - "includingLoc" : "None" + "pos" : "13.37", + "includingLoc" : "None", + "expandingLoc" : "None" }, "32" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "16.5", - "includingLoc" : "None" + "pos" : "13.37", + "includingLoc" : "None", + "expandingLoc" : "None" }, "33" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "19.5", - "includingLoc" : "None" + "pos" : "13.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "34" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "22.28", - "includingLoc" : "None" + "pos" : "16.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "35" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "22.5", - "includingLoc" : "None" + "pos" : "19.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "36" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "25.25", - "includingLoc" : "None" + "pos" : "22.28", + "includingLoc" : "None", + "expandingLoc" : "None" }, "37" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "25.5", - "includingLoc" : "None" + "pos" : "22.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "38" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", "pos" : "25.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "39" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", "pos" : "25.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "40" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", "pos" : "25.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "41" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", "pos" : "25.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "42" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "7.3", - "includingLoc" : "None" + "pos" : "25.25", + "includingLoc" : "None", + "expandingLoc" : "None" }, "43" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "10.30", - "includingLoc" : "None" + "pos" : "25.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "44" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "10.34", - "includingLoc" : "None" + "pos" : "7.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "45" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", "pos" : "10.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "46" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "10.5", - "includingLoc" : "None" + "pos" : "10.34", + "includingLoc" : "None", + "expandingLoc" : "None" }, "47" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "13.37", - "includingLoc" : "None" + "pos" : "10.30", + "includingLoc" : "None", + "expandingLoc" : "None" }, "48" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "13.37", - "includingLoc" : "None" + "pos" : "10.30", + "includingLoc" : "None", + "expandingLoc" : "None" }, "49" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "13.5", - "includingLoc" : "None" + "pos" : "10.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "50" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "16.5", - "includingLoc" : "None" + "pos" : "13.37", + "includingLoc" : "None", + "expandingLoc" : "None" }, "51" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "19.5", - "includingLoc" : "None" + "pos" : "13.37", + "includingLoc" : "None", + "expandingLoc" : "None" }, "52" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "22.28", - "includingLoc" : "None" + "pos" : "13.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "53" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "22.5", - "includingLoc" : "None" + "pos" : "16.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "54" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "25.25", - "includingLoc" : "None" + "pos" : "19.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "55" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "25.5", - "includingLoc" : "None" + "pos" : "22.28", + "includingLoc" : "None", + "expandingLoc" : "None" }, "56" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "25.25", - "includingLoc" : "None" + "pos" : "22.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "57" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "25.5", - "includingLoc" : "None" + "pos" : "25.25", + "includingLoc" : "None", + "expandingLoc" : "None" }, "58" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "25.25", - "includingLoc" : "None" + "pos" : "25.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "59" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "25.5", - "includingLoc" : "None" + "pos" : "25.25", + "includingLoc" : "None", + "expandingLoc" : "None" }, "60" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "7.3", - "includingLoc" : "None" + "pos" : "25.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "61" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "1.1", - "includingLoc" : "None" + "pos" : "25.25", + "includingLoc" : "None", + "expandingLoc" : "None" }, "62" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "34.24", - "includingLoc" : "None" + "pos" : "25.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "63" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "34.32", - "includingLoc" : "None" + "pos" : "7.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "64" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "34.24", - "includingLoc" : "None" + "pos" : "1.1", + "includingLoc" : "None", + "expandingLoc" : "None" }, "65" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "34.51", - "includingLoc" : "None" + "pos" : "34.24", + "includingLoc" : "None", + "expandingLoc" : "None" }, "66" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "35.16", - "includingLoc" : "None" + "pos" : "34.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "67" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "34.3", - "includingLoc" : "None" + "pos" : "34.24", + "includingLoc" : "None", + "expandingLoc" : "None" }, "68" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", "pos" : "34.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "69" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "34.32", - "includingLoc" : "None" + "pos" : "34.51", + "includingLoc" : "None", + "expandingLoc" : "None" }, "70" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "34.24", - "includingLoc" : "None" + "pos" : "35.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "71" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "34.51", - "includingLoc" : "None" + "pos" : "34.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "72" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "35.16", - "includingLoc" : "None" + "pos" : "34.24", + "includingLoc" : "None", + "expandingLoc" : "None" }, "73" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "34.3", - "includingLoc" : "None" + "pos" : "34.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "74" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", "pos" : "34.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "75" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "34.32", - "includingLoc" : "None" + "pos" : "34.24", + "includingLoc" : "None", + "expandingLoc" : "None" }, "76" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "34.24", - "includingLoc" : "None" + "pos" : "34.51", + "includingLoc" : "None", + "expandingLoc" : "None" }, "77" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "34.51", - "includingLoc" : "None" + "pos" : "35.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "78" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "35.16", - "includingLoc" : "None" + "pos" : "34.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "79" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "34.3", - "includingLoc" : "None" + "pos" : "34.24", + "includingLoc" : "None", + "expandingLoc" : "None" }, "80" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "31.1", - "includingLoc" : "None" + "pos" : "34.32", + "includingLoc" : "None", + "expandingLoc" : "None" }, "81" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "40.3", - "includingLoc" : "None" + "pos" : "34.24", + "includingLoc" : "None", + "expandingLoc" : "None" }, "82" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "40.3", - "includingLoc" : "None" + "pos" : "34.24", + "includingLoc" : "None", + "expandingLoc" : "None" }, "83" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "40.3", - "includingLoc" : "None" + "pos" : "34.51", + "includingLoc" : "None", + "expandingLoc" : "None" }, "84" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "39.1", - "includingLoc" : "None" + "pos" : "35.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "85" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "44.3", - "includingLoc" : "None" + "pos" : "34.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "86" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "45.3", - "includingLoc" : "None" + "pos" : "31.1", + "includingLoc" : "None", + "expandingLoc" : "None" }, "87" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "45.3", - "includingLoc" : "None" + "pos" : "40.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "88" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", - "pos" : "45.3", - "includingLoc" : "None" + "pos" : "40.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "89" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", + "pos" : "40.3", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "90" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", + "pos" : "39.1", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "91" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", + "pos" : "44.3", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "92" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", + "pos" : "45.3", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "93" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", + "pos" : "45.3", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "94" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", + "pos" : "45.3", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "95" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/queuedComponents.fpp", "pos" : "43.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } } } @@ -998,9 +1124,9 @@ "fppVersion" : "[ fpp version ]", "analysis" : { "componentInstanceMap" : { - "79" : { + "85" : { "aNode" : { - "astNodeId" : 79 + "astNodeId" : 85 }, "qualifiedName" : { "qualifier" : [ @@ -1009,7 +1135,7 @@ "base" : "engineTemp" }, "component" : { - "astNodeId" : 60 + "astNodeId" : 63 }, "baseId" : 256, "maxId" : 257, @@ -1026,9 +1152,9 @@ } }, "componentMap" : { - "60" : { + "63" : { "aNode" : { - "astNodeId" : 60 + "astNodeId" : 63 }, "portInterface" : { "instanceType" : "component", @@ -1036,7 +1162,7 @@ "calibrationIn" : { "General" : { "aNode" : { - "astNodeId" : 49 + "astNodeId" : 52 }, "specifier" : { "kind" : { @@ -1048,7 +1174,7 @@ "size" : "None", "port" : { "Some" : { - "astNodeId" : 48 + "astNodeId" : 51 } }, "priority" : "None", @@ -1073,7 +1199,7 @@ "schedIn" : { "General" : { "aNode" : { - "astNodeId" : 46 + "astNodeId" : 49 }, "specifier" : { "kind" : { @@ -1085,7 +1211,7 @@ "size" : "None", "port" : { "Some" : { - "astNodeId" : 45 + "astNodeId" : 48 } }, "priority" : "None", @@ -1097,7 +1223,7 @@ "DefPort" : { "symbol" : { "Port" : { - "nodeId" : 83, + "nodeId" : 89, "unqualifiedName" : "Sched" } } @@ -1110,7 +1236,7 @@ "timeGetOut" : { "Special" : { "aNode" : { - "astNodeId" : 51 + "astNodeId" : 54 }, "specifier" : { "inputKind" : "None", @@ -1125,7 +1251,7 @@ }, "symbol" : { "Port" : { - "nodeId" : 88, + "nodeId" : 94, "unqualifiedName" : "Time" } }, @@ -1138,7 +1264,7 @@ "tlmOut" : { "Special" : { "aNode" : { - "astNodeId" : 50 + "astNodeId" : 53 }, "specifier" : { "inputKind" : "None", @@ -1153,7 +1279,7 @@ }, "symbol" : { "Port" : { - "nodeId" : 85, + "nodeId" : 91, "unqualifiedName" : "Tlm" } }, @@ -1167,7 +1293,7 @@ "specialPortMap" : { "telemetry" : { "aNode" : { - "astNodeId" : 50 + "astNodeId" : 53 }, "specifier" : { "inputKind" : "None", @@ -1182,7 +1308,7 @@ }, "symbol" : { "Port" : { - "nodeId" : 85, + "nodeId" : 91, "unqualifiedName" : "Tlm" } }, @@ -1193,7 +1319,7 @@ }, "time get" : { "aNode" : { - "astNodeId" : 51 + "astNodeId" : 54 }, "specifier" : { "inputKind" : "None", @@ -1208,7 +1334,7 @@ }, "symbol" : { "Port" : { - "nodeId" : 88, + "nodeId" : 94, "unqualifiedName" : "Time" } }, @@ -1226,7 +1352,7 @@ "tlmChannelMap" : { "0" : { "aNode" : { - "astNodeId" : 53 + "astNodeId" : 56 }, "channelType" : { "Primitive" : { @@ -1254,7 +1380,7 @@ }, "1" : { "aNode" : { - "astNodeId" : 59 + "astNodeId" : 62 }, "channelType" : { "Primitive" : { @@ -1284,7 +1410,7 @@ "tlmChannelNameMap" : { "ImpulseTemp" : { "aNode" : { - "astNodeId" : 53 + "astNodeId" : 56 }, "channelType" : { "Primitive" : { @@ -1312,7 +1438,7 @@ }, "WarpTemp" : { "aNode" : { - "astNodeId" : 59 + "astNodeId" : 62 }, "channelType" : { "Primitive" : { @@ -1383,54 +1509,54 @@ "parentSymbolMap" : { "6" : { "Module" : { - "nodeId" : 61, + "nodeId" : 64, "unqualifiedName" : "Sensors" } }, - "60" : { + "63" : { "Module" : { - "nodeId" : 61, + "nodeId" : 64, "unqualifiedName" : "Sensors" } }, - "79" : { + "85" : { "Module" : { - "nodeId" : 80, + "nodeId" : 86, "unqualifiedName" : "FSW" } }, - "83" : { + "89" : { "Module" : { - "nodeId" : 84, + "nodeId" : 90, "unqualifiedName" : "Svc" } }, - "85" : { + "91" : { "Module" : { - "nodeId" : 89, + "nodeId" : 95, "unqualifiedName" : "Fw" } }, - "88" : { + "94" : { "Module" : { - "nodeId" : 89, + "nodeId" : 95, "unqualifiedName" : "Fw" } } }, "symbolScopeMap" : { - "60" : { + "63" : { "map" : { } }, - "61" : { + "64" : { "map" : { "Component" : { "map" : { "EngineTemp" : { "Component" : { - "nodeId" : 60, + "nodeId" : 63, "unqualifiedName" : "EngineTemp" } } @@ -1450,7 +1576,7 @@ "map" : { "EngineTemp" : { "Component" : { - "nodeId" : 60, + "nodeId" : 63, "unqualifiedName" : "EngineTemp" } } @@ -1460,7 +1586,7 @@ "map" : { "EngineTemp" : { "Component" : { - "nodeId" : 60, + "nodeId" : 63, "unqualifiedName" : "EngineTemp" } } @@ -1470,7 +1596,7 @@ "map" : { "EngineTemp" : { "Component" : { - "nodeId" : 60, + "nodeId" : 63, "unqualifiedName" : "EngineTemp" } } @@ -1478,13 +1604,13 @@ } } }, - "80" : { + "86" : { "map" : { "PortInterfaceInstance" : { "map" : { "engineTemp" : { "ComponentInstance" : { - "nodeId" : 79, + "nodeId" : 85, "unqualifiedName" : "engineTemp" } } @@ -1492,13 +1618,13 @@ } } }, - "84" : { + "90" : { "map" : { "Port" : { "map" : { "Sched" : { "Port" : { - "nodeId" : 83, + "nodeId" : 89, "unqualifiedName" : "Sched" } } @@ -1506,19 +1632,19 @@ } } }, - "89" : { + "95" : { "map" : { "Port" : { "map" : { "Time" : { "Port" : { - "nodeId" : 88, + "nodeId" : 94, "unqualifiedName" : "Time" } }, "Tlm" : { "Port" : { - "nodeId" : 85, + "nodeId" : 91, "unqualifiedName" : "Tlm" } } @@ -1542,7 +1668,7 @@ } } }, - "52" : { + "55" : { "Primitive" : { "Float" : { "kind" : { @@ -1553,7 +1679,7 @@ } } }, - "58" : { + "61" : { "Primitive" : { "Float" : { "kind" : { @@ -1564,14 +1690,14 @@ } } }, - "77" : { + "83" : { "Int" : { "Integer" : { } } }, - "78" : { + "84" : { "Int" : { "Integer" : { @@ -1580,56 +1706,68 @@ } }, "useDefMap" : { - "43" : { + "47" : { "Module" : { - "nodeId" : 84, + "nodeId" : 90, "unqualifiedName" : "Svc" } }, - "45" : { + "48" : { "Port" : { - "nodeId" : 83, + "nodeId" : 89, "unqualifiedName" : "Sched" } }, - "48" : { + "51" : { "Port" : { "nodeId" : 6, "unqualifiedName" : "Calibration" } }, - "50" : { + "53" : { "Port" : { - "nodeId" : 85, + "nodeId" : 91, "unqualifiedName" : "Tlm" } }, - "51" : { + "54" : { "Port" : { - "nodeId" : 88, + "nodeId" : 94, "unqualifiedName" : "Time" } }, - "74" : { + "81" : { "Module" : { - "nodeId" : 61, + "nodeId" : 64, "unqualifiedName" : "Sensors" } }, - "76" : { + "82" : { "Component" : { - "nodeId" : 60, + "nodeId" : 63, "unqualifiedName" : "EngineTemp" } + }, + "96" : { + "Module" : { + "nodeId" : 95, + "unqualifiedName" : "Fw" + } + }, + "97" : { + "Module" : { + "nodeId" : 95, + "unqualifiedName" : "Fw" + } } }, "valueMap" : { - "77" : { + "83" : { "Integer" : { "value" : 256 } }, - "78" : { + "84" : { "Integer" : { "value" : 10 } diff --git a/compiler/tools/fpp-to-json/test/simpleComponents.ref.txt b/compiler/tools/fpp-to-json/test/simpleComponents.ref.txt index d447177541..85edf05676 100644 --- a/compiler/tools/fpp-to-json/test/simpleComponents.ref.txt +++ b/compiler/tools/fpp-to-json/test/simpleComponents.ref.txt @@ -687,347 +687,416 @@ "0" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "2.22", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "1" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "2.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "2" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "2.22", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "3" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "2.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "4" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "2.22", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "5" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "2.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "6" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "2.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "7" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "8.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "8" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "8.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "9" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "8.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "10" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "11.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "11" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "11.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "12" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "11.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "13" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "14.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "14" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "14.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "15" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "14.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "16" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "14.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "17" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "14.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "18" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "14.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "19" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "14.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "20" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "14.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "21" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "14.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "22" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "5.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "23" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "22.33", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "24" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "22.33", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "25" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "22.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "26" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "25.33", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "27" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "25.33", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "28" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "25.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "29" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "28.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "30" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "28.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "31" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "28.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "32" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "28.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "33" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "28.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "34" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "28.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "35" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "28.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "36" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "28.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "37" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "28.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "38" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "19.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "39" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "38.33", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "40" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "38.33", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "41" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "38.51", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "42" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "38.54", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "43" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "38.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "44" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "41.33", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "45" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "41.33", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "46" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "41.51", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "47" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "41.54", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "48" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "41.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "49" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "44.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "50" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "44.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "51" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "44.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "52" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "44.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "53" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "44.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "54" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "44.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "55" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "44.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "56" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "44.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "57" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "44.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "58" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "35.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "59" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "50.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "60" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "50.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "61" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "56.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "62" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "59.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "63" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "59.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "64" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "59.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "65" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "59.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "66" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "59.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "67" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "59.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "68" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleComponents.fpp", "pos" : "53.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } } } diff --git a/compiler/tools/fpp-to-json/test/simpleTopology.ref.txt b/compiler/tools/fpp-to-json/test/simpleTopology.ref.txt index 7bab07c4f4..bff1f246ff 100644 --- a/compiler/tools/fpp-to-json/test/simpleTopology.ref.txt +++ b/compiler/tools/fpp-to-json/test/simpleTopology.ref.txt @@ -479,332 +479,398 @@ "0" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "1.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "1" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "3.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "2" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "6.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "3" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "6.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "4" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "6.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "5" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "7.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "6" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "7.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "7" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "7.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "8" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "7.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "9" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "7.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "10" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "7.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "11" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "7.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "12" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "7.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "13" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "7.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "14" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "5.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "15" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "10.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "16" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "10.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "17" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "10.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "18" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "10.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "19" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "11.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "20" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "11.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "21" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "11.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "22" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "11.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "23" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "17.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "24" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "17.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "25" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "17.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "26" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "19.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "27" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "19.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "28" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "19.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "29" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "23.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "30" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "23.8", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "31" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "23.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "32" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "23.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "33" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "23.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "34" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "23.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "35" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "23.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "36" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "23.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "37" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "22.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "38" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "39" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.8", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "40" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "41" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "42" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "43" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "44" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "45" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "46" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "27.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "47" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "48" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.8", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "49" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "50" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "51" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "52" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "53" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "54" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "55" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "27.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "56" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "57" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.8", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "58" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "59" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "60" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "61" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "62" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "63" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "64" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "27.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "65" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "14.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } } } @@ -1024,39 +1090,42 @@ "18" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "17.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "22" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "19.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } + }, + "directTemplateArgs" : { + }, "transitiveImportSet" : [ ], "instanceMap" : [ [ { - "InterfaceComponentInstance" : { - "astNodeId" : 18 - } + "InterfaceComponentInstance" : 18 }, { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "17.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ], [ { - "InterfaceComponentInstance" : { - "astNodeId" : 22 - } + "InterfaceComponentInstance" : 22 }, { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "19.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ] ], @@ -1084,13 +1153,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "23.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 18 - } + "InterfaceComponentInstance" : 18 }, "portInstance" : { "General" : { @@ -1137,13 +1205,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "23.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 22 - } + "InterfaceComponentInstance" : 22 }, "portInstance" : { "General" : { @@ -1195,13 +1262,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 22 - } + "InterfaceComponentInstance" : 22 }, "portInstance" : { "General" : { @@ -1248,13 +1314,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 18 - } + "InterfaceComponentInstance" : 18 }, "portInstance" : { "General" : { @@ -1308,13 +1373,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "23.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 18 - } + "InterfaceComponentInstance" : 18 }, "portInstance" : { "General" : { @@ -1361,13 +1425,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "23.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 22 - } + "InterfaceComponentInstance" : 22 }, "portInstance" : { "General" : { @@ -1419,13 +1482,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 22 - } + "InterfaceComponentInstance" : 22 }, "portInstance" : { "General" : { @@ -1472,13 +1534,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 18 - } + "InterfaceComponentInstance" : 18 }, "portInstance" : { "General" : { @@ -1529,9 +1590,7 @@ [ { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 18 - } + "InterfaceComponentInstance" : 18 }, "portInstance" : { "General" : { @@ -1577,13 +1636,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "23.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 18 - } + "InterfaceComponentInstance" : 18 }, "portInstance" : { "General" : { @@ -1630,13 +1688,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "23.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 22 - } + "InterfaceComponentInstance" : 22 }, "portInstance" : { "General" : { @@ -1686,9 +1743,7 @@ [ { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 22 - } + "InterfaceComponentInstance" : 22 }, "portInstance" : { "General" : { @@ -1734,13 +1789,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 22 - } + "InterfaceComponentInstance" : 22 }, "portInstance" : { "General" : { @@ -1787,13 +1841,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 18 - } + "InterfaceComponentInstance" : 18 }, "portInstance" : { "General" : { @@ -1845,9 +1898,7 @@ [ { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 18 - } + "InterfaceComponentInstance" : 18 }, "portInstance" : { "General" : { @@ -1893,13 +1944,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 22 - } + "InterfaceComponentInstance" : 22 }, "portInstance" : { "General" : { @@ -1946,13 +1996,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 18 - } + "InterfaceComponentInstance" : 18 }, "portInstance" : { "General" : { @@ -2002,9 +2051,7 @@ [ { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 22 - } + "InterfaceComponentInstance" : 22 }, "portInstance" : { "General" : { @@ -2050,13 +2097,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "23.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 18 - } + "InterfaceComponentInstance" : 18 }, "portInstance" : { "General" : { @@ -2103,13 +2149,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "23.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 22 - } + "InterfaceComponentInstance" : 22 }, "portInstance" : { "General" : { @@ -2164,13 +2209,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "23.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 18 - } + "InterfaceComponentInstance" : 18 }, "portInstance" : { "General" : { @@ -2217,13 +2261,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "23.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 22 - } + "InterfaceComponentInstance" : 22 }, "portInstance" : { "General" : { @@ -2276,13 +2319,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 22 - } + "InterfaceComponentInstance" : 22 }, "portInstance" : { "General" : { @@ -2329,13 +2371,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 18 - } + "InterfaceComponentInstance" : 18 }, "portInstance" : { "General" : { @@ -2390,13 +2431,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "23.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 18 - } + "InterfaceComponentInstance" : 18 }, "portInstance" : { "General" : { @@ -2443,13 +2483,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "23.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 22 - } + "InterfaceComponentInstance" : 22 }, "portInstance" : { "General" : { @@ -2502,13 +2541,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 22 - } + "InterfaceComponentInstance" : 22 }, "portInstance" : { "General" : { @@ -2555,13 +2593,12 @@ "loc" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/simpleTopology.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "port" : { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 18 - } + "InterfaceComponentInstance" : 18 }, "portInstance" : { "General" : { diff --git a/compiler/tools/fpp-to-json/test/specialPorts.ref.txt b/compiler/tools/fpp-to-json/test/specialPorts.ref.txt index c4af05d51d..ba3b6ef9d1 100644 --- a/compiler/tools/fpp-to-json/test/specialPorts.ref.txt +++ b/compiler/tools/fpp-to-json/test/specialPorts.ref.txt @@ -613,182 +613,218 @@ "0" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "5.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "1" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "8.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "2" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "11.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "3" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "11.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "4" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "11.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "5" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "2.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "6" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "19.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "7" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "22.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "8" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "22.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "9" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "22.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "10" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "16.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "11" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "30.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "12" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "30.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "13" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "30.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "14" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "27.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "15" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "38.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "16" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "41.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "17" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "41.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "18" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "41.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "19" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "35.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "20" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "49.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "21" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "49.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "22" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "49.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "23" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "46.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "24" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "54.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "25" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "55.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "26" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "56.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "27" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "57.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "28" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "58.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "29" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "59.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "30" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "60.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "31" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "61.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "32" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "62.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "33" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "62.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "34" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "62.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "35" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/specialPorts.fpp", "pos" : "53.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } } } @@ -1736,6 +1772,60 @@ "nodeId" : 34, "unqualifiedName" : "Time" } + }, + "36" : { + "Module" : { + "nodeId" : 35, + "unqualifiedName" : "Fw" + } + }, + "37" : { + "Module" : { + "nodeId" : 35, + "unqualifiedName" : "Fw" + } + }, + "38" : { + "Module" : { + "nodeId" : 35, + "unqualifiedName" : "Fw" + } + }, + "39" : { + "Module" : { + "nodeId" : 35, + "unqualifiedName" : "Fw" + } + }, + "40" : { + "Module" : { + "nodeId" : 35, + "unqualifiedName" : "Fw" + } + }, + "41" : { + "Module" : { + "nodeId" : 35, + "unqualifiedName" : "Fw" + } + }, + "42" : { + "Module" : { + "nodeId" : 35, + "unqualifiedName" : "Fw" + } + }, + "43" : { + "Module" : { + "nodeId" : 35, + "unqualifiedName" : "Fw" + } + }, + "44" : { + "Module" : { + "nodeId" : 35, + "unqualifiedName" : "Fw" + } } }, "valueMap" : { diff --git a/compiler/tools/fpp-to-json/test/stateMachine.ref.txt b/compiler/tools/fpp-to-json/test/stateMachine.ref.txt index 357e4def7f..7d49d2267a 100644 --- a/compiler/tools/fpp-to-json/test/stateMachine.ref.txt +++ b/compiler/tools/fpp-to-json/test/stateMachine.ref.txt @@ -98,7 +98,7 @@ } } }, - "id" : 268 + "id" : 271 } } }, @@ -113,7 +113,7 @@ "name" : "__FPRIME_UNINITIALIZED", "value" : "None" }, - "id" : 265 + "id" : 268 } }, [ @@ -129,7 +129,7 @@ "name" : "S1", "value" : "None" }, - "id" : 266 + "id" : 269 } }, [ @@ -145,7 +145,7 @@ "name" : "S2_S3", "value" : "None" }, - "id" : 267 + "id" : 270 } }, [ @@ -155,7 +155,7 @@ "default" : "None", "isDictionaryDef" : false }, - "id" : 269 + "id" : 272 } } } @@ -921,18 +921,18 @@ { "AstNode" : { "data" : "a1", - "id" : 196 + "id" : 198 } }, { "AstNode" : { "data" : "a2", - "id" : 197 + "id" : 199 } } ] }, - "id" : 198 + "id" : 200 } } } @@ -952,18 +952,18 @@ { "AstNode" : { "data" : "a1", - "id" : 199 + "id" : 201 } }, { "AstNode" : { "data" : "a2", - "id" : 200 + "id" : 202 } } ] }, - "id" : 201 + "id" : 203 } } } @@ -987,13 +987,13 @@ { "AstNode" : { "data" : "a1", - "id" : 202 + "id" : 204 } }, { "AstNode" : { "data" : "a2", - "id" : 203 + "id" : 205 } } ], @@ -1004,15 +1004,15 @@ "name" : "S3" } }, - "id" : 205 + "id" : 207 } } }, - "id" : 206 + "id" : 208 } } }, - "id" : 207 + "id" : 209 } } } @@ -1033,7 +1033,7 @@ "guard" : { "AstNode" : { "data" : "g1", - "id" : 208 + "id" : 210 } }, "ifTransition" : { @@ -1043,13 +1043,13 @@ { "AstNode" : { "data" : "a1", - "id" : 209 + "id" : 211 } }, { "AstNode" : { "data" : "a2", - "id" : 210 + "id" : 212 } } ], @@ -1060,11 +1060,11 @@ "name" : "S1" } }, - "id" : 212 + "id" : 214 } } }, - "id" : 213 + "id" : 215 } }, "elseTransition" : { @@ -1074,13 +1074,13 @@ { "AstNode" : { "data" : "a2", - "id" : 214 + "id" : 216 } }, { "AstNode" : { "data" : "a3", - "id" : 215 + "id" : 217 } } ], @@ -1095,26 +1095,26 @@ "name" : "S2" } }, - "id" : 216 + "id" : 220 } }, "name" : { "AstNode" : { "data" : "S3", - "id" : 217 + "id" : 219 } } } }, - "id" : 218 + "id" : 221 } } }, - "id" : 219 + "id" : 222 } } }, - "id" : 220 + "id" : 223 } } } @@ -1135,7 +1135,7 @@ "members" : [ ] }, - "id" : 221 + "id" : 224 } } } @@ -1155,14 +1155,14 @@ "signal" : { "AstNode" : { "data" : "s1", - "id" : 222 + "id" : 225 } }, "guard" : { "Some" : { "AstNode" : { "data" : "g1", - "id" : 223 + "id" : 226 } } }, @@ -1175,7 +1175,7 @@ { "AstNode" : { "data" : "a1", - "id" : 224 + "id" : 227 } } ], @@ -1186,17 +1186,17 @@ "name" : "C" } }, - "id" : 226 + "id" : 229 } } }, - "id" : 227 + "id" : 230 } } } } }, - "id" : 228 + "id" : 231 } } } @@ -1215,14 +1215,14 @@ "signal" : { "AstNode" : { "data" : "s2", - "id" : 229 + "id" : 232 } }, "guard" : { "Some" : { "AstNode" : { "data" : "g1", - "id" : 230 + "id" : 233 } } }, @@ -1240,17 +1240,17 @@ "name" : "S1" } }, - "id" : 232 + "id" : 235 } } }, - "id" : 233 + "id" : 236 } } } } }, - "id" : 234 + "id" : 237 } } } @@ -1270,14 +1270,14 @@ "signal" : { "AstNode" : { "data" : "s3", - "id" : 235 + "id" : 238 } }, "guard" : { "Some" : { "AstNode" : { "data" : "g1", - "id" : 236 + "id" : 239 } } }, @@ -1295,17 +1295,17 @@ "name" : "S1" } }, - "id" : 238 + "id" : 241 } } }, - "id" : 239 + "id" : 242 } } } } }, - "id" : 240 + "id" : 243 } } } @@ -1325,7 +1325,7 @@ "signal" : { "AstNode" : { "data" : "s4", - "id" : 241 + "id" : 244 } }, "guard" : "None", @@ -1343,17 +1343,17 @@ "name" : "S1" } }, - "id" : 243 + "id" : 246 } } }, - "id" : 244 + "id" : 247 } } } } }, - "id" : 245 + "id" : 248 } } } @@ -1373,14 +1373,14 @@ "signal" : { "AstNode" : { "data" : "s5", - "id" : 246 + "id" : 249 } }, "guard" : { "Some" : { "AstNode" : { "data" : "g1", - "id" : 247 + "id" : 250 } } }, @@ -1390,14 +1390,14 @@ { "AstNode" : { "data" : "a1", - "id" : 249 + "id" : 252 } } ] } } }, - "id" : 250 + "id" : 253 } } } @@ -1417,7 +1417,7 @@ "signal" : { "AstNode" : { "data" : "s6", - "id" : 259 + "id" : 262 } }, "guard" : "None", @@ -1427,14 +1427,14 @@ { "AstNode" : { "data" : "a1", - "id" : 261 + "id" : 264 } } ] } } }, - "id" : 262 + "id" : 265 } } } @@ -1444,7 +1444,7 @@ ] ] }, - "id" : 263 + "id" : 266 } } } @@ -1455,7 +1455,7 @@ ] } }, - "id" : 264 + "id" : 267 } } } @@ -1473,1352 +1473,1640 @@ "0" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "1.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "1" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "1.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "2" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "2.40", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "3" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "2.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "4" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "7.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "5" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "7.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "6" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "7.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "7" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "8.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "8" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "8.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "9" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "9.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "10" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "9.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "11" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "9.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "12" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "9.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "13" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "9.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "14" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "9.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "15" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "9.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "16" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "10.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "17" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "10.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "18" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "10.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "19" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "10.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "20" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "10.26", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "21" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "10.37", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "22" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "10.34", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "23" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "10.37", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "24" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "10.34", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "25" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "10.37", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "26" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "10.34", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "27" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "10.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "28" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "11.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "29" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "12.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "30" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "12.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "31" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "15.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "32" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "18.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "33" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "21.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "34" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "24.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "35" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "24.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "36" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "27.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "37" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "30.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "38" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "30.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "39" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "33.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "40" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "33.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "41" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "36.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "42" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "39.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "43" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "42.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "44" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "45.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "45" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "48.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "46" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "51.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "47" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "51.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "48" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "51.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "49" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "51.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "50" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "51.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "51" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "54.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "52" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "54.26", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "53" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "54.26", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "54" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "54.20", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "55" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "54.40", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "56" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "54.40", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "57" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "54.34", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "58" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "54.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "59" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "57.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "60" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "62.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "61" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "62.20", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "62" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "62.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "63" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "63.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "64" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "63.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "65" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "63.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "66" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "66.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "67" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "66.22", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "68" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "66.33", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "69" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "66.33", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "70" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "66.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "71" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "66.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "72" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "69.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "73" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "69.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "74" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "69.31", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "75" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "69.42", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "76" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "69.42", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "77" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "69.22", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "78" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "69.55", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "79" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "69.59", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "80" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "69.70", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "81" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "69.73", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "82" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "69.70", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "83" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "69.50", - "includingLoc" : "None" + "pos" : "69.70", + "includingLoc" : "None", + "expandingLoc" : "None" }, "84" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "69.5", - "includingLoc" : "None" + "pos" : "69.50", + "includingLoc" : "None", + "expandingLoc" : "None" }, "85" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "72.5", - "includingLoc" : "None" + "pos" : "69.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "86" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "75.8", - "includingLoc" : "None" + "pos" : "72.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "87" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "75.14", - "includingLoc" : "None" + "pos" : "75.8", + "includingLoc" : "None", + "expandingLoc" : "None" }, "88" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "75.22", - "includingLoc" : "None" + "pos" : "75.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "89" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "75.33", - "includingLoc" : "None" + "pos" : "75.22", + "includingLoc" : "None", + "expandingLoc" : "None" }, "90" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "75.33", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "91" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "75.17", - "includingLoc" : "None" + "pos" : "75.33", + "includingLoc" : "None", + "expandingLoc" : "None" }, "92" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "75.5", - "includingLoc" : "None" + "pos" : "75.17", + "includingLoc" : "None", + "expandingLoc" : "None" }, "93" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "76.8", - "includingLoc" : "None" + "pos" : "75.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "94" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "76.14", - "includingLoc" : "None" + "pos" : "76.8", + "includingLoc" : "None", + "expandingLoc" : "None" }, "95" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "76.23", - "includingLoc" : "None" + "pos" : "76.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "96" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "76.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "97" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "76.17", - "includingLoc" : "None" + "pos" : "76.23", + "includingLoc" : "None", + "expandingLoc" : "None" }, "98" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "76.5", - "includingLoc" : "None" + "pos" : "76.17", + "includingLoc" : "None", + "expandingLoc" : "None" }, "99" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "79.8", - "includingLoc" : "None" + "pos" : "76.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "100" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "79.14", - "includingLoc" : "None" + "pos" : "79.8", + "includingLoc" : "None", + "expandingLoc" : "None" }, "101" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "79.23", - "includingLoc" : "None" + "pos" : "79.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "102" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "79.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "103" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "79.17", - "includingLoc" : "None" + "pos" : "79.23", + "includingLoc" : "None", + "expandingLoc" : "None" }, "104" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "79.5", - "includingLoc" : "None" + "pos" : "79.17", + "includingLoc" : "None", + "expandingLoc" : "None" }, "105" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "82.8", - "includingLoc" : "None" + "pos" : "79.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "106" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "82.17", - "includingLoc" : "None" + "pos" : "82.8", + "includingLoc" : "None", + "expandingLoc" : "None" }, "107" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "82.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "108" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "82.11", - "includingLoc" : "None" + "pos" : "82.17", + "includingLoc" : "None", + "expandingLoc" : "None" }, "109" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "82.5", - "includingLoc" : "None" + "pos" : "82.11", + "includingLoc" : "None", + "expandingLoc" : "None" }, "110" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "85.8", - "includingLoc" : "None" + "pos" : "82.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "111" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "85.14", - "includingLoc" : "None" + "pos" : "85.8", + "includingLoc" : "None", + "expandingLoc" : "None" }, "112" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "85.22", - "includingLoc" : "None" + "pos" : "85.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "113" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "85.22", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "114" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "85.5", - "includingLoc" : "None" + "pos" : "85.22", + "includingLoc" : "None", + "expandingLoc" : "None" }, "115" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.8", - "includingLoc" : "None" + "pos" : "85.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "116" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.16", - "includingLoc" : "None" + "pos" : "88.8", + "includingLoc" : "None", + "expandingLoc" : "None" }, "117" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "88.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "118" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.5", - "includingLoc" : "None" + "pos" : "88.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "119" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.8", - "includingLoc" : "None" + "pos" : "88.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "120" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.16", - "includingLoc" : "None" + "pos" : "88.8", + "includingLoc" : "None", + "expandingLoc" : "None" }, "121" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "88.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "122" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.5", - "includingLoc" : "None" + "pos" : "88.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "123" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.8", - "includingLoc" : "None" + "pos" : "88.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "124" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.16", - "includingLoc" : "None" + "pos" : "88.8", + "includingLoc" : "None", + "expandingLoc" : "None" }, "125" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "88.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "126" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.5", - "includingLoc" : "None" + "pos" : "88.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "127" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "60.3", - "includingLoc" : "None" + "pos" : "88.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "128" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "62.16", - "includingLoc" : "None" + "pos" : "60.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "129" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "62.20", - "includingLoc" : "None" + "pos" : "62.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "130" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "62.5", - "includingLoc" : "None" + "pos" : "62.20", + "includingLoc" : "None", + "expandingLoc" : "None" }, "131" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "63.15", - "includingLoc" : "None" + "pos" : "62.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "132" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "63.19", - "includingLoc" : "None" + "pos" : "63.15", + "includingLoc" : "None", + "expandingLoc" : "None" }, "133" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "63.5", - "includingLoc" : "None" + "pos" : "63.19", + "includingLoc" : "None", + "expandingLoc" : "None" }, "134" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "66.18", - "includingLoc" : "None" + "pos" : "63.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "135" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "66.22", - "includingLoc" : "None" + "pos" : "66.18", + "includingLoc" : "None", + "expandingLoc" : "None" }, "136" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "66.33", - "includingLoc" : "None" + "pos" : "66.22", + "includingLoc" : "None", + "expandingLoc" : "None" }, "137" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "66.33", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "138" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "66.13", - "includingLoc" : "None" + "pos" : "66.33", + "includingLoc" : "None", + "expandingLoc" : "None" }, "139" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "66.5", - "includingLoc" : "None" + "pos" : "66.13", + "includingLoc" : "None", + "expandingLoc" : "None" }, "140" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "69.19", - "includingLoc" : "None" + "pos" : "66.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "141" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "69.27", - "includingLoc" : "None" + "pos" : "69.19", + "includingLoc" : "None", + "expandingLoc" : "None" }, "142" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "69.31", - "includingLoc" : "None" + "pos" : "69.27", + "includingLoc" : "None", + "expandingLoc" : "None" }, "143" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "69.42", - "includingLoc" : "None" + "pos" : "69.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "144" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "69.42", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "145" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "69.22", - "includingLoc" : "None" + "pos" : "69.42", + "includingLoc" : "None", + "expandingLoc" : "None" }, "146" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "69.55", - "includingLoc" : "None" + "pos" : "69.22", + "includingLoc" : "None", + "expandingLoc" : "None" }, "147" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "69.59", - "includingLoc" : "None" + "pos" : "69.55", + "includingLoc" : "None", + "expandingLoc" : "None" }, "148" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "69.70", - "includingLoc" : "None" + "pos" : "69.59", + "includingLoc" : "None", + "expandingLoc" : "None" }, "149" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "69.73", - "includingLoc" : "None" + "pos" : "69.70", + "includingLoc" : "None", + "expandingLoc" : "None" }, "150" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "69.70", - "includingLoc" : "None" + "pos" : "69.73", + "includingLoc" : "None", + "expandingLoc" : "None" }, "151" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "69.50", - "includingLoc" : "None" + "pos" : "69.70", + "includingLoc" : "None", + "expandingLoc" : "None" }, "152" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "69.5", - "includingLoc" : "None" + "pos" : "69.70", + "includingLoc" : "None", + "expandingLoc" : "None" }, "153" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "72.5", - "includingLoc" : "None" + "pos" : "69.50", + "includingLoc" : "None", + "expandingLoc" : "None" }, "154" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "75.8", - "includingLoc" : "None" + "pos" : "69.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "155" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "75.14", - "includingLoc" : "None" + "pos" : "72.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "156" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "75.22", - "includingLoc" : "None" + "pos" : "75.8", + "includingLoc" : "None", + "expandingLoc" : "None" }, "157" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "75.33", - "includingLoc" : "None" + "pos" : "75.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "158" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "75.33", - "includingLoc" : "None" + "pos" : "75.22", + "includingLoc" : "None", + "expandingLoc" : "None" }, "159" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "75.17", - "includingLoc" : "None" + "pos" : "75.33", + "includingLoc" : "None", + "expandingLoc" : "None" }, "160" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "75.5", - "includingLoc" : "None" + "pos" : "75.33", + "includingLoc" : "None", + "expandingLoc" : "None" }, "161" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "76.8", - "includingLoc" : "None" + "pos" : "75.17", + "includingLoc" : "None", + "expandingLoc" : "None" }, "162" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "76.14", - "includingLoc" : "None" + "pos" : "75.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "163" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "76.23", - "includingLoc" : "None" + "pos" : "76.8", + "includingLoc" : "None", + "expandingLoc" : "None" }, "164" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "76.23", - "includingLoc" : "None" + "pos" : "76.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "165" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "76.17", - "includingLoc" : "None" + "pos" : "76.23", + "includingLoc" : "None", + "expandingLoc" : "None" }, "166" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "76.5", - "includingLoc" : "None" + "pos" : "76.23", + "includingLoc" : "None", + "expandingLoc" : "None" }, "167" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "79.8", - "includingLoc" : "None" + "pos" : "76.17", + "includingLoc" : "None", + "expandingLoc" : "None" }, "168" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "79.14", - "includingLoc" : "None" + "pos" : "76.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "169" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "79.23", - "includingLoc" : "None" + "pos" : "79.8", + "includingLoc" : "None", + "expandingLoc" : "None" }, "170" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "79.23", - "includingLoc" : "None" + "pos" : "79.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "171" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "79.17", - "includingLoc" : "None" + "pos" : "79.23", + "includingLoc" : "None", + "expandingLoc" : "None" }, "172" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "79.5", - "includingLoc" : "None" + "pos" : "79.23", + "includingLoc" : "None", + "expandingLoc" : "None" }, "173" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "82.8", - "includingLoc" : "None" + "pos" : "79.17", + "includingLoc" : "None", + "expandingLoc" : "None" }, "174" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "82.17", - "includingLoc" : "None" + "pos" : "79.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "175" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "82.17", - "includingLoc" : "None" + "pos" : "82.8", + "includingLoc" : "None", + "expandingLoc" : "None" }, "176" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "82.11", - "includingLoc" : "None" + "pos" : "82.17", + "includingLoc" : "None", + "expandingLoc" : "None" }, "177" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "82.5", - "includingLoc" : "None" + "pos" : "82.17", + "includingLoc" : "None", + "expandingLoc" : "None" }, "178" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "85.8", - "includingLoc" : "None" + "pos" : "82.11", + "includingLoc" : "None", + "expandingLoc" : "None" }, "179" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "85.14", - "includingLoc" : "None" + "pos" : "82.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "180" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "85.22", - "includingLoc" : "None" + "pos" : "85.8", + "includingLoc" : "None", + "expandingLoc" : "None" }, "181" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "85.22", - "includingLoc" : "None" + "pos" : "85.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "182" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "85.5", - "includingLoc" : "None" + "pos" : "85.22", + "includingLoc" : "None", + "expandingLoc" : "None" }, "183" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.8", - "includingLoc" : "None" + "pos" : "85.22", + "includingLoc" : "None", + "expandingLoc" : "None" }, "184" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.16", - "includingLoc" : "None" + "pos" : "85.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "185" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.16", - "includingLoc" : "None" + "pos" : "88.8", + "includingLoc" : "None", + "expandingLoc" : "None" }, "186" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.5", - "includingLoc" : "None" + "pos" : "88.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "187" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.8", - "includingLoc" : "None" + "pos" : "88.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "188" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.16", - "includingLoc" : "None" + "pos" : "88.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "189" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.16", - "includingLoc" : "None" + "pos" : "88.8", + "includingLoc" : "None", + "expandingLoc" : "None" }, "190" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.5", - "includingLoc" : "None" + "pos" : "88.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "191" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.8", - "includingLoc" : "None" + "pos" : "88.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "192" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.16", - "includingLoc" : "None" + "pos" : "88.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "193" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.16", - "includingLoc" : "None" + "pos" : "88.8", + "includingLoc" : "None", + "expandingLoc" : "None" }, "194" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.5", - "includingLoc" : "None" + "pos" : "88.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "195" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "60.3", - "includingLoc" : "None" + "pos" : "88.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "196" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "62.16", - "includingLoc" : "None" + "pos" : "88.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "197" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "62.20", - "includingLoc" : "None" + "pos" : "60.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "198" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "62.5", - "includingLoc" : "None" + "pos" : "62.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "199" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "63.15", - "includingLoc" : "None" + "pos" : "62.20", + "includingLoc" : "None", + "expandingLoc" : "None" }, "200" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "63.19", - "includingLoc" : "None" + "pos" : "62.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "201" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "63.5", - "includingLoc" : "None" + "pos" : "63.15", + "includingLoc" : "None", + "expandingLoc" : "None" }, "202" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "66.18", - "includingLoc" : "None" + "pos" : "63.19", + "includingLoc" : "None", + "expandingLoc" : "None" }, "203" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "66.22", - "includingLoc" : "None" + "pos" : "63.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "204" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "66.33", - "includingLoc" : "None" + "pos" : "66.18", + "includingLoc" : "None", + "expandingLoc" : "None" }, "205" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "66.33", - "includingLoc" : "None" + "pos" : "66.22", + "includingLoc" : "None", + "expandingLoc" : "None" }, "206" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "66.13", - "includingLoc" : "None" + "pos" : "66.33", + "includingLoc" : "None", + "expandingLoc" : "None" }, "207" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "66.5", - "includingLoc" : "None" + "pos" : "66.33", + "includingLoc" : "None", + "expandingLoc" : "None" }, "208" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "69.19", - "includingLoc" : "None" + "pos" : "66.13", + "includingLoc" : "None", + "expandingLoc" : "None" }, "209" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "69.27", - "includingLoc" : "None" + "pos" : "66.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "210" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "69.31", - "includingLoc" : "None" + "pos" : "69.19", + "includingLoc" : "None", + "expandingLoc" : "None" }, "211" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "69.42", - "includingLoc" : "None" + "pos" : "69.27", + "includingLoc" : "None", + "expandingLoc" : "None" }, "212" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "69.42", - "includingLoc" : "None" + "pos" : "69.31", + "includingLoc" : "None", + "expandingLoc" : "None" }, "213" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "69.22", - "includingLoc" : "None" + "pos" : "69.42", + "includingLoc" : "None", + "expandingLoc" : "None" }, "214" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "69.55", - "includingLoc" : "None" + "pos" : "69.42", + "includingLoc" : "None", + "expandingLoc" : "None" }, "215" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "69.59", - "includingLoc" : "None" + "pos" : "69.22", + "includingLoc" : "None", + "expandingLoc" : "None" }, "216" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "69.70", - "includingLoc" : "None" + "pos" : "69.55", + "includingLoc" : "None", + "expandingLoc" : "None" }, "217" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "69.73", - "includingLoc" : "None" + "pos" : "69.59", + "includingLoc" : "None", + "expandingLoc" : "None" }, "218" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "69.70", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "219" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "69.50", - "includingLoc" : "None" + "pos" : "69.73", + "includingLoc" : "None", + "expandingLoc" : "None" }, "220" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "69.5", - "includingLoc" : "None" + "pos" : "69.70", + "includingLoc" : "None", + "expandingLoc" : "None" }, "221" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "72.5", - "includingLoc" : "None" + "pos" : "69.70", + "includingLoc" : "None", + "expandingLoc" : "None" }, "222" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "75.8", - "includingLoc" : "None" + "pos" : "69.50", + "includingLoc" : "None", + "expandingLoc" : "None" }, "223" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "75.14", - "includingLoc" : "None" + "pos" : "69.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "224" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "75.22", - "includingLoc" : "None" + "pos" : "72.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "225" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "75.33", - "includingLoc" : "None" + "pos" : "75.8", + "includingLoc" : "None", + "expandingLoc" : "None" }, "226" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "75.33", - "includingLoc" : "None" + "pos" : "75.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "227" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "75.17", - "includingLoc" : "None" + "pos" : "75.22", + "includingLoc" : "None", + "expandingLoc" : "None" }, "228" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "75.5", - "includingLoc" : "None" + "pos" : "75.33", + "includingLoc" : "None", + "expandingLoc" : "None" }, "229" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "76.8", - "includingLoc" : "None" + "pos" : "75.33", + "includingLoc" : "None", + "expandingLoc" : "None" }, "230" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "76.14", - "includingLoc" : "None" + "pos" : "75.17", + "includingLoc" : "None", + "expandingLoc" : "None" }, "231" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "76.23", - "includingLoc" : "None" + "pos" : "75.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "232" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "76.23", - "includingLoc" : "None" + "pos" : "76.8", + "includingLoc" : "None", + "expandingLoc" : "None" }, "233" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "76.17", - "includingLoc" : "None" + "pos" : "76.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "234" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "76.5", - "includingLoc" : "None" + "pos" : "76.23", + "includingLoc" : "None", + "expandingLoc" : "None" }, "235" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "79.8", - "includingLoc" : "None" + "pos" : "76.23", + "includingLoc" : "None", + "expandingLoc" : "None" }, "236" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "79.14", - "includingLoc" : "None" + "pos" : "76.17", + "includingLoc" : "None", + "expandingLoc" : "None" }, "237" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "79.23", - "includingLoc" : "None" + "pos" : "76.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "238" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "79.23", - "includingLoc" : "None" + "pos" : "79.8", + "includingLoc" : "None", + "expandingLoc" : "None" }, "239" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "79.17", - "includingLoc" : "None" + "pos" : "79.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "240" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "79.5", - "includingLoc" : "None" + "pos" : "79.23", + "includingLoc" : "None", + "expandingLoc" : "None" }, "241" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "82.8", - "includingLoc" : "None" + "pos" : "79.23", + "includingLoc" : "None", + "expandingLoc" : "None" }, "242" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "82.17", - "includingLoc" : "None" + "pos" : "79.17", + "includingLoc" : "None", + "expandingLoc" : "None" }, "243" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "82.17", - "includingLoc" : "None" + "pos" : "79.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "244" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "82.11", - "includingLoc" : "None" + "pos" : "82.8", + "includingLoc" : "None", + "expandingLoc" : "None" }, "245" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "82.5", - "includingLoc" : "None" + "pos" : "82.17", + "includingLoc" : "None", + "expandingLoc" : "None" }, "246" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "85.8", - "includingLoc" : "None" + "pos" : "82.17", + "includingLoc" : "None", + "expandingLoc" : "None" }, "247" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "85.14", - "includingLoc" : "None" + "pos" : "82.11", + "includingLoc" : "None", + "expandingLoc" : "None" }, "248" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "85.22", - "includingLoc" : "None" + "pos" : "82.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "249" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "85.22", - "includingLoc" : "None" + "pos" : "85.8", + "includingLoc" : "None", + "expandingLoc" : "None" }, "250" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "85.5", - "includingLoc" : "None" + "pos" : "85.14", + "includingLoc" : "None", + "expandingLoc" : "None" }, "251" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.8", - "includingLoc" : "None" + "pos" : "85.22", + "includingLoc" : "None", + "expandingLoc" : "None" }, "252" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.16", - "includingLoc" : "None" + "pos" : "85.22", + "includingLoc" : "None", + "expandingLoc" : "None" }, "253" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.16", - "includingLoc" : "None" + "pos" : "85.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "254" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.5", - "includingLoc" : "None" + "pos" : "88.8", + "includingLoc" : "None", + "expandingLoc" : "None" }, "255" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.8", - "includingLoc" : "None" + "pos" : "88.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "256" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "88.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "257" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.16", - "includingLoc" : "None" + "pos" : "88.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "258" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.5", - "includingLoc" : "None" + "pos" : "88.8", + "includingLoc" : "None", + "expandingLoc" : "None" }, "259" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.8", - "includingLoc" : "None" + "pos" : "88.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "260" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "88.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "261" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.16", - "includingLoc" : "None" + "pos" : "88.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "262" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "88.5", - "includingLoc" : "None" + "pos" : "88.8", + "includingLoc" : "None", + "expandingLoc" : "None" }, "263" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "60.3", - "includingLoc" : "None" + "pos" : "88.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "264" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "5.1", - "includingLoc" : "None" + "pos" : "88.16", + "includingLoc" : "None", + "expandingLoc" : "None" }, "265" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "5.1", - "includingLoc" : "None" + "pos" : "88.5", + "includingLoc" : "None", + "expandingLoc" : "None" }, "266" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", - "pos" : "5.1", - "includingLoc" : "None" + "pos" : "60.3", + "includingLoc" : "None", + "expandingLoc" : "None" }, "267" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "5.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "268" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "5.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "269" : { "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", "pos" : "5.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "270" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", + "pos" : "5.1", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "271" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", + "pos" : "5.1", + "includingLoc" : "None", + "expandingLoc" : "None" + }, + "272" : { + "file" : "[ local path prefix ]/compiler/tools/fpp-syntax/test/state-machine.fpp", + "pos" : "5.1", + "includingLoc" : "None", + "expandingLoc" : "None" } } } @@ -2859,13 +3147,13 @@ "parentSymbolMap" : { "6" : { "StateMachine" : { - "nodeId" : 264, + "nodeId" : 267, "unqualifiedName" : "M" } }, "8" : { "StateMachine" : { - "nodeId" : 264, + "nodeId" : 267, "unqualifiedName" : "M" } }, @@ -2889,49 +3177,49 @@ }, "15" : { "StateMachine" : { - "nodeId" : 264, + "nodeId" : 267, "unqualifiedName" : "M" } }, "27" : { "StateMachine" : { - "nodeId" : 264, + "nodeId" : 267, "unqualifiedName" : "M" } }, "28" : { "StateMachine" : { - "nodeId" : 264, + "nodeId" : 267, "unqualifiedName" : "M" } }, "30" : { "StateMachine" : { - "nodeId" : 264, + "nodeId" : 267, "unqualifiedName" : "M" } }, - "265" : { + "268" : { "Enum" : { - "nodeId" : 269, + "nodeId" : 272, "unqualifiedName" : "State" } }, - "266" : { + "269" : { "Enum" : { - "nodeId" : 269, + "nodeId" : 272, "unqualifiedName" : "State" } }, - "267" : { + "270" : { "Enum" : { - "nodeId" : 269, + "nodeId" : 272, "unqualifiedName" : "State" } }, - "269" : { + "272" : { "StateMachine" : { - "nodeId" : 264, + "nodeId" : 267, "unqualifiedName" : "M" } } @@ -2963,7 +3251,7 @@ } } }, - "264" : { + "267" : { "map" : { "Type" : { "map" : { @@ -2987,7 +3275,7 @@ }, "State" : { "Enum" : { - "nodeId" : 269, + "nodeId" : 272, "unqualifiedName" : "State" } }, @@ -3015,7 +3303,7 @@ }, "State" : { "Enum" : { - "nodeId" : 269, + "nodeId" : 272, "unqualifiedName" : "State" } }, @@ -3029,25 +3317,25 @@ } } }, - "269" : { + "272" : { "map" : { "Value" : { "map" : { "S1" : { "EnumConstant" : { - "nodeId" : 266, + "nodeId" : 269, "unqualifiedName" : "S1" } }, "S2_S3" : { "EnumConstant" : { - "nodeId" : 267, + "nodeId" : 270, "unqualifiedName" : "S2_S3" } }, "__FPRIME_UNINITIALIZED" : { "EnumConstant" : { - "nodeId" : 265, + "nodeId" : 268, "unqualifiedName" : "__FPRIME_UNINITIALIZED" } } @@ -3176,7 +3464,8 @@ } } } - ] + ], + "scalar" : "None" }, "t" : { "node" : { @@ -3538,10 +3827,10 @@ } } }, - "264" : { + "267" : { "Enum" : { "node" : { - "astNodeId" : 269 + "astNodeId" : 272 }, "repType" : { "kind" : { @@ -3553,10 +3842,10 @@ "default" : "None" } }, - "265" : { + "268" : { "Enum" : { "node" : { - "astNodeId" : 269 + "astNodeId" : 272 }, "repType" : { "kind" : { @@ -3568,10 +3857,10 @@ "default" : "None" } }, - "266" : { + "269" : { "Enum" : { "node" : { - "astNodeId" : 269 + "astNodeId" : 272 }, "repType" : { "kind" : { @@ -3583,10 +3872,10 @@ "default" : "None" } }, - "267" : { + "270" : { "Enum" : { "node" : { - "astNodeId" : 269 + "astNodeId" : 272 }, "repType" : { "kind" : { @@ -3598,7 +3887,7 @@ "default" : "None" } }, - "268" : { + "271" : { "Int" : { "PrimitiveInt" : { "kind" : { @@ -3609,10 +3898,10 @@ } } }, - "269" : { + "272" : { "Enum" : { "node" : { - "astNodeId" : 269 + "astNodeId" : 272 }, "repType" : { "kind" : { @@ -3629,7 +3918,7 @@ ], "t" : { "node" : { - "astNodeId" : 269 + "astNodeId" : 272 }, "repType" : { "kind" : { @@ -3644,7 +3933,7 @@ } } }, - "270" : { + "273" : { "AliasType" : { "node" : { "astNodeId" : 1 @@ -3662,7 +3951,7 @@ } } }, - "271" : { + "274" : { "Int" : { "Integer" : { @@ -3677,23 +3966,29 @@ "unqualifiedName" : "X" } }, - "264" : { + "267" : { "Enum" : { - "nodeId" : 269, + "nodeId" : 272, "unqualifiedName" : "State" } }, - "270" : { + "273" : { "AliasType" : { "nodeId" : 1, "unqualifiedName" : "FwSizeStoreType" } }, - "271" : { + "274" : { "Constant" : { "nodeId" : 3, "unqualifiedName" : "FW_FIXED_LENGTH_STRING_SIZE" } + }, + "275" : { + "StateMachine" : { + "nodeId" : 267, + "unqualifiedName" : "M" + } } }, "valueMap" : { @@ -3811,7 +4106,7 @@ "value" : 3 } }, - "265" : { + "268" : { "EnumConstant" : { "value" : [ "__FPRIME_UNINITIALIZED", @@ -3819,7 +4114,7 @@ ], "t" : { "node" : { - "astNodeId" : 269 + "astNodeId" : 272 }, "repType" : { "kind" : { @@ -3832,7 +4127,7 @@ } } }, - "266" : { + "269" : { "EnumConstant" : { "value" : [ "S1", @@ -3840,7 +4135,7 @@ ], "t" : { "node" : { - "astNodeId" : 269 + "astNodeId" : 272 }, "repType" : { "kind" : { @@ -3853,7 +4148,7 @@ } } }, - "267" : { + "270" : { "EnumConstant" : { "value" : [ "S2_S3", @@ -3861,7 +4156,7 @@ ], "t" : { "node" : { - "astNodeId" : 269 + "astNodeId" : 272 }, "repType" : { "kind" : { @@ -3874,42 +4169,42 @@ } } }, - "271" : { + "274" : { "Integer" : { "value" : 256 } } }, "stateMachineMap" : { - "264" : { + "267" : { "aNode" : { - "astNodeId" : 264 + "astNodeId" : 267 }, "sma" : { "symbol" : { "node" : { - "astNodeId" : 264 + "astNodeId" : 267 } }, "symbolScopeMap" : { - "221" : { + "224" : { "map" : { } }, - "263" : { + "266" : { "map" : { "State" : { "map" : { "C" : { "Choice" : { - "nodeId" : 220, + "nodeId" : 223, "unqualifiedName" : "C" } }, "S3" : { "State" : { - "nodeId" : 221, + "nodeId" : 224, "unqualifiedName" : "S3" } } @@ -3950,197 +4245,197 @@ }, "56" : { "State" : { - "nodeId" : 263, + "nodeId" : 266, "unqualifiedName" : "S2" } }, - "196" : { + "198" : { "Action" : { "nodeId" : 31, "unqualifiedName" : "a1" } }, - "197" : { + "199" : { "Action" : { "nodeId" : 32, "unqualifiedName" : "a2" } }, - "199" : { + "201" : { "Action" : { "nodeId" : 31, "unqualifiedName" : "a1" } }, - "200" : { + "202" : { "Action" : { "nodeId" : 32, "unqualifiedName" : "a2" } }, - "202" : { + "204" : { "Action" : { "nodeId" : 31, "unqualifiedName" : "a1" } }, - "203" : { + "205" : { "Action" : { "nodeId" : 32, "unqualifiedName" : "a2" } }, - "205" : { + "207" : { "State" : { - "nodeId" : 221, + "nodeId" : 224, "unqualifiedName" : "S3" } }, - "208" : { + "210" : { "Guard" : { "nodeId" : 36, "unqualifiedName" : "g1" } }, - "209" : { + "211" : { "Action" : { "nodeId" : 31, "unqualifiedName" : "a1" } }, - "210" : { + "212" : { "Action" : { "nodeId" : 32, "unqualifiedName" : "a2" } }, - "212" : { + "214" : { "State" : { "nodeId" : 59, "unqualifiedName" : "S1" } }, - "214" : { + "216" : { "Action" : { "nodeId" : 32, "unqualifiedName" : "a2" } }, - "215" : { + "217" : { "Action" : { "nodeId" : 33, "unqualifiedName" : "a3" } }, - "216" : { + "220" : { "State" : { - "nodeId" : 263, + "nodeId" : 266, "unqualifiedName" : "S2" } }, - "218" : { + "221" : { "State" : { - "nodeId" : 221, + "nodeId" : 224, "unqualifiedName" : "S3" } }, - "222" : { + "225" : { "Signal" : { "nodeId" : 40, "unqualifiedName" : "s1" } }, - "223" : { + "226" : { "Guard" : { "nodeId" : 36, "unqualifiedName" : "g1" } }, - "224" : { + "227" : { "Action" : { "nodeId" : 31, "unqualifiedName" : "a1" } }, - "226" : { + "229" : { "Choice" : { - "nodeId" : 220, + "nodeId" : 223, "unqualifiedName" : "C" } }, - "229" : { + "232" : { "Signal" : { "nodeId" : 41, "unqualifiedName" : "s2" } }, - "230" : { + "233" : { "Guard" : { "nodeId" : 36, "unqualifiedName" : "g1" } }, - "232" : { + "235" : { "State" : { "nodeId" : 59, "unqualifiedName" : "S1" } }, - "235" : { + "238" : { "Signal" : { "nodeId" : 42, "unqualifiedName" : "s3" } }, - "236" : { + "239" : { "Guard" : { "nodeId" : 36, "unqualifiedName" : "g1" } }, - "238" : { + "241" : { "State" : { "nodeId" : 59, "unqualifiedName" : "S1" } }, - "241" : { + "244" : { "Signal" : { "nodeId" : 43, "unqualifiedName" : "s4" } }, - "243" : { + "246" : { "State" : { "nodeId" : 59, "unqualifiedName" : "S1" } }, - "246" : { + "249" : { "Signal" : { "nodeId" : 44, "unqualifiedName" : "s5" } }, - "247" : { + "250" : { "Guard" : { "nodeId" : 36, "unqualifiedName" : "g1" } }, - "249" : { + "252" : { "Action" : { "nodeId" : 31, "unqualifiedName" : "a1" } }, - "259" : { + "262" : { "Signal" : { "nodeId" : 45, "unqualifiedName" : "s6" } }, - "261" : { + "264" : { "Action" : { "nodeId" : 31, "unqualifiedName" : "a1" @@ -4162,16 +4457,16 @@ } }, "arcMap" : { - "220" : [ + "223" : [ { "Choice" : { "startChoice" : { "node" : { - "astNodeId" : 220 + "astNodeId" : 223 } }, "aNode" : { - "astNodeId" : 213 + "astNodeId" : 215 }, "endNode" : { "soc" : { @@ -4190,18 +4485,18 @@ "Choice" : { "startChoice" : { "node" : { - "astNodeId" : 220 + "astNodeId" : 223 } }, "aNode" : { - "astNodeId" : 219 + "astNodeId" : 222 }, "endNode" : { "soc" : { "State" : { "symbol" : { "node" : { - "astNodeId" : 221 + "astNodeId" : 224 } } } @@ -4210,25 +4505,25 @@ } } ], - "221" : [ + "224" : [ ], - "263" : [ + "266" : [ { - "State" : { + "Initial" : { "startState" : { "node" : { - "astNodeId" : 263 + "astNodeId" : 266 } }, "aNode" : { - "astNodeId" : 228 + "astNodeId" : 209 }, "endNode" : { "soc" : { - "Choice" : { + "State" : { "symbol" : { "node" : { - "astNodeId" : 220 + "astNodeId" : 224 } } } @@ -4237,21 +4532,21 @@ } }, { - "Initial" : { + "State" : { "startState" : { "node" : { - "astNodeId" : 263 + "astNodeId" : 266 } }, "aNode" : { - "astNodeId" : 207 + "astNodeId" : 231 }, "endNode" : { "soc" : { - "State" : { + "Choice" : { "symbol" : { "node" : { - "astNodeId" : 221 + "astNodeId" : 223 } } } @@ -4263,11 +4558,11 @@ "State" : { "startState" : { "node" : { - "astNodeId" : 263 + "astNodeId" : 266 } }, "aNode" : { - "astNodeId" : 245 + "astNodeId" : 237 }, "endNode" : { "soc" : { @@ -4286,11 +4581,11 @@ "State" : { "startState" : { "node" : { - "astNodeId" : 263 + "astNodeId" : 266 } }, "aNode" : { - "astNodeId" : 234 + "astNodeId" : 248 }, "endNode" : { "soc" : { @@ -4309,11 +4604,11 @@ "State" : { "startState" : { "node" : { - "astNodeId" : 263 + "astNodeId" : 266 } }, "aNode" : { - "astNodeId" : 240 + "astNodeId" : 243 }, "endNode" : { "soc" : { @@ -4368,7 +4663,7 @@ "State" : { "symbol" : { "node" : { - "astNodeId" : 263 + "astNodeId" : 266 } } } @@ -4396,23 +4691,23 @@ } }, "arcMap" : { - "220" : [ + "223" : [ { "State" : { "startState" : { "node" : { - "astNodeId" : 263 + "astNodeId" : 266 } }, "aNode" : { - "astNodeId" : 228 + "astNodeId" : 231 }, "endNode" : { "soc" : { "Choice" : { "symbol" : { "node" : { - "astNodeId" : 220 + "astNodeId" : 223 } } } @@ -4421,23 +4716,23 @@ } } ], - "221" : [ + "224" : [ { "Choice" : { "startChoice" : { "node" : { - "astNodeId" : 220 + "astNodeId" : 223 } }, "aNode" : { - "astNodeId" : 219 + "astNodeId" : 222 }, "endNode" : { "soc" : { "State" : { "symbol" : { "node" : { - "astNodeId" : 221 + "astNodeId" : 224 } } } @@ -4449,18 +4744,18 @@ "Initial" : { "startState" : { "node" : { - "astNodeId" : 263 + "astNodeId" : 266 } }, "aNode" : { - "astNodeId" : 207 + "astNodeId" : 209 }, "endNode" : { "soc" : { "State" : { "symbol" : { "node" : { - "astNodeId" : 221 + "astNodeId" : 224 } } } @@ -4469,7 +4764,7 @@ } } ], - "263" : [ + "266" : [ { "Choice" : { "startChoice" : { @@ -4485,7 +4780,7 @@ "State" : { "symbol" : { "node" : { - "astNodeId" : 263 + "astNodeId" : 266 } } } @@ -4498,14 +4793,14 @@ ], "59" : [ { - "Choice" : { - "startChoice" : { + "State" : { + "startState" : { "node" : { - "astNodeId" : 220 + "astNodeId" : 266 } }, "aNode" : { - "astNodeId" : 213 + "astNodeId" : 237 }, "endNode" : { "soc" : { @@ -4521,14 +4816,14 @@ } }, { - "State" : { - "startState" : { + "Choice" : { + "startChoice" : { "node" : { - "astNodeId" : 263 + "astNodeId" : 58 } }, "aNode" : { - "astNodeId" : 245 + "astNodeId" : 54 }, "endNode" : { "soc" : { @@ -4547,11 +4842,11 @@ "State" : { "startState" : { "node" : { - "astNodeId" : 263 + "astNodeId" : 266 } }, "aNode" : { - "astNodeId" : 234 + "astNodeId" : 243 }, "endNode" : { "soc" : { @@ -4570,11 +4865,11 @@ "Choice" : { "startChoice" : { "node" : { - "astNodeId" : 58 + "astNodeId" : 223 } }, "aNode" : { - "astNodeId" : 54 + "astNodeId" : 215 }, "endNode" : { "soc" : { @@ -4593,11 +4888,11 @@ "State" : { "startState" : { "node" : { - "astNodeId" : 263 + "astNodeId" : 266 } }, "aNode" : { - "astNodeId" : 240 + "astNodeId" : 248 }, "endNode" : { "soc" : { @@ -4616,10 +4911,10 @@ } }, "typeOptionMap" : { - "198" : "None", - "201" : "None", - "207" : "None", - "220" : { + "200" : "None", + "203" : "None", + "209" : "None", + "223" : { "Some" : { "Int" : { "PrimitiveInt" : { @@ -4632,7 +4927,7 @@ } } }, - "228" : { + "231" : { "Some" : { "Int" : { "PrimitiveInt" : { @@ -4645,17 +4940,17 @@ } } }, - "234" : "None", - "240" : "None", - "245" : "None", - "250" : "None", - "262" : "None", + "237" : "None", + "243" : "None", + "248" : "None", + "253" : "None", + "265" : "None", "50" : "None", "58" : "None" }, "flattenedStateTransitionMap" : { "40" : { - "221" : { + "224" : { "guardOpt" : { "Some" : { "node" : { @@ -4676,7 +4971,7 @@ "Choice" : { "symbol" : { "node" : { - "astNodeId" : 220 + "astNodeId" : 223 } } } @@ -4686,7 +4981,7 @@ } }, "41" : { - "221" : { + "224" : { "guardOpt" : { "Some" : { "node" : { @@ -4722,7 +5017,7 @@ } }, "42" : { - "221" : { + "224" : { "guardOpt" : { "Some" : { "node" : { @@ -4758,7 +5053,7 @@ } }, "43" : { - "221" : { + "224" : { "guardOpt" : "None", "transition" : { "External" : { @@ -4788,7 +5083,7 @@ } }, "44" : { - "221" : { + "224" : { "guardOpt" : { "Some" : { "node" : { @@ -4810,7 +5105,7 @@ } }, "45" : { - "221" : { + "224" : { "guardOpt" : "None", "transition" : { "Internal" : { @@ -4827,7 +5122,7 @@ } }, "flattenedChoiceTransitionMap" : { - "213" : { + "215" : { "External" : { "actions" : [ { @@ -4862,7 +5157,7 @@ } } }, - "219" : { + "222" : { "External" : { "actions" : [ { @@ -4880,7 +5175,7 @@ "State" : { "symbol" : { "node" : { - "astNodeId" : 221 + "astNodeId" : 224 } } } @@ -4910,7 +5205,7 @@ "State" : { "symbol" : { "node" : { - "astNodeId" : 263 + "astNodeId" : 266 } } } diff --git a/compiler/tools/fpp-to-json/test/syntaxOnly.ref.txt b/compiler/tools/fpp-to-json/test/syntaxOnly.ref.txt index 351bb751bf..ba2cf32715 100644 --- a/compiler/tools/fpp-to-json/test/syntaxOnly.ref.txt +++ b/compiler/tools/fpp-to-json/test/syntaxOnly.ref.txt @@ -2074,4657 +2074,5588 @@ "0" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "9.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "1" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "9.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "2" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "9.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "3" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "9.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "4" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "9.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "5" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "9.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "6" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "8.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "7" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "14.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "8" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "14.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "9" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "14.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "10" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "14.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "11" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "14.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "12" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "14.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "13" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "15.41", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "14" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "13.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "15" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "18.34", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "16" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "18.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "17" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "43.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "18" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "46.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "19" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "49.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "20" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "52.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "21" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "55.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "22" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "58.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "23" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "61.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "24" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "64.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "25" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "67.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "26" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "67.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "27" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "67.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "28" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "3.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "29" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "9.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "30" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "9.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "31" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "9.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "32" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "9.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "33" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "9.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "34" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "9.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "35" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "8.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "36" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "14.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "37" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "14.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "38" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "14.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "39" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "14.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "40" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "14.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "41" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "14.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "42" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "15.41", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "43" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "13.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "44" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "18.34", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "45" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "18.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "46" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "43.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "47" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "46.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "48" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "49.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "49" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "52.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "50" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "55.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "51" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "58.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "52" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "61.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "53" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "64.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "54" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "67.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "55" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "67.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "56" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "67.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "57" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "3.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "58" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "9.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "59" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "9.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "60" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "9.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "61" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "9.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "62" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "9.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "63" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "9.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "64" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "8.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "65" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "14.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "66" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "14.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "67" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "14.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "68" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "14.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "69" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "14.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "70" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "14.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "71" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "15.41", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "72" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "13.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "73" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "18.34", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "74" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "18.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "75" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "43.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "76" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "46.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "77" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "49.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "78" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "52.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "79" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "55.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "80" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "58.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "81" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "61.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "82" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "64.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "83" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "67.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "84" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "67.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "85" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "67.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "86" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "3.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "87" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "1.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "88" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "73.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "89" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "76.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "90" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "76.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "91" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "76.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "92" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "77.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "93" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "77.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "94" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "77.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "95" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "78.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "96" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "79.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "97" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "80.22", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "98" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "80.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "99" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "80.22", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "100" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "80.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "101" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "80.22", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "102" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "80.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "103" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "75.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "104" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "83.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "105" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "83.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "106" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "83.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "107" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "83.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "108" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "84.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "109" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "84.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "110" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "84.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "111" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "84.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "112" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "85.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "113" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "85.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "114" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "85.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "115" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "85.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "116" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "86.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "117" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "86.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "118" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "86.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "119" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "86.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "120" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "87.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "121" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "87.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "122" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "87.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "123" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "87.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "124" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "88.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "125" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "88.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "126" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "88.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "127" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "88.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "128" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "89.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "129" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "89.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "130" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "89.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "131" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "89.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "132" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "92.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "133" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "92.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "134" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "92.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "135" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "93.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "136" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "93.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "137" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "93.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "138" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "94.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "139" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "94.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "140" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "94.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "141" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "95.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "142" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "95.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "143" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "95.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "144" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "96.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "145" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "96.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "146" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "96.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "147" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "97.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "148" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "97.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "149" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "97.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "150" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "98.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "151" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "98.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "152" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "98.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "153" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "101.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "154" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "101.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "155" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "101.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "156" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "101.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "157" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "101.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "158" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "101.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "159" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "101.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "160" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "101.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "161" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "102.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "162" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "102.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "163" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "102.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "164" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "102.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "165" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "102.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "166" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "102.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "167" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "102.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "168" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "102.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "169" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "103.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "170" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "103.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "171" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "103.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "172" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "103.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "173" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "103.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "174" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "103.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "175" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "103.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "176" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "103.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "177" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "104.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "178" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "104.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "179" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "104.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "180" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "104.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "181" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "104.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "182" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "104.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "183" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "104.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "184" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "104.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "185" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "105.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "186" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "105.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "187" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "105.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "188" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "105.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "189" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "105.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "190" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "105.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "191" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "105.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "192" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "105.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "193" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "106.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "194" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "106.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "195" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "106.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "196" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "106.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "197" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "106.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "198" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "106.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "199" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "106.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "200" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "106.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "201" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "100.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "202" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "109.38", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "203" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "109.38", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "204" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "109.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "205" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "111.36", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "206" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "111.36", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "207" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "111.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "208" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "113.36", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "209" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "113.36", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "210" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "113.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "211" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "115.40", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "212" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "115.40", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "213" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "115.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "214" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "117.41", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "215" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "117.41", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "216" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "117.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "217" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "119.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "218" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "119.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "219" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "119.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "220" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "121.37", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "221" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "121.37", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "222" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "121.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "223" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "224" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "225" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "226" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "227" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "228" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "229" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "230" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "231" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "232" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "233" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "234" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "235" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "236" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "237" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "238" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "239" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "240" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "241" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "242" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "243" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "244" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "245" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "246" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "247" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "248" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "249" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "250" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "251" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "252" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "253" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "254" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "255" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "256" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "257" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "258" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "259" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "260" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "261" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "262" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "263" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "264" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "265" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "266" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "267" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "268" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "269" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "270" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "271" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "272" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "273" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "274" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "275" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "276" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "277" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "278" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "279" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "280" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "123.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "281" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "282" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "283" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "284" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "285" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "286" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "287" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "288" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "289" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "290" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "291" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "292" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "293" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "294" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "295" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "296" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "297" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "298" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "299" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "300" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "301" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "302" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "303" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "304" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "305" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "306" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "307" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "308" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "309" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "310" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "311" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "312" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "313" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "314" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "315" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "316" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "317" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "318" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "319" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "320" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "321" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "322" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "323" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "324" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "325" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "326" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "327" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "328" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "329" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "330" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "331" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "332" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "333" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "334" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "335" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "336" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "337" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "338" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "123.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "339" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "340" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "341" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "342" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "343" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "344" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "345" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "346" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "347" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "348" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "349" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "350" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "351" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "352" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "353" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "354" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "355" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "356" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "357" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "358" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "359" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "360" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "361" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "362" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "363" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "364" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "365" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "366" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "367" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "368" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "369" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "370" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "371" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "372" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "373" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "374" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "375" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "376" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "377" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "378" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "379" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "380" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "381" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "382" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "383" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "384" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "385" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "386" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "387" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "388" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "389" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "390" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "391" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "392" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "393" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "394" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "395" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "396" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "123.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "397" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "91.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "398" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "92.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "399" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "92.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "400" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "92.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "401" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "93.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "402" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "93.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "403" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "93.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "404" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "94.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "405" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "94.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "406" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "94.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "407" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "95.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "408" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "95.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "409" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "95.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "410" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "96.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "411" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "96.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "412" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "96.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "413" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "97.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "414" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "97.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "415" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "97.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "416" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "98.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "417" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "98.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "418" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "98.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "419" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "101.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "420" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "101.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "421" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "101.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "422" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "101.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "423" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "101.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "424" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "101.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "425" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "101.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "426" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "101.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "427" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "102.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "428" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "102.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "429" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "102.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "430" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "102.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "431" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "102.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "432" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "102.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "433" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "102.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "434" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "102.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "435" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "103.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "436" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "103.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "437" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "103.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "438" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "103.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "439" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "103.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "440" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "103.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "441" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "103.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "442" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "103.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "443" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "104.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "444" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "104.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "445" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "104.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "446" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "104.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "447" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "104.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "448" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "104.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "449" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "104.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "450" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "104.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "451" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "105.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "452" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "105.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "453" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "105.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "454" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "105.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "455" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "105.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "456" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "105.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "457" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "105.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "458" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "105.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "459" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "106.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "460" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "106.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "461" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "106.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "462" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "106.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "463" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "106.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "464" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "106.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "465" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "106.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "466" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "106.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "467" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "100.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "468" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "109.38", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "469" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "109.38", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "470" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "109.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "471" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "111.36", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "472" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "111.36", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "473" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "111.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "474" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "113.36", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "475" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "113.36", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "476" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "113.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "477" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "115.40", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "478" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "115.40", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "479" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "115.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "480" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "117.41", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "481" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "117.41", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "482" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "117.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "483" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "119.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "484" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "119.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "485" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "119.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "486" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "121.37", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "487" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "121.37", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "488" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "121.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "489" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "490" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "491" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "492" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "493" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "494" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "495" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "496" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "497" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "498" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "499" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "500" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "501" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "502" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "503" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "504" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "505" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "506" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "507" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "508" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "509" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "510" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "511" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "512" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "513" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "514" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "515" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "516" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "517" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "518" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "519" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "520" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "521" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "522" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "523" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "524" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "525" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "526" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "527" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "528" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "529" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "530" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "531" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "532" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "533" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "534" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "535" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "536" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "537" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "538" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "539" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "540" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "541" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "542" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "543" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "544" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "545" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "546" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "123.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "547" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "548" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "549" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "550" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "551" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "552" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "553" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "554" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "555" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "556" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "557" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "558" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "559" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "560" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "561" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "562" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "563" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "564" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "565" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "566" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "567" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "568" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "569" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "570" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "571" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "572" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "573" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "574" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "575" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "576" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "577" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "578" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "579" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "580" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "581" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "582" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "583" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "584" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "585" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "586" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "587" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "588" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "589" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "590" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "591" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "592" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "593" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "594" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "595" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "596" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "597" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "598" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "599" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "600" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "601" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "602" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "603" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "604" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "123.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "605" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "606" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "607" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "608" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "609" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "610" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "611" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "612" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "613" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "614" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "615" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "616" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "617" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "618" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "619" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "620" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "621" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "622" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "623" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "624" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "625" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "626" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "627" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "628" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "629" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "630" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "631" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "632" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "633" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "634" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "635" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "636" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "637" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "638" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "639" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "640" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "641" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "642" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "643" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "644" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "645" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "646" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "647" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "648" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "649" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "650" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "651" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "652" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "653" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "654" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "655" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "656" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "657" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "658" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "659" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "660" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "661" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "662" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "123.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "663" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "91.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "664" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "92.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "665" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "92.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "666" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "92.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "667" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "93.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "668" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "93.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "669" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "93.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "670" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "94.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "671" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "94.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "672" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "94.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "673" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "95.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "674" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "95.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "675" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "95.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "676" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "96.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "677" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "96.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "678" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "96.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "679" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "97.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "680" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "97.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "681" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "97.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "682" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "98.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "683" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "98.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "684" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "98.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "685" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "101.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "686" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "101.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "687" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "101.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "688" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "101.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "689" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "101.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "690" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "101.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "691" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "101.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "692" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "101.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "693" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "102.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "694" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "102.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "695" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "102.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "696" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "102.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "697" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "102.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "698" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "102.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "699" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "102.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "700" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "102.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "701" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "103.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "702" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "103.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "703" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "103.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "704" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "103.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "705" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "103.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "706" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "103.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "707" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "103.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "708" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "103.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "709" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "104.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "710" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "104.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "711" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "104.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "712" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "104.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "713" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "104.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "714" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "104.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "715" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "104.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "716" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "104.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "717" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "105.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "718" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "105.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "719" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "105.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "720" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "105.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "721" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "105.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "722" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "105.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "723" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "105.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "724" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "105.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "725" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "106.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "726" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "106.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "727" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "106.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "728" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "106.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "729" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "106.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "730" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "106.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "731" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "106.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "732" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "106.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "733" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "100.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "734" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "109.38", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "735" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "109.38", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "736" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "109.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "737" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "111.36", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "738" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "111.36", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "739" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "111.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "740" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "113.36", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "741" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "113.36", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "742" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "113.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "743" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "115.40", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "744" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "115.40", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "745" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "115.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "746" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "117.41", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "747" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "117.41", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "748" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "117.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "749" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "119.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "750" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "119.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "751" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "119.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "752" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "121.37", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "753" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "121.37", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "754" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "121.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "755" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "756" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "757" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "758" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "759" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "760" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "761" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "762" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "763" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "764" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "765" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "766" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "767" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "768" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "769" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "770" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "771" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "772" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "773" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "774" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "775" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "776" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "777" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "778" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "779" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "780" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "781" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "782" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "783" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "784" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "785" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "786" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "787" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "788" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "789" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "790" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "791" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "792" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "793" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "794" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "795" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "796" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "797" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "798" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "799" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "800" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "801" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "802" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "803" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "804" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "805" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "806" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "807" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "808" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "809" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "810" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "811" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "812" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "123.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "813" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "814" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "815" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "816" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "817" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "818" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "819" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "820" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "821" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "822" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "823" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "824" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "825" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "826" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "827" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "828" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "829" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "830" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "831" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "832" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "833" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "834" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "835" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "836" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "837" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "838" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "839" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "840" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "841" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "842" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "843" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "844" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "845" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "846" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "847" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "848" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "849" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "850" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "851" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "852" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "853" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "854" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "855" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "856" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "857" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "858" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "859" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "860" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "861" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "862" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "863" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "864" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "865" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "866" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "867" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "868" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "869" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "870" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "123.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "871" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "872" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "873" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "874" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "875" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "876" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "877" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "878" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "879" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "880" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "881" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "882" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "883" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "884" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "885" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "886" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "887" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "888" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "889" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "890" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "891" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "892" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "893" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "894" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "895" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "896" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "897" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "898" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "899" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "900" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "901" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "902" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.32", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "903" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "904" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "905" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "906" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "126.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "907" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "908" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "909" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "910" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "127.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "911" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "912" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "913" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "914" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "128.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "915" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "125.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "916" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "917" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "918" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "919" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "132.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "920" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "921" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "922" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "923" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "133.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "924" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "925" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "926" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "927" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "134.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "928" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "123.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "929" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "91.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "930" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/syntaxOnly.fpp", "pos" : "72.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } } } diff --git a/compiler/tools/fpp-to-json/test/telemetry.ref.txt b/compiler/tools/fpp-to-json/test/telemetry.ref.txt index 69599c34d5..335da1ff0a 100644 --- a/compiler/tools/fpp-to-json/test/telemetry.ref.txt +++ b/compiler/tools/fpp-to-json/test/telemetry.ref.txt @@ -756,497 +756,596 @@ "0" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "9.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "1" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "12.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "2" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "19.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "3" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "19.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "4" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "20.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "5" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "21.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "6" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "21.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "7" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "21.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "8" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "21.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "9" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "21.28", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "10" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "21.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "11" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "19.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "12" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "24.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "13" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "24.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "14" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "26.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "15" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "27.11", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "16" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "27.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "17" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "27.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "18" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "27.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "19" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "27.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "20" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "27.26", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "21" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "27.30", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "22" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "27.38", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "23" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "27.37", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "24" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "28.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "25" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "28.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "26" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "28.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "27" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "28.26", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "28" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "28.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "29" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "28.36", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "30" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "24.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "31" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "31.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "32" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "33.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "33" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "34.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "34" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "34.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "35" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "34.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "36" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "34.26", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "37" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "34.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "38" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "34.36", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "39" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "31.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "40" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "31.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "41" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "33.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "42" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "34.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "43" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "34.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "44" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "34.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "45" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "34.26", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "46" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "34.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "47" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "34.36", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "48" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "31.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "49" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "31.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "50" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "33.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "51" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "34.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "52" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "34.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "53" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "34.19", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "54" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "34.26", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "55" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "34.29", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "56" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "34.36", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "57" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "31.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "58" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "2.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "59" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "39.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "60" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "40.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "61" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "40.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "62" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "40.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "63" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "38.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "64" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "43.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "65" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "43.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "66" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "43.31", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "67" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "43.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "68" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "47.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "69" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "47.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "70" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "47.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "71" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "47.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "72" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "47.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "73" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "47.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "74" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "47.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "75" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "47.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "76" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "47.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "77" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "46.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "78" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "47.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "79" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "47.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "80" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "47.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "81" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "47.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "82" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "47.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "83" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "47.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "84" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "47.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "85" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "47.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "86" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "47.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "87" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "46.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "88" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "47.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "89" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "47.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "90" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "47.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "91" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "47.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "92" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "47.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "93" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "47.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "94" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "47.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "95" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "47.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "96" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "47.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "97" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "46.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "98" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "45.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } } } @@ -1986,22 +2085,25 @@ "67" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "47.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } + }, + "directTemplateArgs" : { + }, "transitiveImportSet" : [ ], "instanceMap" : [ [ { - "InterfaceComponentInstance" : { - "astNodeId" : 67 - } + "InterfaceComponentInstance" : 67 }, { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetry.fpp", "pos" : "47.9", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ] ], @@ -2039,9 +2141,7 @@ "unconnectedPortSet" : [ { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 67 - } + "InterfaceComponentInstance" : 67 }, "portInstance" : { "Special" : { @@ -2074,9 +2174,7 @@ }, { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 67 - } + "InterfaceComponentInstance" : 67 }, "portInstance" : { "Special" : { @@ -2295,6 +2393,18 @@ "nodeId" : 67, "unqualifiedName" : "i" } + }, + "99" : { + "Module" : { + "nodeId" : 63, + "unqualifiedName" : "Fw" + } + }, + "100" : { + "Module" : { + "nodeId" : 63, + "unqualifiedName" : "Fw" + } } }, "valueMap" : { diff --git a/compiler/tools/fpp-to-json/test/telemetryPackets.ref.txt b/compiler/tools/fpp-to-json/test/telemetryPackets.ref.txt index cc8a55729e..f93a2357ad 100644 --- a/compiler/tools/fpp-to-json/test/telemetryPackets.ref.txt +++ b/compiler/tools/fpp-to-json/test/telemetryPackets.ref.txt @@ -580,572 +580,686 @@ "0" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "2.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "1" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "3.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "2" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "3.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "3" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "3.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "4" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "1.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "5" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "6.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "6" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "9.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "7" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "9.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "8" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "9.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "9" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "10.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "10" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "10.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "11" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "10.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "12" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "11.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "13" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "12.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "14" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "13.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "15" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "13.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "16" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "13.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "17" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "13.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "18" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "13.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "19" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "13.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "20" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "8.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "21" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "16.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "22" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "16.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "23" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "16.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "24" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "16.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "25" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "17.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "26" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "17.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "27" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "17.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "28" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "17.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "29" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "22.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "30" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "22.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "31" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "22.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "32" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "23.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "33" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "23.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "34" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "23.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "35" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "27.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "36" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "27.26", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "37" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "38" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "39" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "40" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "41" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "27.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "42" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "27.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "43" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "27.26", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "44" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "45" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "46" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "47" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "48" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "27.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "49" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "27.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "50" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "27.26", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "51" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "52" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "53" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "54" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "55" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "27.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "56" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "32.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "57" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "32.8", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "58" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "32.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "59" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "32.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "60" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "25.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "61" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "27.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "62" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "27.26", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "63" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "64" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "65" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "66" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "67" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "27.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "68" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "27.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "69" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "27.26", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "70" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "71" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "72" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "73" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "74" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "27.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "75" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "27.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "76" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "27.26", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "77" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "78" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "79" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "80" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "81" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "27.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "82" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "32.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "83" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "32.8", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "84" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "32.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "85" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "32.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "86" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "25.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "87" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "27.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "88" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "27.26", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "89" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "90" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "91" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "92" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "93" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "27.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "94" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "27.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "95" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "27.26", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "96" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "97" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "98" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "99" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "100" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "27.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "101" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "27.18", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "102" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "27.26", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "103" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "104" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "105" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "106" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "107" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "27.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "108" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "32.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "109" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "32.8", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "110" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "32.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "111" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "32.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "112" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "25.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "113" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "20.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } } } @@ -1557,39 +1671,42 @@ "24" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "22.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "28" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "23.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } + }, + "directTemplateArgs" : { + }, "transitiveImportSet" : [ ], "instanceMap" : [ [ { - "InterfaceComponentInstance" : { - "astNodeId" : 24 - } + "InterfaceComponentInstance" : 24 }, { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "22.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ], [ { - "InterfaceComponentInstance" : { - "astNodeId" : 28 - } + "InterfaceComponentInstance" : 28 }, { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "23.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } ] ], @@ -1627,9 +1744,7 @@ "unconnectedPortSet" : [ { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 24 - } + "InterfaceComponentInstance" : 24 }, "portInstance" : { "General" : { @@ -1671,9 +1786,7 @@ }, { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 24 - } + "InterfaceComponentInstance" : 24 }, "portInstance" : { "General" : { @@ -1715,9 +1828,7 @@ }, { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 24 - } + "InterfaceComponentInstance" : 24 }, "portInstance" : { "Special" : { @@ -1750,9 +1861,7 @@ }, { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 24 - } + "InterfaceComponentInstance" : 24 }, "portInstance" : { "Special" : { @@ -1785,9 +1894,7 @@ }, { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 28 - } + "InterfaceComponentInstance" : 28 }, "portInstance" : { "General" : { @@ -1829,9 +1936,7 @@ }, { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 28 - } + "InterfaceComponentInstance" : 28 }, "portInstance" : { "General" : { @@ -1873,9 +1978,7 @@ }, { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 28 - } + "InterfaceComponentInstance" : 28 }, "portInstance" : { "Special" : { @@ -1908,9 +2011,7 @@ }, { "interfaceInstance" : { - "InterfaceComponentInstance" : { - "astNodeId" : 28 - } + "InterfaceComponentInstance" : 28 }, "portInstance" : { "Special" : { @@ -2045,6 +2146,18 @@ "nodeId" : 28, "unqualifiedName" : "c2" } + }, + "114" : { + "Module" : { + "nodeId" : 4, + "unqualifiedName" : "Fw" + } + }, + "115" : { + "Module" : { + "nodeId" : 4, + "unqualifiedName" : "Fw" + } } }, "valueMap" : { @@ -2222,7 +2335,8 @@ "256" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "28.7", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } } } @@ -2235,7 +2349,8 @@ "512" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/telemetryPackets.fpp", "pos" : "32.5", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } } } diff --git a/compiler/tools/fpp-to-json/test/types.ref.txt b/compiler/tools/fpp-to-json/test/types.ref.txt index 78c35d41fb..18ef00ebc3 100644 --- a/compiler/tools/fpp-to-json/test/types.ref.txt +++ b/compiler/tools/fpp-to-json/test/types.ref.txt @@ -1125,622 +1125,746 @@ "0" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "1.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "1" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "1.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "2" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "2.40", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "3" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "2.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "4" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "4.35", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "5" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "4.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "6" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "5.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "7" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "5.37", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "8" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "5.25", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "9" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "5.50", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "10" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "5.55", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "11" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "5.60", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "12" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "5.48", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "13" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "5.73", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "14" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "5.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "15" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "6.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "16" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "6.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "17" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "6.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "18" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "6.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "19" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "6.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "20" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "11.6", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "21" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "11.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "22" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "11.6", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "23" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "11.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "24" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "13.6", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "25" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "13.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "26" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "13.6", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "27" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "13.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "28" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "9.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "29" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "11.6", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "30" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "11.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "31" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "11.6", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "32" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "11.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "33" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "13.6", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "34" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "13.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "35" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "13.6", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "36" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "13.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "37" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "9.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "38" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "16.20", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "39" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "16.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "40" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "16.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "41" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "16.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "42" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "16.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "43" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "16.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "44" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "17.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "45" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "17.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "46" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "17.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "47" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "17.20", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "48" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "17.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "49" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "17.20", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "50" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "17.23", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "51" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "17.20", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "52" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "17.40", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "53" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "17.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "54" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "18.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "55" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "18.13", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "56" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "18.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "57" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "18.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "58" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "18.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "59" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "18.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "60" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "18.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "61" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "18.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "62" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "18.41", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "63" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "18.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "64" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "20.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "65" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "21.14", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "66" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "21.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "67" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "21.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "68" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "21.17", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "69" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "21.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "70" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "25.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "71" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "25.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "72" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "25.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "73" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "25.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "74" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "26.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "75" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "26.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "76" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "26.12", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "77" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "26.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "78" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "27.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "79" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "27.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "80" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "27.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "81" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "27.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "82" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "27.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "83" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "27.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "84" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "27.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "85" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "27.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "86" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "27.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "87" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "27.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "88" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "27.16", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "89" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "27.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "90" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "24.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "91" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "31.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "92" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "31.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "93" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "31.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "94" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "32.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "95" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "32.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "96" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "32.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "97" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "32.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "98" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "32.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "99" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "32.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "100" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "32.10", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "101" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "32.21", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "102" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "32.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "103" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "30.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "104" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "35.24", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "105" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "35.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "106" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "35.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "107" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "35.27", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "108" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "35.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "109" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "37.31", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "110" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "37.34", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "111" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "37.45", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "112" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "37.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "113" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "40.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "114" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "41.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "115" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "42.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "116" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "43.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "117" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "43.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "118" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "43.3", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "119" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "39.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "120" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "46.26", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "121" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "46.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "122" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "47.15", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" }, "123" : { "file" : "[ local path prefix ]/compiler/tools/fpp-to-json/test/types.fpp", "pos" : "47.1", - "includingLoc" : "None" + "includingLoc" : "None", + "expandingLoc" : "None" } } } @@ -1987,7 +2111,8 @@ "value" : "3" } } - ] + ], + "scalar" : "None" }, "t" : { "node" : { @@ -2104,7 +2229,8 @@ "value" : "3" } } - ] + ], + "scalar" : "None" }, "t" : { "node" : { @@ -2170,7 +2296,8 @@ "value" : "3" } } - ] + ], + "scalar" : "None" }, "t" : { "node" : { @@ -2214,7 +2341,8 @@ "value" : "3" } } - ] + ], + "scalar" : "None" }, "t" : { "node" : { @@ -2258,7 +2386,8 @@ "value" : "3" } } - ] + ], + "scalar" : "None" }, "t" : { "node" : { @@ -2283,7 +2412,8 @@ } } } - ] + ], + "scalar" : "None" }, "t" : { "node" : { @@ -2331,7 +2461,8 @@ "value" : "3" } } - ] + ], + "scalar" : "None" }, "t" : { "node" : { @@ -2847,7 +2978,8 @@ } } } - ] + ], + "scalar" : "None" }, "t" : { "node" : { @@ -3035,7 +3167,8 @@ } } } - ] + ], + "scalar" : "None" }, "t" : { "node" : { @@ -3502,7 +3635,8 @@ } } } - ] + ], + "scalar" : "None" }, "t" : { "node" : { @@ -3746,7 +3880,8 @@ } } } - ] + ], + "scalar" : "None" }, "t" : { "node" : { @@ -4041,7 +4176,8 @@ } } } - ] + ], + "scalar" : "None" }, "t" : { "node" : { @@ -4291,7 +4427,8 @@ } } } - ] + ], + "scalar" : "None" }, "t" : { "node" : { @@ -4758,7 +4895,8 @@ } } } - ] + ], + "scalar" : "None" }, "t" : { "node" : { @@ -5599,7 +5737,8 @@ } } } - ] + ], + "scalar" : "None" }, "t" : { "node" : { @@ -5841,7 +5980,8 @@ } } } - ] + ], + "scalar" : "None" }, "t" : { "node" : { @@ -6335,7 +6475,8 @@ "value" : "3" } } - ] + ], + "scalar" : "None" } }, "15" : { diff --git a/compiler/tools/fpp/src/main/scala/fpp-format.scala b/compiler/tools/fpp/src/main/scala/fpp-format.scala index 7d019f29b0..c41a0fa13b 100644 --- a/compiler/tools/fpp/src/main/scala/fpp-format.scala +++ b/compiler/tools/fpp/src/main/scala/fpp-format.scala @@ -12,6 +12,7 @@ object FPPFormat { case class Options( include: Boolean = false, + templates: Boolean = false, files: List[File] = List() ) @@ -23,7 +24,11 @@ object FPPFormat { } Result.seq( ToolUtils.parseFiles(files), - List(resolveIncludes (options) _, writeFpp (options) _) + List( + resolveIncludes (options) _, + expandTemplates (options) _, + writeFpp (options) _ + ) ) } @@ -33,13 +38,30 @@ object FPPFormat { def resolveIncludes(options: Options)(tul: List[Ast.TransUnit]): Result.Result[List[Ast.TransUnit]] = { - options.include match { + // Expanding templates requires includes to be resolved first + (options.include || options.templates) match { case true => ResolveSpecInclude.transUnitList(Analysis(), tul).map(_._2) case false => Right(tul) } } + def expandTemplates(options: Options)(tul: List[Ast.TransUnit]): + Result.Result[List[Ast.TransUnit]] = + { + options.templates match { + case true => { + val a = Analysis() + for { + a <- EnterSymbols.visitList(a, tul, EnterSymbols.transUnit) + a_tul <- ResolveTemplates.transUnit(a, tul) + tul <- Right(a_tul._2) + } yield tul + } + case false => Right(tul) + } + } + def writeFpp(options: Options)(tul: List[Ast.TransUnit]): Result.Result[List[Ast.TransUnit]] = { @@ -60,6 +82,9 @@ object FPPFormat { opt[Unit]('i', "include") .action((_, c) => c.copy(include = true)) .text("resolve include specifiers"), + opt[Unit]('t', "template") + .action((_, c) => c.copy(templates = true)) + .text("expand module templates (also resolves includes)"), help('h', "help").text("print this message and exit"), arg[String]("file ...") .unbounded() diff --git a/compiler/tools/fpp/src/main/scala/fpp-locate-defs.scala b/compiler/tools/fpp/src/main/scala/fpp-locate-defs.scala index 392858b2b5..65c9c75c7e 100644 --- a/compiler/tools/fpp/src/main/scala/fpp-locate-defs.scala +++ b/compiler/tools/fpp/src/main/scala/fpp-locate-defs.scala @@ -24,7 +24,10 @@ object FPPLocateDefs { case list => list } for { - tul <- ToolUtils.parseFilesAndResolveAsts(Analysis(), files).map(_._2) + aTul <- ToolUtils.parseFilesAndResolveAsts(Analysis(), files) + a <- Right(aTul._1) + tul <- Right(aTul._2) + tul <- expandTemplates(a, tul) } yield { val config = LocateDefsFppWriter.State(options.dir) @@ -33,6 +36,24 @@ object FPPLocateDefs { } } + /** Expand templates, returning the translation units with expanded members. + * If expansion fails (for example, because the model is incomplete), fall + * back to the unexpanded translation units so that the tool still reports + * the locations it can determine. */ + private def expandTemplates( + a: Analysis, + tul: List[Ast.TransUnit] + ): Result.Result[List[Ast.TransUnit]] = { + val result = for { + a <- EnterSymbols.visitList(a, tul, EnterSymbols.transUnit) + aTul <- ResolveTemplates.transUnit(a, tul) + } yield aTul._2 + result match { + case Right(tul) => Right(tul) + case Left(_) => Right(tul) + } + } + def toolMain(args: Array[String]) = Tool(name).mainMethod(args, oparser, Options(), command) diff --git a/compiler/tools/fpp/src/main/scala/fpp-locate-uses.scala b/compiler/tools/fpp/src/main/scala/fpp-locate-uses.scala index 20a3510c83..8af96183b9 100644 --- a/compiler/tools/fpp/src/main/scala/fpp-locate-uses.scala +++ b/compiler/tools/fpp/src/main/scala/fpp-locate-uses.scala @@ -74,6 +74,10 @@ object FPPLocateUses { case _: Symbol.Struct => Ast.SpecLoc.Type case _: Symbol.System => throw InternalError("use should not be system symbol") case _: Symbol.Topology => Ast.SpecLoc.Instance + case _: Symbol.Template => Ast.SpecLoc.Template + case _: Symbol.TemplateConstantArg => throw InternalError("use should not be template argument") + case _: Symbol.TemplateTypeArg => throw InternalError("use should not be template argument") + case _: Symbol.TemplateInterfaceArg => throw InternalError("use should not be template argument") } val isDictionaryDef = s match { case Symbol.Array(aNode) => aNode._2.data.isDictionaryDef diff --git a/compiler/tools/fpp/src/main/scala/fpp-syntax.scala b/compiler/tools/fpp/src/main/scala/fpp-syntax.scala index b808487c91..8eedeaacd3 100644 --- a/compiler/tools/fpp/src/main/scala/fpp-syntax.scala +++ b/compiler/tools/fpp/src/main/scala/fpp-syntax.scala @@ -13,6 +13,7 @@ object FPPSyntax { case class Options( ast: Boolean = false, include: Boolean = false, + templates: Boolean = false, files: List[File] = List() ) @@ -24,7 +25,11 @@ object FPPSyntax { } Result.seq( ToolUtils.parseFiles(files), - List(resolveIncludes (options) _, printAst (options) _) + List( + resolveIncludes (options) _, + expandTemplates (options) _, + printAst (options) _ + ) ) } @@ -47,13 +52,29 @@ object FPPSyntax { def resolveIncludes(options: Options)(tul: List[Ast.TransUnit]): Result.Result[List[Ast.TransUnit]] = { - options.include match { + (options.include || options.templates) match { case true => ResolveSpecInclude.transUnitList(Analysis(), tul).map(_._2) case false => Right(tul) } } + def expandTemplates(options: Options)(tul: List[Ast.TransUnit]): + Result.Result[List[Ast.TransUnit]] = + { + options.templates match { + case true => { + val a = Analysis() + for { + a <- EnterSymbols.visitList(a, tul, EnterSymbols.transUnit) + a_tul <- ResolveTemplates.transUnit(a, tul) + tul <- Right(a_tul._2) + } yield tul + } + case false => Right(tul) + } + } + val builder = OParser.builder[Options] val name = "fpp-syntax" @@ -69,6 +90,9 @@ object FPPSyntax { opt[Unit]('i', "include") .action((_, c) => c.copy(include = true)) .text("resolve include specifiers"), + opt[Unit]('t', "template") + .action((_, c) => c.copy(templates = true)) + .text("expand module templates (also resolves includes)"), help('h', "help").text("print this message and exit"), arg[String]("file ...") .unbounded() diff --git a/docs/code-prettify/run_prettify.js b/docs/code-prettify/run_prettify.js index 5cf0202be4..1c10fcd59c 100644 --- a/docs/code-prettify/run_prettify.js +++ b/docs/code-prettify/run_prettify.js @@ -436,6 +436,7 @@ var IN_GLOBAL_SCOPE = false; "event," + "every," + "exit," + + "expand," + "external," + "fatal," + "format," + @@ -498,6 +499,7 @@ var IN_GLOBAL_SCOPE = false; "sync," + "system," + "telemetry," + + "template," + "text," + "throttle," + "time," + diff --git a/docs/fpp-spec.html b/docs/fpp-spec.html index 5a8cc52b52..7f4c4e30f0 100644 --- a/docs/fpp-spec.html +++ b/docs/fpp-spec.html @@ -524,64 +524,71 @@
A definition is a unit of syntax that introduces a name N and associates some code with N.
+In FPP, there are two kinds of definitions:
+Global definitions that introduce globally visible +qualified names.
+Bound parameter definitions introduced by binding +template arguments to +template parameters within +the scope of an expanded template. +A bound parameter definition is a pair \$(p, A)\$ consisting of +a template parameter p and a template argument A. +The name associated with a bound parameter definition \$(p, A)\$ +is the identifier specified in p. +Bound parameter definitions come into scope +during +template expansion.
+Within an expanded template, a bound parameter definition may represent +a global definition, either directly or indirectly. +A bound parameter definition \$B = (p, A)\$ represents +a global definition D if (1) A +refers to D or (2) +A refers to a bound parameter definition B' that represents D.
+Not all bound parameter definitions represent global definitions. +For example, the bound parameter definition
+( constant x : U32 , 0 )
+does not represent any global definition.
+The rest of this section discusses the global definitions.
+A module template definition associates a name +with a module template. +A module template is a set of syntactic elements, each of which +becomes a member of a translation unit or a +module definition +at the point where the template is expanded. +Each template may be expanded any number of times, and +each expansion creates a distinct set of translation unit +or module members. +Templates may have parameters that become bound +to arguments +at the point of expansion.
+module template
+identifier
+[
+( template-param-list )
+]
+{
+module-member-sequence
+}
module-member-sequence is identical to the module member sequence +of a module definition.
+The identifier is the name of the template.
+No module template definition may be the ancestor in the +abstract syntax tree of another module template definition +or of a template expansion specifier. +This rule ensures that expanding a template +never causes another template to be defined or another +template expansion to occur.
+Each module template definition M that appears in a model +must pass the following analysis, regardless of whether it +is expanded.
+Expand M at the point of the definition of M, providing the following +arguments for the template +parameters:
+For each constant template parameter, a literal value of the correct type.
+For each port interface instance template argument, a component +instance definition that minimally satisfies the interface.
+For each type template argument, an abstract type definition.
+In the expansion E, do the following:
+Construct the use-def +graph, checking for cycles.
+Compute the types associated with type definition symbols, enumerated +constant symbols, and type names, except that array size expressions +and default value expressions are still unevaluated.
+Perform type checking, +except that array size expressions and default value expressions in type +definitions are still unevaluated.
+template MT(
+ constant baseId: FwIdType
+ instance comDriver: Drv.ByteStreamDriver
+) {
+
+ instance comStub: Svc.ComStub base id \
+ baseId + 0x0800
+
+ topology T {
+ instance comDriver
+ instance comStub
+
+ # Connect to the driver from the parameter list
+ connections Downlink {
+ comStub.drvSendOut -> comDriver.$send
+ comDriver.sendReturnOut -> comStub.drvSendReturnIn
+ comDriver.ready -> comStub.drvConnected
+ }
+ }
+
+}
+An port definition defines an F Prime port. A port is the endpoint of a connection between F Prime components.
@ Port 1
@@ -3018,14 +3237,14 @@ 5.10.3. Examples
A port interface definition defines a port interface and associates a name with it.
interface identifier
{ port-interface-member-sequence }
The identifier is the name of the interface.
@ A command interface
@@ -3149,7 +3368,7 @@ 5.11.3. Examples
A state machine definition defines a state machine.
state machine identifier
[ { state-machine-member-sequence } ]
An internal state machine M has the following runtime behavior:
state machine MonitorSm {
@@ -3678,13 +3897,13 @@ 5.12.4. Examples
A struct definition defines a new structure type and associates a name with it.
[
dictionary
@@ -3711,7 +3930,7 @@
The identifier is the name N of the type. The definition associates the name N with a @@ -3763,7 +3982,7 @@
# Defines a struct type A with members x and y
@@ -3798,14 +4017,14 @@ 5.13.3. Examples
A system definition defines an embedded software system. When a system definition appears in the model, it causes code and a ground dictionary to be generated.
@ The spacecraft system
@@ -3844,7 +4063,7 @@ 5.14.3. Examples
A topology definition defines an F Prime topology, that is, a set of objects with ports (component instances and subtopologies) @@ -3865,7 +4084,7 @@
[ deployment ]
topology
@@ -3907,7 +4126,7 @@
If present, the optional keyword deployment indicates that the topology
is a deployment topology.
@@ -3965,9 +4184,9 @@
Let S be the set of all topologies +represented by port +interface instance specifiers in D. Recursively resolve all the topologies in S.
For each connection C discovered in step 3, check that each @@ -4018,22 +4237,27 @@
. I, and do the following:
If E is a component instance endpoint, -then do nothing.
+If E is a component +instance endpoint, check that the associated +port interface +of the component instance contains the port instance I.
Otherwise the port instance identifier
-P appearing in E has the form Q
-. I, where Q refers to a topology T', and
-I names a port of T'.
Otherwise if E is a topology +instance endpoint, where Q refers to a topology T', then
Check that the associated port interface of T' contains the +port instance I,
+Find the topology port instance specifier port I = P' in T'.
Check that the port interface of p contains the port instance I.
+Replace B with N in the endpoint E. +Retain the port number assignment, if any, at E computed in step 1.
+Reapply steps a, b, and c to the endpoint E.
+When a topology T has a port interface instance specifier instance Q
as a member, and Q refers to a topology
@@ -4389,7 +4633,7 @@
For purposes of port numbering, FPP orders connections between component instances as follows.
@@ -4478,7 +4722,7 @@When generating a dictionary from a deployment topology T, the analyzer treats the definition of T as if it contained @@ -4491,7 +4735,7 @@
Example 1.
Example 6 (Topology Ports).
+topology A {
+
+ instance b
+
+ port p = b.p
+
+}
+
+topology B {
+
+ instance a
+
+ instance B
+
+ connections C {
+ a.p -> B.p
+ }
+
+}
+Here we have imported topology B with the instance keyword, emphasizing
+that B is to be treated as an interface instance with ports.
+We could also have used import as in the examples above.
+See the section on port
+interface instance specifiers.
Import resolution produces this topology:
+topology A {
+
+ instance a
+ instance b
+
+ connections C {
+ a.p -> b.p
+ }
+
+}
+Example 7 (Topology Templates).
+port P
+
+interface IOut {
+ output port p: P
+}
+
+passive component COut {
+ import IOut
+ output port pOther: P
+}
+
+passive component CIn {
+ sync input port p: P
+}
+
+instance cOut: COut base id 0x100
+instance cIn: CIn base id 0x200
+
+module template T(
+ # Introduce an instance by template parameter.
+ # At this point we don't know what this instance is.
+ # All we know is that it has the port interface IOut.
+ instance iOut: IOut
+) {
+ topology T {
+ # On expansion, the topology T will have two instances: iOut and cIn.
+ # iOut will refer to the bound parameter definition with name iOut.
+ # cIn will refer to the component instance cIn.
+ instance iOut
+ instance cIn
+ connections C {
+ # Connection goes from the port interface of iOut to
+ # the port interface of cIn
+ iOut.p -> cIn.p
+ # We must connect ports in the interfaces of the instances named.
+ # For example, a connection iOut.pOther -> cIn.p is not allowed here,
+ # because pOther is not in the port interface of iOut.
+ # This is true even if iOut is eventually bound to cOut, which has the
+ # output port pOther.
+ }
+ }
+}
+
+# In the expansion, the bound parameter (iOut: IOut, cOut) is in scope.
+# After resolution, the connection is cOut.p -> cIn.p.
+expand T(cOut)
+A type definition is one of the following:
Several definitions are used specially by the F Prime framework. These are called framework definitions.
The table below lists the framework constant definitions. Each row in the table has the following meaning:
@@ -4968,7 +5315,7 @@The table below lists the framework type definitions. The rows have the same meaning as stated for @@ -5094,7 +5441,7 @@
The F Prime framework provides port definitions with the following qualified names:
@@ -5145,7 +5492,7 @@If the optional keyword dictionary appears in a
type definition or
@@ -5156,7 +5503,7 @@
If a constant definition D is a dictionary definition, then the expression appearing in D must have one of the following types:
@@ -5183,7 +5530,7 @@dictionary type T = U32
@@ -6519,12 +6866,16 @@ 7.2.2. Semantics
identifier appearing in E.
-The port interface instance Q must exist in the enclosing
-topology,
+
The port interface instance Q must exist in the enclosing topology,
after
resolution to a partially numbered topology.
-If Q is a component instance, then E is a component instance endpoint.
-Otherwise Q is a topology, and E is a topology endpoint.
+If Q refers to a component
+instance definition, then E is a component instance endpoint.
+Otherwise if Q refers to a topology
+definition, then E is a topology endpoint.
+Otherwise Q refers to a port
+interface instance parameter definition, and E is a bound parameter
+endpoint.
The optional expression e following I, if it is present,
@@ -7030,7 +7381,8 @@
7.5.2. Semantics
location of the include specifier.
During parsing, the translator does the following:
+During parsing, the translator does the +following:
All include specifiers are resolved this way, even ones that occur inside or +transitively inside a template +definition.
+The suffix .fppi is conventional for included files, to distinguish them
from files presented directly for analysis or translation.
A template specifier locate template
+qual-ident at
+string-literal
A system location specifier locate system
qual-ident at
string-literal
A template specifier refers to a +template definition.
+A type location specifier refers to a type definition.
A port interface instance specifier specifies that a -component instance -I or a -topology T' +port interface instance I is part of a topology T. -I or T' provides a port interface +I provides a port interface that can be used in connections in T.
The qualified identifier must refer to a -port interface instance, -i.e., a component instance definition or a topology definition.
+port interface instance. +Every port interface instance specifier represents a component instance +definition or topology definition D. +A port interface instance specifier S represents D +if the port interface instance I to which S refers +represents D.
If the qualified identifier refers to a topology definition D, @@ -8809,83 +9179,224 @@
A topology port instance specifier specifies a -port instance in a topology definition -that is analogous to a port instance in a -component definition. -A port instance specifier in a topology T maps a name to a port instance -of a component instance that is part of T. -Such a specifier can be the endpoint of a -connection.
+A template expansion specifier names a +template +and specifies arguments for the parameters of the template. +During template expansion, it generates the definitions specified +by the template and the arguments.
port
-identifier
-=
-port-instance-id
expand
+qual-ident
+[
+( template-arg-list )
+]
template-arg-list is an +element sequence in +which the elements are template arguments, and +the terminating punctuation is a comma.
+Each template argument is one of the following:
The identifier specifies the name N of the port instance.
+A constant template argument constant expression
The port instance identifier must be valid and refer to a port instance I.
+A port interface instance template argument
+instance qual-ident
The whole specifier makes I part of the - interface of the enclosing -topology, after renaming it with name N.
+A type template argument type type-name
topology T {
- instance c1
- instance c2
-
- connections {
- c1.portInternal -> c2.portInternal
- }
-
- port portOut = c1.portOut
- port customPortName = c2.portIn
-}
-
-topology Y {
- instance T
-
- instance c3
-
- connections {
- T.portOut -> c3.portIn
- c3.portOut -> T.customPortName
- }
-}
-See also the examples for topology -definitions.
-The qualified identifier must +refer to +the definition of a +module template T.
+The number of template arguments must match the number of template +parameters in T. +If there are no parameters, then the argument list may be omitted.
+For each template parameter p, let A be the corresponding argument.
+If p is a constant template parameter, then A must be a constant +template argument. The type of the expression in A must be +convertible to the type specified in p.
+If p is an interface instance template parameter, then A +must be an interface instance template argument. +The qualified identifier in A must +refer to +a port interface instance N. +The port interface of referred to in p must be a +sub-interface of the port +interface of N.
+If p is a type template parameter, then A must be a type +template argument.
+Within the expansion generated by the +template expansion specifier, the pair \$B = (p, A)\$ is +in +scope as a definition and is called a bound parameter definition. +There are three kinds of bound parameter definitions:
+When p is a constant template parameter, B is called a +constant parameter definition.
+When p is a port interface instance template parameter, B +is called a port interface instance parameter definition.
+When p is a type template parameter, B +is called a type parameter definition.
+port P
+
+@ A basic template parameterizing an interface port count
+module template T(constant numPorts: U32) {
+
+ interface I {
+ output port p: [numPorts] P
+ }
+
+ passive component C {
+ import I
+ }
+
+}
+
+@ Instantiate the template giving the parameters concrete values
+module M {
+
+ expand T(constant 30)
+ # Bound parameter definition (constant numPorts: U32, 30)
+ # Global definition interface I { output port p: [numPorts] P }
+ # Global definition passive component C { output port p: [numPorts] P }
+
+}
+A topology port instance specifier specifies a +port instance in a topology definition +that is analogous to a port instance in a +component definition. +A port instance specifier in a topology T maps a name to a port instance +of a component instance that is part of T. +Such a specifier can be the endpoint of a +connection.
+port
+identifier
+=
+port-instance-id
The identifier specifies the name N of the port instance.
+The port instance identifier must be valid and refer to a port instance I.
+The whole specifier makes I part of the + interface of the enclosing +topology, after renaming it with name N.
+topology T {
+ instance c1
+ instance c2
+
+ connections {
+ c1.portInternal -> c2.portInternal
+ }
+
+ port portOut = c1.portOut
+ port customPortName = c2.portIn
+}
+
+topology Y {
+ instance T
+
+ instance c3
+
+ connections {
+ T.portOut -> c3.portIn
+ c3.portOut -> T.customPortName
+ }
+}
+See also the examples for topology +definitions.
+A instance member identifier is a unit of syntax that refers to a member of a component instance or a topology. @@ -9155,13 +9666,30 @@
If Q refers to a global definition D, +then Q names the +type defined in D.
+Otherwise Q refers to a bound parameter definition B. +In this case, B must be a +type template parameter +definition, and Q names the type defined in the global definition +represented by B.
+For example:
@@ -9623,19 +10151,48 @@An identifier expression is an -identifier -that refers to a -constant definition -or +
+The identifier must refer to a +constant definition, enumerated constant definition, +or bound parameter definition according to the -rules for resolving identifiers.
+rules for resolving identifiers. +If the identifier refers to a bound parameter definition B, +then B must be a constant template +parameter definition.Example:
+An identifier expression is evaluated as follows:
If the identifier refers to a constant definition or enumerated constant +definition D, then the value of the expression is the value provided +by D.
+Otherwise the identifier refers to a bound parameter definition
+\$B = (p, A)\$.
+By the rules for binding arguments
+to template parameters,
+A is constant e for some expression e.
+In this case the value is provided by evaluating the expression e.
constant a = 42
@@ -9643,6 +10200,7 @@ 10.7. Identifier Expressions
A template parameter list is an +element sequence +in which the elements are template parameters, +and the terminating punctuation is a comma.
+A template parameter is a name to which a +template argument +becomes bound when a template is expanded. +Within the scope of an expanded template, a the bound parameter is a +definition.
+Each template parameter is one of the following:
+A constant template parameter constant
+identifier : type-name
A port interface instance template parameter instance
+ identifier :
+qual-ident
A type template parameter type
+identifier
The type name in a constant template parameter must be +a valid type name.
+The qualified identifier in a port interface instance template parameter +must refer to +a port interface definition.
+constant c: U32
+instance cmdDisp: Svc.CmdDispatcher
+type T
+A format string is a string that specifies the display format @@ -10216,10 +10837,10 @@
A comment is model text that is ignored by the translator. It provides information to human readers of the source model.
@@ -10244,7 +10865,7 @@An annotation is similar to a comment, but it is attached to a @@ -10254,7 +10875,7 @@
Annotations can occur at the following syntax elements:
There are two kinds of annotations: pre-annotations and post-annotations.
@@ -10329,7 +10950,7 @@You can write several pre-annotations in a row before an annotatable element e. @@ -10370,10 +10991,10 @@
A translation unit forms part of a model at the top level. @@ -10382,7 +11003,7 @@
A translation unit is an element sequence in which each @@ -10393,7 +11014,7 @@
Here is a translation unit:
A model is a collection of one or more
translation
@@ -10460,7 +11081,7 @@ 14.2. Models
According to the -semantics +semantics of module definitions, this is also equivalent:
Every syntactic element E in a source model has an associated location L. @@ -10509,27 +11130,29 @@
A qualified identifier is one of the following:
+A qualified identifier qual-ident is one of the following:
An -identifier.
+Q . I, where Q is a qualified identifier and I is an
-identifier.
qual-ident . identifier
Examples:
+Therefore every qualified identifier consists of +a nonempty list of identifiers separated by dots.
+Examples:
Every -definition +
Global definitions: +Every global definition D appearing in an FPP model has a unique qualified name. The qualified name is a qualified identifier formed as follows:
@@ -10577,9 +11200,14 @@Bound parameter definitions: +Every bound parameter definition is referred to by an +identifier in the scope of an expanded template.
+The qualified names of definitions reside in the following name groups:
@@ -10602,6 +11230,9 @@The state machine name group
The template name group
+The system name group
Constant definitions reside in the value name group.
Constant parameter definitions reside in the value name group.
+Enum definitions reside in both the value name group and the type name group.
Module definitions reside in all the name groups.
Module template definitions reside in the template name group.
+Port definitions reside in the port name group.
Port interface definitions reside in the port interface name group.
Port interface instance parameter definitions reside in the +port interface instance name group.
+State machine definitions reside in the state machine name group, the value name group, and the type name group.
Struct type definitions reside in the type name group.
Topology definitions reside in the port interface instance name group.
+System definitions reside in the system name group.
Topology definitions reside in the topology name group.
+Type parameter definitions reside in the type name group.
Notice that elements with scopes reside in the name groups of items -that they may enclose. -For example, enums reside in the value name group because they -enclose constant definitions.
-Two definitions with the same qualified name are allowed if they are in +
Two global definitions with the same qualified name are allowed if they are in different name groups. For example:
Multiple syntactic module definitions with the same qualified name are allowed. The semantic analysis combines all such definitions into a @@ -10732,7 +11370,7 @@
Within the same name group, two definitions with the same qualified name are not allowed, unless they are both module definitions @@ -10761,36 +11399,89 @@
Within the scope of a single expanded template T, +the following rules apply:
+No two template parameters of T +in the same name group may have the same name.
+No template parameter of T may have the same name as +the unqualified name of any definition in the same name group +appearing in the expansion of T.
+The purpose of these rules is to ensure that all the template parameters +and all the definitions in the body of the template can coexist +in the same scope.
+For example, the following code violates these rules:
+module template T(constant x: U32, constant x: I32) { } # Reuse of the parameter name x
+module template T(constant x: U32) {
+ constant x = 0 # constant x conflicts with parameter x
+}
+On the other hand, this code is allowed:
+module template T(constant x: U32, type x) { } # OK: constant x, type x
+module template T(constant x: U32) {
+ type x = U32 # OK: constant x, type x
+}
+The following rules govern the resolution of identifiers, i.e., associating identifiers with definitions:
To resolve an identifier I outside of any +expanded template, do the following:
+Use the context to determine which name group -S to use. For example, if we are expecting a type name, then use the +G to use. For example, if we are expecting a type name, then use the type name group.
At the top level (outside the brace-delimited body of any definition), the +
At the top level scope (outside the brace-delimited body of any definition), the identifier I refers to the unique definition with qualified name I if it -exists in name group S. Otherwise an error results.
+exists in name group G. Otherwise an error results.Inside the brace-delimited body of a definition with +
Inside the brace-delimited scope of a definition with qualified name N appearing at the top level:
The identifier I refers to the definition with qualified name
-N . I if it exists in name group S.
. I if it exists in name group G.
Otherwise I refers to the definition with qualified name I if it -exists in name group S.
+exists in name group G.Otherwise an error results.
@@ -10799,13 +11490,13 @@Inside the brace-delimited body of a definition with qualified name +
Inside the brace-delimited scope of a definition with qualified name N appearing inside the body of a definition D:
The identifier I refers to the definition with qualified name
-N . I if it exists in name group S.
. I if it exists in name group G.
Otherwise proceed as if I were appearing inside D.
@@ -10819,78 +11510,220 @@Example:
S refers to the value name group.
+G refers to the value name group.
# Identifier M is in scope in S and refers to the qualified name M
-# Identifier a is in scope in S and refers to qualified name a
+# Identifier M is in scope in G and refers to the qualified name M
+# Identifier a is in scope in G and refers to qualified name a
-constant a = 1 # Unique definition in S with qualified name a
+constant a = 1 # Unique definition in G with qualified name a
module M {
- # Identifier M is in scope in S and refers to the qualified name M
- # Identifier N is in scope in S and refers to the qualified name N
- # Identifier a is in scope in S and refers to qualified name a
- # Identifier b is in scope in S and refers to qualified name M.b
- constant b = 2 # Unique definition in S with qualified name M.b
+ # Identifier M is in scope in G and refers to the qualified name M
+ # Identifier N is in scope in G and refers to the qualified name N
+ # Identifier a is in scope in G and refers to qualified name a
+ # Identifier b is in scope in G and refers to qualified name M.b
+ constant b = 2 # Unique definition in G with qualified name M.b
}
-# Identifier M is in scope in S and refers to the qualified name M
-# Identifier a is in scope in S and refers to qualified name a
+# Identifier M is in scope in G and refers to the qualified name M
+# Identifier a is in scope in G and refers to qualified name a
module M {
- # Identifier M is in scope in S and refers to the qualified name M
- # Identifier N is in scope in S and refers to the qualified name M.N
+ # Identifier M is in scope in G and refers to the qualified name M
+ # Identifier N is in scope in G and refers to the qualified name M.N
# Identifier a is in scope and refers to qualified name a
# Identifier b is in scope and refers to qualified name M.b
module N {
- # Identifier M is in scope in S and refers to the qualified name M
- # Identifier N is in scope in S and refers to the qualified name M.N
- # Identifier a is in scope in S and refers to qualified name a
- # Identifier b is in scope in S and refers to qualified name M.N.b
- constant b = 3 # Unique definition in S with qualified name M.N.b
+ # Identifier M is in scope in G and refers to the qualified name M
+ # Identifier N is in scope in G and refers to the qualified name M.N
+ # Identifier a is in scope in G and refers to qualified name a
+ # Identifier b is in scope in G and refers to qualified name M.N.b
+ constant b = 3 # Unique definition in G with qualified name M.N.b
}
}
-# Identifier M is in scope in S and refers to the qualified name M
-# Identifier a is in scope in S and refers to qualified name a
+# Identifier M is in scope in G and refers to the qualified name M
+# Identifier a is in scope in G and refers to qualified name a
+To resolve an identifier I inside an +expanded template, do the following:
+Let E be the expanded template containing I. +By the rules +for template definitions, E is guaranteed to be unique.
+Let T be the template definition referred to by E.
+At the point of T, temporarily insert a definition D +with a brace-delimited scope and with the following properties:
+The scope of D contains the following definitions: (a) all the + bound parameter definitions of E and (b) all the +global definitions introduced in the expansion E.
+The name of D is different from any name appearing as a qualifier in the +model. +Therefore the model uses only simple identifiers to refer to the +definitions in D.
+Use the rules stated in the previous section to resolve I +as if it appeared in D.
+Example 1:
+module M {
+ constant a = 0
+ module template T {
+ constant b = a
+ }
+}
+module N {
+ # Inside the expansion of M.T, names are resolved
+ # in a new scope at the point of the definition of M.T.
+ # So a refers to M.a, even though the expansion
+ # occurs inside N.
+ expand M.T
+}
+# The expansion introduces a definition b in module N,
+# so N.b is in scope here. Definitions introduced by
+# template expansion follow the standard rules for scoping.
+constant c = N.b
+Example 2:
+module template T(constant a: U32) {
+ constant b = a
+}
+
+# The expansion of T introduces a definition constant b = a.
+# Inside the expansion of T, the bound parameter definition
+# (constant a: U32, 0) is in scope, and the name a refers
+# to this definition.
+expand T(0)
+The standard way to implement the resolution semantics described in the +previous two sections is with stacks of scopes. +In this implementation, a scope is a map from identifiers to definitions. +At each point P in the model, there are two logical stacks for each name +group G:
+A definition stack describing how definitions at P in name group G are +nested in +enclosing definitions.
+A resolution stack describing how identifiers at P in name group G are +to be resolved.
+At each point at the top level of the model (outside of any definition), the +definition stack has one scope, the top-level scope. +At each point inside a definition, we construct the definition stack +by (1) starting with the definition stack at the point of the definition +and (2) pushing a new scope containing the global definitions in the body of +the definition.
+Outside of any expanded template, the definition stack and the resolution +stack are the same. +Inside an expanded template E that refers to a template definition T, +we construct the resolution stack by +(1) starting with the definition stack at the point of T and (2) +pushing a new scope containing the bound parameter definitions and +global definitions of E.
+In all cases, to resolve an identifier I in name group G at point P, we +search +upwards in the resolution stack for name group G at P until one of two +things happens:
+We find I as a key in some scope S. In this case I +refers to the definition to which I is mapped in S.
+We reach the top level scope S and find that I does +not exist as a key in this scope. +In this case we report an undefined symbol error.
+The following rules govern the resolution of qualified identifiers, i.e., -associating qualified identifiers with definitions:
+associating qualified identifiers Q with definitions:If a qualified identifier is an identifier, then resolve it as -stated in the +
If Q is an identifier I, then resolve I as stated in the previous section.
Otherwise, the qualified identifier has the form Q . I, where
-Q is a qualified identifier and I is an identifier. Do the
+
Otherwise Q has the form Q' . I, where
+Q' is a qualified identifier and I is an identifier. Do the
following:
Recursively resolve Q.
+Recursively resolve Q'.
If Q refers to a definition D +
If Q' refers to a definition D with a brace-delimited body, then do the following:
Determine the name group S of Q .
+
Determine the name group S of Q'
+.
I.
module M {
+constant a = 0
+module M {
constant a = 0
enum E {
b = 2
@@ -10932,16 +11766,14 @@ 15.6. Resolution o
A use is a qualified identifier -that refers to a -definition -according to the +that refers to a definition according to the scoping rules for names.
The set of definitions and non-qualifying uses @@ -11042,7 +11874,7 @@
So long as the use-def graph is acyclic, there is no @@ -11083,7 +11915,7 @@
At certain points in the analysis, the analyzer may treat an element of the model as if it contained uses of one or more @@ -11117,7 +11949,7 @@
An error also occurs if the rules for resolving dot expressions -causes an implied constant use to be resolved to a member +cause an implied constant use to be resolved to a member of a struct value instead of a constant definition. For example, suppose this definition exists in the model:
Expansion of templates performs partial analysis +and syntactic expansion. +It produces a new model in which each +template +expansion specifier S is transformed into an +expanded template \$E = S { X }\$, where X +is a copy of the syntax provided +by the template definition to which S refers. +The expanded template E is not expressible in the syntax +of the source language, but it is expressible in the internal +representation of the model. +The syntax X behaves as if it were literally included in +the model at the point of E, except that there are +special rules for resolving +resolving names that appear inside E.
+Let M be the model initially presented to the analyzer, +with include specifiers resolved. +Construct the output model M' as follows:
+Perform enough analysis on M to + check all the template +definitions and to match all template expansion + specifiers with the template definitions to which they refer.
+For each template expansion specifier S in M, +do the following:
+Let T be the template definition referred to in S.
+Let X be a copy of the syntax specified in the body of T.
+Replace S with \$S { X }\$.
+Model M:
+module M {
+
+ constant a = 0
+
+ module template T(constant b: U32) {
+
+ constant c = a + b
+
+ }
+
+}
+
+module N {
+
+ expand M.T(constant 1)
+
+}
+Model M':
+module M {
+
+ constant a = 0
+
+ module template T(constant b: U32) {
+
+ constant c = a + b
+
+ }
+
+}
+
+module N {
+
+ # The expanded template is expand M.T(constant 1) { constant c = a + b }
+ expand M.T(constant 1)
+
+}
+A type is a set of values.
The primitive integer types correspond to the primitive integer type names @@ -11155,7 +12096,7 @@
The floating-point types correspond to the floating-point type names @@ -11163,7 +12104,7 @@
The primitive integer types together with the floating-point types are @@ -11171,7 +12112,7 @@
The Boolean type corresponds to the Boolean type name. @@ -11179,7 +12120,7 @@
Together, the primitive numeric types and the @@ -11188,7 +12129,7 @@
The string types correspond to the string type names. @@ -11221,7 +12162,7 @@
An array type is a type associated with an array definition. @@ -11234,7 +12175,7 @@
An enum type is a type associated with an enum definition. @@ -11245,7 +12186,7 @@
A struct type is a type associated with a struct definition. @@ -11256,7 +12197,7 @@
An abstract type is a type associated with an abstract type definition. @@ -11267,7 +12208,7 @@
An alias type is a type associated with an alias type definition. @@ -11278,20 +12219,20 @@
Internal types do not have syntactic names in FPP source models. The compiler assigns these types to expressions during type checking.
The type Integer represents all integer values, without regard to bit width.
Integer together with the primitive integer types are called @@ -11299,7 +12240,7 @@
Integer together with the primitive numeric types are called @@ -11307,7 +12248,7 @@
The type [ n ] T, where n is an integer and T is a type, represents an array of n elements, @@ -11318,7 +12259,7 @@
The type { \$m_1\$ : \$T_1, ...,\$ \$m_n\$ : \$T_n\$ }, where each \$m_i\$ is an identifier and each \$T_i\$ is a type, @@ -11332,13 +12273,13 @@
A type is a canonical type if it is not an alias type.
The underlying type of a type T is the canonical type associated with T.
@@ -11357,7 +12298,7 @@A displayable type is a type that the F Prime ground data system can display. It is one of the following:
@@ -11390,7 +12331,7 @@A type has numeric members if its underlying type is one of the following:
@@ -11414,7 +12355,7 @@The alias list of a type \$T\$ is a list \$L\$ defined as follows:
Every type T with a syntactic name in FPP has an associated default value. @@ -11501,7 +12442,7 @@
Every displayable type has a serialized size. This is the maximum number of bytes required to @@ -11579,7 +12520,7 @@
In this section, we explain the rules used to assign types to @@ -11607,7 +12548,7 @@
The type of a
boolean
@@ -11653,7 +12594,7 @@ 18.3. Boolean Literals
The type of a
string
@@ -11661,7 +12602,7 @@ 18.4. String Literals
To type an identifier expression \$e\$, the semantic analyzer @@ -11679,7 +12620,7 @@
To type an array expression @@ -11769,7 +12710,7 @@
To type an array subscript expression @@ -11799,13 +12740,13 @@
To type a struct expression @@ -11837,7 +12778,7 @@
To type a binary expression \$e_1\$ op \$e_2\$ the semantic analyzer does the following:
@@ -11894,7 +12835,7 @@To type a binary expression \$e_1\$ op
\$e_2\$ where op is +, -, *, or /, the
@@ -11939,7 +12880,7 @@
To type a binary expression \$e_1\$ op
\$e_2\$, where op is << or >>,
@@ -11987,7 +12928,7 @@
We say that types \$T_1\$ and \$T_2\$ are identical if one of the following holds:
@@ -12053,7 +12994,7 @@We say that a type \$T_1\$ may be converted to another type \$T_2\$ if every value represented by type \$T_1\$ can be @@ -12156,9 +13097,9 @@
Here are the rules for resolving two types \$T_1\$ and \$T_2\$ (e.g., the @@ -12284,7 +13225,7 @@
To compute a common type for a list of types \$T_1, ... , T_n\$, do the following:
@@ -12311,7 +13252,7 @@A type option is one of the following:
@@ -12332,7 +13273,7 @@We say that a type option \$O_1\$ may be converted to another type option \$O_2\$ in the following cases.
@@ -12382,9 +13323,9 @@Here are the rules for resolving two type options \$O_1\$ and \$O_2\$ to a common type option \$O\$:
@@ -12442,7 +13383,7 @@To compute a common type for a list of type options \$O_1, ... , O_n\$, do the following:
@@ -12470,7 +13411,7 @@A value is one of the following:
@@ -12531,7 +13472,7 @@A primitive integer value is an ordinary (mathematical) integer value together with its canonical type, which is a @@ -12562,7 +13503,7 @@
An integer value is an ordinary (mathematical) integer value. Its canonical type is Integer. @@ -12571,7 +13512,7 @@
A floating-point value is an IEEE floating-point value of 4- or 8-byte width. Formally, the set of floating-point values is the disjoint union @@ -12594,14 +13535,14 @@
A Boolean value is one of the values true and false.
Its canonical type is bool.
A string value is a sequence of characters that can be represented as a string literal expression. @@ -12624,7 +13565,7 @@
An abstract type value is a value associated with an abstract type. @@ -12637,7 +13578,7 @@
An anonymous array value is a value associated with an anonymous array type. @@ -12669,7 +13610,7 @@
An array value is a value associated with an array type.
We write an array value like an anonymous array
@@ -12707,7 +13648,7 @@ 20.8. Array Values
An enumeration value is a value associated with an enumerated constant definition. @@ -12719,7 +13660,7 @@
An anonymous struct value is a value associated with an
anonymous struct
@@ -12739,7 +13680,7 @@ 20.10. Anonymous Struct Values
A struct value is a value associated with a struct type. @@ -12776,7 +13717,7 @@
Every value v of a displayable type has a serialized size. This is the number of bytes required to represent v @@ -12819,7 +13760,7 @@
Evaluation is the process of transforming an expression into @@ -12829,7 +13770,7 @@
Evaluation of expressions occurs as stated in the expression descriptions. Evaluation of integer @@ -12840,14 +13781,14 @@
The following rules govern the conversion of a value \$v_1\$ of canonical type \$T_1\$ to a value \$v_2\$ of canonical type \$T_2\$.
If \$T_1\$ and \$T_2\$ are primitive integer types with one signed and one unsigned, @@ -12914,7 +13855,7 @@
If \$T_1\$ is Integer and \$T_2\$ is a primitive integer type, then proceed as if \$T_1\$ were a signed primitive integer @@ -12929,7 +13870,7 @@
We use the standard rules for IEEE floating-point values to convert among integer values to and from floating-point values and @@ -12937,7 +13878,7 @@
If \$T_1\$ is a string type and \$T_2\$ is a string type, then let \$v_2 = v_1\$.
@@ -12951,7 +13892,7 @@If \$T_2\$ is an array type and \$T_1 = T_2\$, then let \$v_2 = v_1\$.
@@ -13000,7 +13941,7 @@If \$T_2\$ is a struct type and \$T_1 = T_2\$, then let \$v_2 = v_1\$.
@@ -13034,13 +13975,13 @@This section specifies the semantics of FPP ports.
A port instance I is an instantiated port instance specifier. @@ -13071,7 +14012,7 @@
A port interface is a set I of port instances. @@ -13091,10 +14032,13 @@
For every port interface definition D, there is an associated port interface I. @@ -13115,7 +14059,7 @@
For every component definition D, there is an associated port interface I. @@ -13136,7 +14080,7 @@
For every component instance definition D, there is an associated port interface I. @@ -13146,7 +14090,7 @@
For every topology definition D, there is an associated port interface I. This port interface is computed as follows. @@ -13169,24 +14113,75 @@
For every port interface instance template +parameter P, there +is an associated port interface I. +It is given by the port interface definition referred to in P.
+A port interface instance is either a -component instance definition -or a topology definition. -Each of these elements provides concrete port instances -that can serve as the endpoints of topology connections. -A port interface instance has an associated port interface I; -this is the port interface associated with the -component instance -definition or -topology definition.
+A port interface instance is one of the following:
+A port interface +instance parameter definition \$(p, A)\$, where +p is a port interface instance template +parameter, and A refers to +a port interface instance.
+Each of these elements has an associated port interface I:
+For a component instance definition D, the port interface is given by the +component definition referred to in D.
+For a topology definition, the port interface is given by the definition.
+For a port interface instance template definition \$(p, A)\$, the port +interface is specified in the parameter p.
+Each port interface instance represents a component instance definition +or topology definition D:
+A component instance definition D or topology definition D represents +D.
+A bound parameter definition B represents a definition D as +described in the section on definitions.
+A port interface I is a sub-interface of a port interface I' if the set of port instances represented by I is a subset of the set of @@ -13201,10 +14196,10 @@
Analysis is the process of checking a source model. It usually involves the following steps:
@@ -13215,13 +14210,17 @@Lexing and parsing to generate an abstract syntax tree (AST).
If step (1) succeeded, semantic analysis of the AST.
+If step (1), succeeded, analysis and expansion of +templates to generate a new AST.
+If step (2) succeeded, semantic analysis of the AST generated in step (2).
An analysis tool is a tool that reads in and analyzes FPP source files, but does not generate any code. @@ -13245,7 +14244,7 @@
Translation is the process of performing analysis and generating code.
@@ -13270,7 +14269,7 @@A translation tool is a tool that translates FPP source files. A translation tool typically accepts the following two kinds of @@ -13309,7 +14308,7 @@