Skip to content

Commit 4dac717

Browse files
committed
[ agda ] Fix AST creation
1 parent d3c1267 commit 4dac717

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

src/org/ice1000/tt/psi/agda/parser.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ class AgdaTokenType(debugName: String) : IElementType(debugName, AgdaLanguage.IN
3636
@JvmField val IDENTIFIERS = TokenSet.create(AgdaTypes.IDENTIFIER)
3737

3838
fun fromText(text: String, project: Project) = PsiFileFactory.getInstance(project).createFileFromText(AgdaLanguage.INSTANCE, text)?.firstChild
39-
fun createSignature(text: String, project: Project) = fromText(text, project) as? AgdaSignature
39+
fun createLayout(text: String, project: Project) = fromText(text, project) as? AgdaLayout
40+
fun createSignature(text: String, project: Project) = createLayout(text, project)?.firstChild as? AgdaSignature
4041
fun createExp(text: String, project: Project) = createSignature("f : $text", project)?.exp
4142
fun createStr(text: String, project: Project) = createExp(text, project) as? AgdaString
4243
}

src/org/ice1000/tt/psi/layout.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ class LayoutLexer(
113113
when (state) {
114114
WaitingForLayout -> {
115115
if (token.isCode && token.column > indentStack.peek()) {
116-
tokens.add(i, virtualToken(layoutStart, tokens[i - 1]))
116+
tokens.add(i, virtualToken(layoutStart, tokens[(i - 1).coerceAtLeast(0)]))
117117
i++
118118
indentStack.push(token.column)
119119
if (token.elementType !in layoutCreatingTokens) state = Normal

0 commit comments

Comments
 (0)