Comments (5)
This appears to be the answer - it looks like the Position.longString
method is what we want. Too tired to actually write the method atm though.
from decaf.
That looks exactly right to me.
from decaf.
Getting it to caret underline the whole token is actually gonna be Hard - we need to somehow pass the offset up all the way from the DecafToken
to the ASTNode
to the TypeAnnotation
which is gonna be a pain.
from decaf.
Does it really really matter about the full offset? By that I mean, we indicate the position with a good amount of clarity. If JJ doesn't like the way that we do it, then yeah, we might have to put more carets under the phrase in question. But - if this is just about underlining the specific DecafToken, it really shouldn't matter all that much. You could just repeat the caret for the number of characters in the token's text. We should only actually need the full offset IF we were required to underline the complete expression, etc
from decaf.
This should be closable as of 385196
from decaf.
Related Issues (20)
- Add detection for invalid function parameters HOT 2
- Add detection for invalid use of `.` HOT 4
- Add detection for improper statements HOT 3
- Fix positions being subtly wrong HOT 1
- Caret underline whole statements in error reporting HOT 1
- Make everything more functional/idiomatic
- Not all classes get a 'this' HOT 2
- Class inheritence never checked HOT 6
- Class overrides go unchecked HOT 1
- Class inheritance cycles incorrectly/improperly detected HOT 4
- Print statement should be type checked as though it were a call
- Array has no such field "length" HOT 1
- Implement code generation for operators samples HOT 1
- Implement code generation for while-loop samples HOT 1
- Implement codegen for for-loop statements HOT 2
- Implement codegen for function calls HOT 7
- Implement IO code gen HOT 2
- AST is on fire
- Array code generation
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from decaf.