@@ -1172,6 +1172,71 @@ module private PrintTastMemberOrVals =
11721172let resL = stat--- ( nameL^^ wordL( tagPunctuation" :" ) ^^ ( tauL--- ( WordL.keywordWith^^ WordL.keywordSet)))
11731173 prettyTyparInst, resL
11741174
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))
1235+ prettyTyparInst, resL
1236+
1237+ let prettyLayoutOfMemberNoInstShort denv v =
1238+ prettyLayoutOfMemberShort denv emptyTyparInst v|> snd
1239+
11751240let private layoutNonMemberVal denv ( tps , v : Val , tau , cxs ) =
11761241let env = SimplifyTypes.CollectInfotrue [ tau] cxs
11771242let cxs = env.postfixConstraints
@@ -1998,9 +2063,12 @@ let stringOfExnDef denv x = x |> TastDefinitionPrinting.layoutExnDef
19982063let stringOfFSAttrib denv x = x|> PrintTypes.layoutAttrib denv|> squareAngleL|> showL
19992064let stringOfILAttrib denv x = x|> PrintTypes.layoutILAttrib denv|> squareAngleL|> showL
20002065
2066+
2067+
20012068let layoutInferredSigOfModuleExpr showHeader denv infoReader ad m expr = InferredSigPrinting.layoutInferredSigOfModuleExpr showHeader denv infoReader ad m expr
20022069let prettyLayoutOfValOrMember denv typarInst v = PrintTastMemberOrVals.prettyLayoutOfValOrMember denv typarInst v
2003- let prettyLayoutOfValOrMemberNoInst denv v = PrintTastMemberOrVals.prettyLayoutOfValOrMemberNoInst denv v
2070+ let prettyLayoutOfValOrMemberNoInst denv v = PrintTastMemberOrVals.prettyLayoutOfValOrMemberNoInst denv v
2071+ let prettyLayoutOfMemberNoInstShort denv v = PrintTastMemberOrVals.prettyLayoutOfMemberNoInstShort denv v
20042072let prettyLayoutOfInstAndSig denv x = PrintTypes.prettyLayoutOfInstAndSig denv x
20052073
20062074/// Generate text for comparing two types.