File: VariableAccessEvaluable.java

package info (click to toggle)
liblessen-java 1.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 276 kB
  • sloc: java: 2,981; xml: 31; makefile: 5
file content (22 lines) | stat: -rw-r--r-- 546 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package com.metaweb.lessen.expr;

import com.metaweb.lessen.Scope;
import com.metaweb.lessen.tokens.Token;


public class VariableAccessEvaluable implements Evaluable {
    final protected Token _token;
    final protected String _name;
    
    public VariableAccessEvaluable(Token token, String name) {
        _token = token;
        _name = name;
    }
    
    @Override
    public Token eval(Scope scope) {
        Object obj = scope.get(_name);
        
        return (obj != null && obj instanceof Token) ? (Token) obj : _token;
    }
}