Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prototyping TypeLambda and MatchType #1

Open
wants to merge 27 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
2847a1c
Add Singature information for Semanticdb
tanishiking Jun 20, 2021
d21fe59
Reset local symbol index for each TextDocument, updateExpect
tanishiking Jun 24, 2021
9c6015e
PrettyPrint signature and update metac.expect
tanishiking Jun 24, 2021
90177c6
Integrate SymbolInformationOps into Scala3#SymbolOps
tanishiking Jun 24, 2021
de36d34
Model WithType for AndType
tanishiking Jun 24, 2021
7dd91ad
Resolve ParamRef by constructing SymbolTable
tanishiking Jun 29, 2021
226e26f
Lookup symbols for refinements in RefinedType and RecType
tanishiking Jun 29, 2021
58fd3d5
Re-insert assertion to localIdx
tanishiking Jun 29, 2021
0325a22
Convert AndType to IntersectionType
tanishiking Jul 2, 2021
3cad5f3
Refactor enterRefined
tanishiking Jul 3, 2021
a3e1f53
Refactor: move all extension (of Symbol) method into Scala3
tanishiking Jul 3, 2021
75bc739
Don't add type parameters as parameters to MethodSignature
tanishiking Jul 3, 2021
e99daa7
TypeLambda
tanishiking Jul 1, 2021
f13b2d1
MatchType
tanishiking Jul 2, 2021
233c851
Update the protobuf schema for TypeLambda and MatchType
tanishiking Jul 5, 2021
56f8fc8
updateExpect
tanishiking Jul 5, 2021
fa167bc
Refactor not to use isInstanceOf for designator of TypeRef and TermRef
tanishiking Jul 6, 2021
5af0737
Use intersection type for the parent of RefinedType
tanishiking Jul 6, 2021
f509613
Convert wildcard type as ExistentialType
tanishiking Jul 6, 2021
139491b
Use finalResultType for MethodSignature to get actual return type.
tanishiking Jul 7, 2021
a8a137c
Register the symbol of nested method with "actual" binder
tanishiking Jul 7, 2021
5b0a549
Remove unused parameter sym from toSemanticType
tanishiking Jul 7, 2021
5359f22
Fix pprint issue for SingleType
tanishiking Jul 7, 2021
9a0d3ac
Convert symbols to local index for funParamSymbol
tanishiking Jul 7, 2021
a524093
Merge branch 'master' into semanticdb-signature
tanishiking Jul 7, 2021
c32df73
Merge branch 'semanticdb-signature' into typelambda-match
tanishiking Jul 7, 2021
b63ae56
Embed bound information of MatchType to TypeSignature
tanishiking Jul 7, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fix pprint issue for SingleType
When the prefix of SingleType is Type.Emtpy, we had been printing them
as `<?>.sym.type`, but it should be `sym.type`
tanishiking committed Jul 7, 2021
commit 5359f2272ac79faed51088d01c2522cecaa55261
6 changes: 5 additions & 1 deletion compiler/src/dotty/tools/dotc/semanticdb/PPrint.scala
Original file line number Diff line number Diff line change
@@ -140,7 +140,11 @@ class SymbolInfomationPrinter (symtab: PrinterSymtab):
val argsStr = if (args.nonEmpty) args.map(normal).mkString("[", ", ", "]") else ""
s"${preStr}${pprintRef(sym)}${argsStr}"
case SingleType(pre, sym) =>
s"${prefix(pre)}.${pprintRef(sym)}"
pre match {
case Type.Empty => pprintRef(sym)
case _ =>
s"${prefix(pre)}.${pprintRef(sym)}"
}
case ThisType(sym) =>
s"${pprintRef(sym)}.this"
case SuperType(pre, sym) =>
Loading