未验证 提交 01d2cc61 编写于 作者: F Florian Verdonck 提交者: GitHub

Add "class end" for TFSharpObjectRepr without decls. (#13349)

* Add "class end" for TFSharpObjectRepr without decls.

* Take object model kind into account.
上级 5021aa44
......@@ -1988,8 +1988,18 @@ module TastDefinitionPrinting =
|> aboveListL
|> addLhs
| TFSharpObjectRepr _ when isNil allDecls ->
lhsL
| TFSharpObjectRepr objRepr when isNil allDecls ->
match objRepr.fsobjmodel_kind with
| TFSharpClass ->
WordL.keywordClass ^^ WordL.keywordEnd
|> addLhs
| TFSharpInterface ->
WordL.keywordInterface ^^ WordL.keywordEnd
|> addLhs
| TFSharpStruct ->
WordL.keywordStruct ^^ WordL.keywordEnd
|> addLhs
| _ -> lhsL
| TFSharpObjectRepr _ ->
allDecls
......
......@@ -45,6 +45,8 @@ module WordL =
let keywordFalse = wordL TaggedText.keywordFalse
let bar = wordL TaggedText.bar
let keywordStruct = wordL TaggedText.keywordStruct
let keywordClass = wordL TaggedText.keywordClass
let keywordInterface = wordL TaggedText.keywordInterface
let keywordInherit = wordL TaggedText.keywordInherit
let keywordBegin = wordL TaggedText.keywordBegin
let keywordEnd = wordL TaggedText.keywordEnd
......
......@@ -84,6 +84,8 @@ module internal WordL =
val keywordFalse: Layout
val bar: Layout
val keywordStruct: Layout
val keywordClass: Layout
val keywordInterface: Layout
val keywordInherit: Layout
val keywordBegin: Layout
val keywordEnd: Layout
......
......@@ -232,6 +232,8 @@ module TaggedText =
let keywordGet = tagKeyword "get"
let bar = tagPunctuation "|"
let keywordStruct = tagKeyword "struct"
let keywordClass = tagKeyword "class"
let keywordInterface = tagKeyword "interface"
let keywordInherit = tagKeyword "inherit"
let keywordEnd = tagKeyword "end"
let keywordBegin = tagKeyword "begin"
......
......@@ -188,6 +188,8 @@ module internal TaggedText =
val internal keywordGet: TaggedText
val internal bar: TaggedText
val internal keywordStruct: TaggedText
val internal keywordClass: TaggedText
val internal keywordInterface: TaggedText
val internal keywordInherit: TaggedText
val internal keywordBegin: TaggedText
val internal keywordEnd: TaggedText
......
module Foo
type C = class end
type S = struct end
type I = interface end
\ No newline at end of file
......@@ -1133,7 +1133,8 @@ type 'a T4063 = | AT4063 of 'a
> type internal T2 =
{ x: int }
> type internal T3
> type internal T3 =
class end
> type internal T4 =
new: unit -> T4
......@@ -1166,7 +1167,8 @@ type 'a T4063 = | AT4063 of 'a
> type internal T2 =
private { x: int }
> type private T3
> type private T3 =
class end
> type private T4 =
new: unit -> T4
......@@ -1373,7 +1375,8 @@ val x1564_A3: int = 3
| B
type T2 =
{ x: int }
type T3
type T3 =
class end
type T4 =
new: unit -> T4
type T5 =
......@@ -1396,7 +1399,8 @@ val x1564_A3: int = 3
| B
type T12 =
private { x: int }
type private T13
type private T13 =
class end
type private T14 =
new: unit -> T14
module internal PrivateM =
......@@ -1411,7 +1415,8 @@ module internal PrivateM =
| B
type T2 =
{ x: int }
type T3
type T3 =
class end
type T4 =
new: unit -> T4
type T5 =
......@@ -1434,7 +1439,8 @@ module internal PrivateM =
| B
type T12 =
private { x: int }
type private T13
type private T13 =
class end
type private T14 =
new: unit -> T14
......
......@@ -453,7 +453,8 @@ type 'a T4063 = | AT4063 of 'a
> type internal T2 =
{ x: int }
> type internal T3
> type internal T3 =
class end
> type internal T4 =
new: unit -> T4
......@@ -486,7 +487,8 @@ type 'a T4063 = | AT4063 of 'a
> type internal T2 =
private { x: int }
> type private T3
> type private T3 =
class end
> type private T4 =
new: unit -> T4
......@@ -618,7 +620,8 @@ val x1564_A3: int = 3
| B
type T2 =
{ x: int }
type T3
type T3 =
class end
type T4 =
new: unit -> T4
type T5 =
......@@ -641,7 +644,8 @@ val x1564_A3: int = 3
| B
type T12 =
private { x: int }
type private T13
type private T13 =
class end
type private T14 =
new: unit -> T14
module internal PrivateM =
......@@ -656,7 +660,8 @@ module internal PrivateM =
| B
type T2 =
{ x: int }
type T3
type T3 =
class end
type T4 =
new: unit -> T4
type T5 =
......@@ -679,7 +684,8 @@ module internal PrivateM =
| B
type T12 =
private { x: int }
type private T13
type private T13 =
class end
type private T14 =
new: unit -> T14
......
......@@ -4090,7 +4090,8 @@ type 'a T4063 = | AT4063 of 'a
> type internal T2 =
{ x: int }
> type internal T3
> type internal T3 =
class end
> type internal T4 =
new: unit -> T4
......@@ -4123,7 +4124,8 @@ type 'a T4063 = | AT4063 of 'a
> type internal T2 =
private { x: int }
> type private T3
> type private T3 =
class end
> type private T4 =
new: unit -> T4
......@@ -4918,7 +4920,8 @@ val x1564_A3: int = 3
| B
type T2 =
{ x: int }
type T3
type T3 =
class end
type T4 =
new: unit -> T4
type T5 =
......@@ -4941,7 +4944,8 @@ val x1564_A3: int = 3
| B
type T12 =
private { x: int }
type private T13
type private T13 =
class end
type private T14 =
new: unit -> T14
module internal PrivateM =
......@@ -4956,7 +4960,8 @@ module internal PrivateM =
| B
type T2 =
{ x: int }
type T3
type T3 =
class end
type T4 =
new: unit -> T4
type T5 =
......@@ -4979,7 +4984,8 @@ module internal PrivateM =
| B
type T12 =
private { x: int }
type private T13
type private T13 =
class end
type private T14 =
new: unit -> T14
......
......@@ -4092,7 +4092,8 @@ type 'a T4063 = | AT4063 of 'a
> type internal T2 =
{ x: int }
> type internal T3
> type internal T3 =
class end
> type internal T4 =
new: unit -> T4
......@@ -4125,7 +4126,8 @@ type 'a T4063 = | AT4063 of 'a
> type internal T2 =
private { x: int }
> type private T3
> type private T3 =
class end
> type private T4 =
new: unit -> T4
......@@ -4920,7 +4922,8 @@ val x1564_A3: int = 3
| B
type T2 =
{ x: int }
type T3
type T3 =
class end
type T4 =
new: unit -> T4
type T5 =
......@@ -4943,7 +4946,8 @@ val x1564_A3: int = 3
| B
type T12 =
private { x: int }
type private T13
type private T13 =
class end
type private T14 =
new: unit -> T14
module internal PrivateM =
......@@ -4958,7 +4962,8 @@ module internal PrivateM =
| B
type T2 =
{ x: int }
type T3
type T3 =
class end
type T4 =
new: unit -> T4
type T5 =
......@@ -4981,7 +4986,8 @@ module internal PrivateM =
| B
type T12 =
private { x: int }
type private T13
type private T13 =
class end
type private T14 =
new: unit -> T14
......
......@@ -280,7 +280,8 @@ type 'a T4063 = | AT4063 of 'a
> type internal T2 =
{ x: int }
> type internal T3
> type internal T3 =
class end
> type internal T4 =
new: unit -> T4
......@@ -313,7 +314,8 @@ type 'a T4063 = | AT4063 of 'a
> type internal T2 =
private { x: int }
> type private T3
> type private T3 =
class end
> type private T4 =
new: unit -> T4
......@@ -418,7 +420,8 @@ val x1564_A3: int
| B
type T2 =
{ x: int }
type T3
type T3 =
class end
type T4 =
new: unit -> T4
type T5 =
......@@ -441,7 +444,8 @@ val x1564_A3: int
| B
type T12 =
private { x: int }
type private T13
type private T13 =
class end
type private T14 =
new: unit -> T14
module internal PrivateM =
......@@ -456,7 +460,8 @@ module internal PrivateM =
| B
type T2 =
{ x: int }
type T3
type T3 =
class end
type T4 =
new: unit -> T4
type T5 =
......@@ -479,7 +484,8 @@ module internal PrivateM =
| B
type T12 =
private { x: int }
type private T13
type private T13 =
class end
type private T14 =
new: unit -> T14
......
......@@ -4092,7 +4092,8 @@ type 'a T4063 = | AT4063 of 'a
> type internal T2 =
{ x: int }
> type internal T3
> type internal T3 =
class end
> type internal T4 =
new: unit -> T4
......@@ -4125,7 +4126,8 @@ type 'a T4063 = | AT4063 of 'a
> type internal T2 =
private { x: int }
> type private T3
> type private T3 =
class end
> type private T4 =
new: unit -> T4
......@@ -4920,7 +4922,8 @@ val x1564_A3: int = 3
| B
type T2 =
{ x: int }
type T3
type T3 =
class end
type T4 =
new: unit -> T4
type T5 =
......@@ -4943,7 +4946,8 @@ val x1564_A3: int = 3
| B
type T12 =
private { x: int }
type private T13
type private T13 =
class end
type private T14 =
new: unit -> T14
module internal PrivateM =
......@@ -4958,7 +4962,8 @@ module internal PrivateM =
| B
type T2 =
{ x: int }
type T3
type T3 =
class end
type T4 =
new: unit -> T4
type T5 =
......@@ -4981,7 +4986,8 @@ module internal PrivateM =
| B
type T12 =
private { x: int }
type private T13
type private T13 =
class end
type private T14 =
new: unit -> T14
......
......@@ -3367,6 +3367,9 @@ module GeneratedSignatureTests =
[<Test>]
let ``nestedModuleInNamespace-FSC_NETFX_TEST_GENERATED_SIGNATURE`` () = singleTestBuildAndRun "core/nestedModuleInNamespace" FSC_NETFX_TEST_GENERATED_SIGNATURE
[<Test>]
let ``classStructInterface-FSC_NETFX_TEST_GENERATED_SIGNATURE`` () = singleTestBuildAndRun "core/classStructInterface" FSC_NETFX_TEST_GENERATED_SIGNATURE
#endif
#if !NETCOREAPP
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册