Skip to content

Commit

Permalink
Parse and ignore private members
Browse files Browse the repository at this point in the history
  • Loading branch information
sbrunk committed Oct 19, 2017
1 parent 6c47bd3 commit 95a6d44
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 1 deletion.
2 changes: 2 additions & 0 deletions samples/modifiers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ declare module modifiers {
readonly scheme: string;
readonly authority: string;
readonly path: string;
private cache;
private updateCache();
}

}
2 changes: 2 additions & 0 deletions src/main/scala/org/scalajs/tools/tsimporter/Importer.scala
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}
Expand Down
2 changes: 2 additions & 0 deletions src/main/scala/org/scalajs/tools/tsimporter/Trees.scala
Original file line number Diff line number Diff line change
Expand Up @@ -174,4 +174,6 @@ object Trees {

case class FunctionMember(name: PropertyName, optional: Boolean,
signature: FunSignature, modifiers: Modifiers) extends MemberTree

case object PrivateMember extends MemberTree
}
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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)

Expand Down

0 comments on commit 95a6d44

Please sign in to comment.