Skip to content
New issue

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

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

Already on GitHub? Sign in 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in 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