platform/packages/vscode/jael_language_server/lib/src/object.dart
Tobe O 24d8c0515d Add 'packages/vscode/' from commit '58c04d96c28dc5750e87520b36d526cd692ed2bc'
git-subtree-dir: packages/vscode
git-subtree-mainline: 0aca1c51de
git-subtree-split: 58c04d96c2
2020-02-15 18:28:59 -05:00

32 lines
664 B
Dart

import 'dart:collection';
import 'package:source_span/source_span.dart';
abstract class JaelObject {
final FileSpan span;
final usages = <SymbolUsage>[];
String get name;
JaelObject(this.span);
}
class JaelCustomElement extends JaelObject {
final String name;
final attributes = new SplayTreeSet<String>();
JaelCustomElement(this.name, FileSpan span) : super(span);
}
class JaelVariable extends JaelObject {
final String name;
JaelVariable(this.name, FileSpan span) : super(span);
}
class SymbolUsage {
final SymbolUsageType type;
final FileSpan span;
SymbolUsage(this.type, this.span);
}
enum SymbolUsageType { definition, read }