Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Frog: compiler crashes on undeclared variable #425

Closed
rakudrama opened this issue Nov 11, 2011 · 1 comment
Closed

Frog: compiler crashes on undeclared variable #425

rakudrama opened this issue Nov 11, 2011 · 1 comment
Labels
P1 A high priority bug; for example, a single project is unusable or has many test failures

Comments

@rakudrama
Copy link
Member

Compiling this program crashes Frog.
check1b.dart:
class Bogon {
  var x;
  Bogon(this.x);
}

class Foo1 {
  choop(x){}
}

main() {
  test1();
}

test1() {
  var b1 = new Bogon(6);
  var b2 = new Bogon(17);

  try {
    var b3 = b1.choop(b2);
    print(b4); /// <<<---------------------------------
  } catch (var e) {
    print('Exception $e');
  }
}

$ ~/dart-all/dart/frog/frogsh --enable_type_checks --out=t1.js check1b.dart

node.js:134
        throw e; // process.nextTick error, or 'error' event on first tick
        ^
TypeError: Cannot read property 'members' of null
    at BareValue._hasOverriddenNoSuchMethod (/usr/local/google/home/sra/dart-all/dart/frog/frogsh:19427:51)
    at BareValue.resolveMember (/usr/local/google/home/sra/dart-all/dart/frog/frogsh:19448:90)
    at BareValue.get
(/usr/local/google/home/sra/dart-all/dart/frog/frogsh:19370:21)
    at MethodGenerator.visitVarExpression (/usr/local/google/home/sra/dart-all/dart/frog/frogsh:12117:42)
    at VarExpression.visit (/usr/local/google/home/sra/dart-all/dart/frog/frogsh:18095:18)
    at MethodGenerator.visitValue (/usr/local/google/home/sra/dart-all/dart/frog/frogsh:11258:20)
    at MethodGenerator._makeArgs (/usr/local/google/home/sra/dart-all/dart/frog/frogsh:11219:19)
    at MethodGenerator.visitCallExpression (/usr/local/google/home/sra/dart-all/dart/frog/frogsh:11726:51)
    at CallExpression.visit (/usr/local/google/home/sra/dart-all/dart/frog/frogsh:17939:18)
    at MethodGenerator.visitValue (/usr/local/google/home/sra/dart-all/dart/frog/frogsh:11258:20)
$

@jmesserly
Copy link

fixed this in another change. :)

/Users/jmesserly/scratch/test.dart:20:11: error: can not resolve "b4" on "test"
    print(b4); /// <<<---------------------------------
          ^^

(full disclosure: there's also a goofy error now about 'can not resolve "noSuchMethod" on "test" ... but that's a different issue)


Added Fixed label.

@rakudrama rakudrama added Type-Defect P1 A high priority bug; for example, a single project is unusable or has many test failures labels Nov 18, 2011
copybara-service bot pushed a commit that referenced this issue Jun 2, 2022
Changes:
```
> git log --format="%C(auto) %h %s" 5699caf..e3f4bd2
 https://dart.googlesource.com/markdown.git/+/e3f4bd2 example: update CDN asset links (#435)
 https://dart.googlesource.com/markdown.git/+/a678bfc example: add GitHub markdown CSS (#434)
 https://dart.googlesource.com/markdown.git/+/bc79c43 Merge pull request #425 from dart-lang/pq-patch-1
 https://dart.googlesource.com/markdown.git/+/4e8aa03 add pub badge
 https://dart.googlesource.com/markdown.git/+/7987e1e Remove dependency on third party package:charcode.
 https://dart.googlesource.com/markdown.git/+/90995fd Split block_parser.dart and inline_parser.dart (#422)
 https://dart.googlesource.com/markdown.git/+/8bb9062 Add trailing commas to some parameter lists to get better formatting (#420)
 https://dart.googlesource.com/markdown.git/+/1c5f2e7 Enable raw strings lint rules (#418)
 https://dart.googlesource.com/markdown.git/+/4784153 Enable use_if_null_to_convert_nulls_to_bools lint rule (#417)
 https://dart.googlesource.com/markdown.git/+/0d67e99 Enable prefer_interpolation_to_compose_strings (#416)
 https://dart.googlesource.com/markdown.git/+/5561351 Enable prefer_final_locals lint rule (#415)
 https://dart.googlesource.com/markdown.git/+/6d39147 Create DelimiterSyntax to replace TagSyntax (#407)
 https://dart.googlesource.com/markdown.git/+/4f4e899 Add caseSensitive parameter on the InlineSyntax constructor (#400)
 https://dart.googlesource.com/markdown.git/+/e16aff0 Check parser.isDone when title is null in _parseInlineBracketedLink (#394)
 https://dart.googlesource.com/markdown.git/+/3471578 Use `Uri.toFilePath()` instead of `Uri.path` for locating tests (#396)

```

Diff: https://dart.googlesource.com/markdown.git/+/5699cafa9ef004875fd7de8ae9ea00e5295e87a4~..e3f4bd28c9e61b522f75f291d4d6cfcfeccd83ee/
Change-Id: Ie04b17dfcce57fcd9e814bd8b9a09677a91136d6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/246984
Auto-Submit: Devon Carew <devoncarew@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
This issue was closed.
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
P1 A high priority bug; for example, a single project is unusable or has many test failures
Projects
None yet
Development

No branches or pull requests

2 participants