-
-
Notifications
You must be signed in to change notification settings - Fork 925
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Truffle] Better tracking of parentSourcePosition in the AST translat…
…ors.
- 9.4.12.0
- 9.4.11.0
- 9.4.10.0
- 9.4.9.0
- 9.4.8.0
- 9.4.7.0
- 9.4.6.0
- 9.4.5.0
- 9.4.4.0
- 9.4.3.0
- 9.4.2.0
- 9.4.1.0
- 9.4.0.0
- 9.3.15.0
- 9.3.14.0
- 9.3.13.0
- 9.3.12.0
- 9.3.11.0
- 9.3.10.0
- 9.3.9.0
- 9.3.8.0
- 9.3.7.0
- 9.3.6.0
- 9.3.5.0
- 9.3.4.0
- 9.3.3.0
- 9.3.2.0
- 9.3.1.0
- 9.3.0.0
- 9.2.21.0
- 9.2.20.1
- 9.2.20.0
- 9.2.19.0
- 9.2.18.0
- 9.2.17.0
- 9.2.16.0
- 9.2.15.0
- 9.2.14.0
- 9.2.13.0
- 9.2.12.0
- 9.2.11.1
- 9.2.11.0
- 9.2.10.0
- 9.2.9.0
- 9.2.8.0
- 9.2.7.0
- 9.2.6.0
- 9.2.5.0
- 9.2.4.1
- 9.2.4.0
- 9.2.3.0
- 9.2.2.0
- 9.2.1.0
- 9.2.0.0
- 9.1.17.0
- 9.1.16.0
- 9.1.15.0
- 9.1.14.0
- 9.1.13.0
- 9.1.12.0
- 9.1.11.0
- 9.1.10.0
- 9.1.9.0
- 9.1.8.0
- 9.1.7.0
- 9.1.6.0
- 9.1.5.0
- 9.1.4.0
- 9.1.3.0
- 9.1.2.0
- 9.1.1.0
- 9.1.0.0
- 9.0.5.0
- 9.0.4.0
- 9.0.3.0
- 9.0.1.0
- 9.0.0.0
- 9.0.0.0.rc2
- 9.0.0.0.rc1
- 9.0.0.0.pre2
Showing
5 changed files
with
19 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -21,6 +21,7 @@ | |
import java.util.Arrays; | ||
import java.util.HashSet; | ||
import java.util.Set; | ||
import java.util.Stack; | ||
|
||
public abstract class Translator extends org.jruby.ast.visitor.AbstractNodeVisitor<RubyNode> { | ||
|
||
|
@@ -32,7 +33,7 @@ public abstract class Translator extends org.jruby.ast.visitor.AbstractNodeVisit | |
protected final RubyContext context; | ||
protected final Source source; | ||
|
||
protected SourceSection parentSourceSection; | ||
protected Stack<SourceSection> parentSourceSection = new Stack<>(); | ||
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong.
eregon
Member
|
||
|
||
public Translator(Node currentNode, RubyContext context, Source source) { | ||
this.currentNode = currentNode; | ||
|
@@ -46,10 +47,10 @@ protected SourceSection translate(org.jruby.lexer.yacc.ISourcePosition sourcePos | |
|
||
public SourceSection translate(Source source, org.jruby.lexer.yacc.ISourcePosition sourcePosition) { | ||
if (sourcePosition == InvalidSourcePosition.INSTANCE) { | ||
if (parentSourceSection == null) { | ||
if (parentSourceSection.peek() == null) { | ||
throw new UnsupportedOperationException("Truffle doesn't want invalid positions - find a way to give me a real position!"); | ||
} else { | ||
return parentSourceSection; | ||
return parentSourceSection.peek(); | ||
} | ||
} else if (sourcePosition instanceof DetailedSourcePosition) { | ||
final DetailedSourcePosition detailedSourcePosition = (DetailedSourcePosition) sourcePosition; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Stack
is softly deprecated - it's a legacy class based onVector
and is fully synchronised. It's like the oldStringBuffer
class. You probably wantDeque
andArrayDeque
.