Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
28 lines (22 loc) · 888 Bytes

File metadata and controls

28 lines (22 loc) · 888 Bytes
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
-- | Semantic functionality for Java programs.
module Language.Java
( Term(..)
, Language.Java.Grammar.tree_sitter_java
) where
import qualified AST.Unmarshal as TS
import Data.Proxy
import qualified Language.Java.AST as Java
import qualified Language.Java.Grammar (tree_sitter_java)
import qualified Language.Java.Tags as JavaTags
import Scope.Graph.Convert
import qualified Tags.Tagging.Precise as Tags
newtype Term a = Term { getTerm :: Java.Program a }
instance TS.SymbolMatching Term where
matchedSymbols _ = TS.matchedSymbols (Proxy :: Proxy Java.Program)
showFailure _ = TS.showFailure (Proxy :: Proxy Java.Program)
instance TS.Unmarshal Term where
matchers = fmap (fmap (TS.hoist Term)) TS.matchers
instance Tags.ToTags Term where
tags src = Tags.runTagging src . JavaTags.tags . getTerm
instance ToScopeGraph Term where
scopeGraph = undefined
Morty Proxy This is a proxified and sanitized view of the page, visit original site.