@@ -1108,13 +1108,20 @@ module private PrintTypes =
11081108
11091109/// Printing TAST objects
11101110module private PrintTastMemberOrVals =
1111- open PrintTypes
1112- let private prettyLayoutOfMember denv typarInst ( v : Val ) =
1111+ open PrintTypes
1112+ let private prettyLayoutOfMemberShortOption denv typarInst ( v : Val ) short =
11131113let v = mkLocalValRef v
11141114let membInfo = Option.get v.MemberInfo
11151115let stat = PrintTypes.layoutMemberFlags membInfo.MemberFlags
11161116let _tps , argInfos , rty , _ = GetTypeOfMemberInFSharpForm denv.g v
11171117
1118+ if shortthen
1119+ for argInfoin argInfosdo
1120+ for _, infoin argInfodo
1121+ info.Attribs<- []
1122+ info.Name<- None
1123+
1124+
11181125let mkNameL niceMethodTypars tagFunction name =
11191126let nameL =
11201127 DemangleOperatorNameAsLayout( tagFunction>> mkNav v.DefinitionRange) name
@@ -1130,14 +1137,20 @@ module private PrintTastMemberOrVals =
11301137match membInfo.MemberFlags.MemberKindwith
11311138| MemberKind.Member->
11321139let prettyTyparInst , niceMethodTypars , tauL = prettyLayoutOfMemberType denv v typarInst argInfos rty
1133- let nameL = mkNameL niceMethodTypars tagMember v.LogicalName
1134- let resL = stat--- ( nameL^^ WordL.colon^^ tauL)
1140+ let resL =
1141+ if shortthen tauL
1142+ else
1143+ let nameL = mkNameL niceMethodTypars tagMember v.LogicalName
1144+ stat--- ( nameL^^ WordL.colon^^ tauL)
11351145 prettyTyparInst, resL
11361146| MemberKind.ClassConstructor
11371147| MemberKind.Constructor->
11381148let prettyTyparInst , _ , tauL = prettyLayoutOfMemberType denv v typarInst argInfos rty
1139- let newL = layoutAccessibility denv v.Accessibility WordL.keywordNew
1140- let resL = stat++ newL^^ wordL( tagPunctuation" :" ) ^^ tauL
1149+ let resL =
1150+ if shortthen tauL
1151+ else
1152+ let newL = layoutAccessibility denv v.Accessibility WordL.keywordNew
1153+ stat++ newL^^ wordL( tagPunctuation" :" ) ^^ tauL
11411154 prettyTyparInst, resL
11421155| MemberKind.PropertyGetSet->
11431156 emptyTyparInst, stat
@@ -1146,7 +1159,9 @@ module private PrintTastMemberOrVals =
11461159// use error recovery because intellisense on an incomplete file will show this
11471160 errorR( Error( FSComp.SR.tastInvalidFormForPropertyGetter(), v.Id.idRange))
11481161let nameL = mkNameL[] tagProperty v.CoreDisplayName
1149- let resL = stat--- nameL--- ( WordL.keywordWith^^ WordL.keywordGet)
1162+ let resL =
1163+ if shortthen nameL--- ( WordL.keywordWith^^ WordL.keywordGet)
1164+ else stat--- nameL--- ( WordL.keywordWith^^ WordL.keywordGet)
11501165 emptyTyparInst, resL
11511166else
11521167let argInfos =
@@ -1155,8 +1170,13 @@ module private PrintTastMemberOrVals =
11551170| _ -> argInfos
11561171
11571172let prettyTyparInst , niceMethodTypars , tauL = prettyLayoutOfMemberType denv v typarInst argInfos rty
1158- let nameL = mkNameL niceMethodTypars tagProperty v.CoreDisplayName
1159- let resL = stat--- ( nameL^^ WordL.colon^^ ( if isNil argInfosthen tauLelse tauL--- ( WordL.keywordWith^^ WordL.keywordGet)))
1173+ let resL =
1174+ if shortthen
1175+ if isNil argInfosthen tauL
1176+ else tauL--- ( WordL.keywordWith^^ WordL.keywordGet)
1177+ else
1178+ let nameL = mkNameL niceMethodTypars tagProperty v.CoreDisplayName
1179+ stat--- ( nameL^^ WordL.colon^^ ( if isNil argInfosthen tauLelse tauL--- ( WordL.keywordWith^^ WordL.keywordGet)))
11601180 prettyTyparInst, resL
11611181| MemberKind.PropertySet->
11621182if argInfos.Length<> 1 || isNil argInfos.Headthen
@@ -1168,74 +1188,18 @@ module private PrintTastMemberOrVals =
11681188else
11691189let argInfos , valueInfo = List.frontAndBack argInfos.Head
11701190let prettyTyparInst , niceMethodTypars , tauL = prettyLayoutOfMemberType denv v typarInst( if isNil argInfosthen [] else [ argInfos]) ( fst valueInfo)
1171- let nameL = mkNameL niceMethodTypars tagProperty v.CoreDisplayName
1172- let resL = stat--- ( nameL^^ wordL( tagPunctuation" :" ) ^^ ( tauL--- ( WordL.keywordWith^^ WordL.keywordSet)))
1173- prettyTyparInst, resL
1174-
1175- let prettyLayoutOfMemberShort denv typarInst ( v : Val ) =
1176- let v = mkLocalValRef v
1177- let membInfo = Option.get v.MemberInfo
1178- let stat = PrintTypes.layoutMemberFlags membInfo.MemberFlags
1179- let _tps , argInfos , rty , _ = GetTypeOfMemberInFSharpForm denv.g v
1180-
1181- for argInfoin argInfosdo
1182- for _, infoin argInfodo
1183- info.Attribs<- []
1184- info.Name<- None
1185-
1186- let mkNameL niceMethodTypars tagFunction name =
1187- let nameL =
1188- DemangleOperatorNameAsLayout( tagFunction>> mkNav v.DefinitionRange) name
1189- let nameL =
1190- if denv.showMemberContainersthen
1191- layoutTyconRef denv v.MemberApparentEntity^^ SepL.dot^^ nameL
1192- else
1193- nameL
1194- let nameL = if denv.showTyparBindingthen layoutTyparDecls denv nameLtrue niceMethodTyparselse nameL
1195- let nameL = layoutAccessibility denv v.Accessibility nameL
1196- nameL
1197-
1198- match membInfo.MemberFlags.MemberKindwith
1199- | MemberKind.Member->
1200- let prettyTyparInst , _ , tauL = prettyLayoutOfMemberType denv v typarInst argInfos rty
1201- prettyTyparInst, tauL
1202- | MemberKind.ClassConstructor
1203- | MemberKind.Constructor->
1204- let prettyTyparInst , _ , tauL = prettyLayoutOfMemberType denv v typarInst argInfos rty
1205- prettyTyparInst, tauL
1206- | MemberKind.PropertyGetSet->
1207- emptyTyparInst, stat
1208- | MemberKind.PropertyGet->
1209- if isNil argInfosthen
1210- // use error recovery because intellisense on an incomplete file will show this
1211- errorR( Error( FSComp.SR.tastInvalidFormForPropertyGetter(), v.Id.idRange))
1212- let nameL = mkNameL[] tagProperty v.CoreDisplayName
1213- let resL = nameL--- ( WordL.keywordWith^^ WordL.keywordGet)
1214- emptyTyparInst, resL
1215- else
1216- let argInfos =
1217- match argInfoswith
1218- | [[( ty,_)]] when isUnitTy denv.g ty-> []
1219- | _ -> argInfos
1220-
1221- let prettyTyparInst , _ , tauL = prettyLayoutOfMemberType denv v typarInst argInfos rty
1222- let resL = (( if isNil argInfosthen tauLelse tauL--- ( WordL.keywordWith^^ WordL.keywordGet)))
1223- prettyTyparInst, resL
1224- | MemberKind.PropertySet->
1225- if argInfos.Length<> 1 || isNil argInfos.Headthen
1226- // use error recovery because intellisense on an incomplete file will show this
1227- errorR( Error( FSComp.SR.tastInvalidFormForPropertySetter(), v.Id.idRange))
1228- let nameL = mkNameL[] tagProperty v.CoreDisplayName
1229- let resL = nameL--- ( WordL.keywordWith^^ WordL.keywordSet)
1230- emptyTyparInst, resL
1231- else
1232- let argInfos , valueInfo = List.frontAndBack argInfos.Head
1233- let prettyTyparInst , _ , tauL = prettyLayoutOfMemberType denv v typarInst( if isNil argInfosthen [] else [ argInfos]) ( fst valueInfo)
1234- let resL = ( tauL--- ( WordL.keywordWith^^ WordL.keywordSet))
1191+ let resL =
1192+ if shortthen
1193+ ( tauL--- ( WordL.keywordWith^^ WordL.keywordSet))
1194+ else
1195+ let nameL = mkNameL niceMethodTypars tagProperty v.CoreDisplayName
1196+ stat--- ( nameL^^ wordL( tagPunctuation" :" ) ^^ ( tauL--- ( WordL.keywordWith^^ WordL.keywordSet)))
12351197 prettyTyparInst, resL
1236-
1198+
1199+ let private prettyLayoutOfMemberShort denv typarInst ( v : Val ) = prettyLayoutOfMemberShortOption denv typarInst vfalse
1200+
12371201let prettyLayoutOfMemberNoInstShort denv v =
1238- prettyLayoutOfMemberShort denv emptyTyparInst v|> snd
1202+ prettyLayoutOfMemberShortOption denv emptyTyparInst vtrue |> snd
12391203
12401204let private layoutNonMemberVal denv ( tps , v : Val , tau , cxs ) =
12411205let env = SimplifyTypes.CollectInfotrue [ tau] cxs