Skip to content

Commit dce67db

Browse files
authored
Fix null pointer errors in references (#256)
1 parent 67f65a6 commit dce67db

File tree

3 files changed

+17
-6
lines changed

3 files changed

+17
-6
lines changed

CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
## 2.0.3
2+
3+
### Module Migrator
4+
5+
* Fixes some crashes due to null pointer errors.
6+
17
## 2.0.2
28

39
### Calc Functions Interpolation Migrator

lib/src/migrators/module/references.dart

+9-4
Original file line numberDiff line numberDiff line change
@@ -616,8 +616,9 @@ class _ReferenceVisitor extends ScopedAstVisitor {
616616
var declaration = _scopeForNamespace(namespace).findVariable(node.name);
617617
if (declaration != null && !_fromForwardRuleInCurrent(declaration)) {
618618
_variables[node] = declaration;
619-
var source = _declarationSources[declaration];
620-
if (source != null) _sources[node] = source;
619+
if (_declarationSources[declaration] case var source?) {
620+
_sources[node] = source;
621+
}
621622
} else if (namespace == null) {
622623
_unresolvedReferences[node] = currentScope;
623624
}
@@ -645,7 +646,9 @@ class _ReferenceVisitor extends ScopedAstVisitor {
645646
var declaration = _scopeForNamespace(namespace).findMixin(node.name);
646647
if (declaration != null && !_fromForwardRuleInCurrent(declaration)) {
647648
_mixins[node] = declaration;
648-
_sources[node] = _declarationSources[declaration]!;
649+
if (_declarationSources[declaration] case var source?) {
650+
_sources[node] = source;
651+
}
649652
} else if (namespace == null) {
650653
_unresolvedReferences[node] = currentScope;
651654
}
@@ -673,7 +676,9 @@ class _ReferenceVisitor extends ScopedAstVisitor {
673676
var declaration = _scopeForNamespace(namespace).findFunction(node.name);
674677
if (declaration != null && !_fromForwardRuleInCurrent(declaration)) {
675678
_functions[node] = declaration;
676-
_sources[node] = _declarationSources[declaration]!;
679+
if (_declarationSources[declaration] case var source?) {
680+
_sources[node] = source;
681+
}
677682
return;
678683
} else if (namespace == null) {
679684
if (node.name == 'get-function') {

pubspec.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: sass_migrator
2-
version: 2.0.2
2+
version: 2.0.3
33
description: A tool for running migrations on Sass files
44
homepage: https://github.com/sass/migrator
55

@@ -15,7 +15,7 @@ dependencies:
1515
js: ^0.6.3
1616
meta: ^1.3.0
1717
node_interop: ^2.0.2
18-
node_io: ^2.2.0
18+
node_io: ^2.3.0
1919
path: ^1.8.0
2020
sass_api: ^9.2.7
2121
source_span: ^1.8.1

0 commit comments

Comments
 (0)