From 95a6d44930e03d74487da9df54d97388d86ccdbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6ren=20Brunk?= Date: Thu, 19 Oct 2017 13:05:52 +0200 Subject: [PATCH] Parse and ignore private members --- samples/modifiers.ts | 2 ++ src/main/scala/org/scalajs/tools/tsimporter/Importer.scala | 2 ++ src/main/scala/org/scalajs/tools/tsimporter/Trees.scala | 2 ++ .../org/scalajs/tools/tsimporter/parser/TSDefParser.scala | 5 ++++- 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/samples/modifiers.ts b/samples/modifiers.ts index 6c2431ac..f71ee614 100644 --- a/samples/modifiers.ts +++ b/samples/modifiers.ts @@ -37,6 +37,8 @@ declare module modifiers { readonly scheme: string; readonly authority: string; readonly path: string; + private cache; + private updateCache(); } } diff --git a/src/main/scala/org/scalajs/tools/tsimporter/Importer.scala b/src/main/scala/org/scalajs/tools/tsimporter/Importer.scala index 3ebfd12d..b63fa339 100644 --- a/src/main/scala/org/scalajs/tools/tsimporter/Importer.scala +++ b/src/main/scala/org/scalajs/tools/tsimporter/Importer.scala @@ -188,6 +188,8 @@ class Importer(val output: java.io.PrintWriter) { setterSym.resultType = TypeRef.Unit setterSym.isBracketAccess = true + case PrivateMember => // ignore + case _ => owner.members += new CommentSymbol("??? "+member) } diff --git a/src/main/scala/org/scalajs/tools/tsimporter/Trees.scala b/src/main/scala/org/scalajs/tools/tsimporter/Trees.scala index a80aa9b4..d4ebb976 100644 --- a/src/main/scala/org/scalajs/tools/tsimporter/Trees.scala +++ b/src/main/scala/org/scalajs/tools/tsimporter/Trees.scala @@ -174,4 +174,6 @@ object Trees { case class FunctionMember(name: PropertyName, optional: Boolean, signature: FunSignature, modifiers: Modifiers) extends MemberTree + + case object PrivateMember extends MemberTree } diff --git a/src/main/scala/org/scalajs/tools/tsimporter/parser/TSDefParser.scala b/src/main/scala/org/scalajs/tools/tsimporter/parser/TSDefParser.scala index b00d78b2..31de0567 100644 --- a/src/main/scala/org/scalajs/tools/tsimporter/parser/TSDefParser.scala +++ b/src/main/scala/org/scalajs/tools/tsimporter/parser/TSDefParser.scala @@ -262,7 +262,7 @@ class TSDefParser extends StdTokenParsers with ImplicitConversions { memberBlock ^^ ObjectType lazy val memberBlock: Parser[List[MemberTree]] = - "{" ~> rep(typeMember <~ opt(";" | ",")) <~ "}" + "{" ~> rep((typeMember | privateMember) <~ opt(";" | ",")) <~ "}" lazy val typeMember: Parser[MemberTree] = callMember | constructorMember | indexMember | namedMember @@ -284,6 +284,9 @@ class TSDefParser extends StdTokenParsers with ImplicitConversions { ) } + lazy val privateMember = + "private" ~> propertyName ~ opt(functionSignature) ^^^ PrivateMember + lazy val modifiers: Parser[Modifiers] = rep(modifier).map(_.toSet)