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 cannot resolve unimplemented methods in abstract classes #318

Closed
peter-ahe-google opened this issue Nov 3, 2011 · 1 comment
Closed

Comments

@peter-ahe-google
Copy link
Contributor

Consider:

interface Interface {
  interfaceMethod();
}

/* abstract */ class AbstractClass implements Interface {
  toString() => interfaceMethod();
}

class ConcreteClass extends AbstractClass {
  interfaceMethod() => 'fisk';
}

If I add:

main() {
  print(new ConcreteClass());
}

It should print:

fisk

Instead it prints:

[object Object]

If I change main to:

main() {
  print(new ConcreteClass().toString());
}

It should still print:

fisk

Instead this happens:

abstract.dart:6:17: warning: can not resolve interfaceMethod
  toString() => interfaceMethod();
                ^^^^^^^^^^^^^^^

node.js:205
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
ReferenceError: interfaceMethod is not defined
    at ConcreteClass.toString (/private/var/folders/++/++3l3+++6+0++4RjPqRgNE+-QFE/-Tmp-/tmpM5kqWA/out.js:368:10)
    at print (/private/var/folders/++/++3l3+++6+0++4RjPqRgNE+-QFE/-Tmp-/tmpM5kqWA/out.js:339:24)
    at main (/private/var/folders/++/++3l3+++6+0++4RjPqRgNE+-QFE/-Tmp-/tmpM5kqWA/out.js:378:3)
    at Object.<anonymous> (/private/var/folders/++/++3l3+++6+0++4RjPqRgNE+-QFE/-Tmp-/tmpM5kqWA/out.js:390:1)
    at Module._compile (module.js:416:26)
    at Object..js (module.js:434:10)
    at Module.load (module.js:335:31)
    at Function._load (module.js:294:12)
    at Array.<anonymous> (module.js:454:10)
    at EventEmitter._tickCallback (node.js:197:26)

@jmesserly
Copy link

both of these are working now:

test.dart:6:17: warning: can not resolve "interfaceMethod" on "AbstractClass"
  toString() => interfaceMethod();
                ^^^^^^^^^^^^^^^^^
fisk


Added Fixed label.

nex3 pushed a commit that referenced this issue Aug 31, 2016
Speed Travis CI up with some caching & faster fails
copybara-service bot pushed a commit that referenced this issue Nov 2, 2023
…lob, http_multi_server, http_parser, json_rpc_2, mockito, native, package_config, pool, sync_http, usage, webkit_inspection_protocol

Revisions updated by `dart tools/rev_sdk_deps.dart`.

args (https://github.com/dart-lang/args/compare/df9b428..46d5033):
  46d5033  2023-11-01  dependabot[bot]  Bump dart-lang/setup-dart from 1.5.1 to 1.6.0 (#258)
  5f7c8b5  2023-11-01  dependabot[bot]  Bump actions/checkout from 4.1.0 to 4.1.1 (#259)

bazel_worker (https://github.com/dart-lang/bazel_worker/compare/b1b6a66..3d9cd58):
  3d9cd58  2023-11-02  dependabot[bot]  Bump actions/checkout from 4.1.0 to 4.1.1 (#83)
  1d7bed3  2023-11-01  dependabot[bot]  Bump dart-lang/setup-dart from 1.5.1 to 1.6.0 (#84)

benchmark_harness (https://github.com/dart-lang/benchmark_harness/compare/59aea95..e59f675):
  e59f675  2023-11-01  dependabot[bot]  Bump actions/checkout from 4.1.0 to 4.1.1 (#96)
  1899e39  2023-11-01  dependabot[bot]  Bump dart-lang/setup-dart from 1.5.1 to 1.6.0 (#95)

collection (https://github.com/dart-lang/collection/compare/d27bfaf..e8d7e92):
  e8d7e92  2023-11-02  dependabot[bot]  Bump actions/checkout from 4.1.0 to 4.1.1 (#318)
  1f5c234  2023-11-01  dependabot[bot]  Bump dart-lang/setup-dart from 1.5.1 to 1.6.0 (#319)

file (https://github.com/google/file.dart/compare/e7c03aa..cd3a932):
  cd3a932  2023-11-01  dependabot[bot]  Bump actions/checkout from 3.6.0 to 4.1.1 (#232)

glob (https://github.com/dart-lang/glob/compare/0046533..7c9a121):
  7c9a121  2023-11-01  dependabot[bot]  Bump dart-lang/setup-dart from 1.5.1 to 1.6.0 (#86)
  713142b  2023-11-01  dependabot[bot]  Bump actions/checkout from 4.1.0 to 4.1.1 (#85)

http_multi_server (https://github.com/dart-lang/http_multi_server/compare/03041aa..2238a6b):
  2238a6b  2023-11-01  dependabot[bot]  Bump actions/checkout from 4.1.0 to 4.1.1 (#60)

http_parser (https://github.com/dart-lang/http_parser/compare/c557f57..1cf5b7c):
  1cf5b7c  2023-11-02  dependabot[bot]  Bump dart-lang/setup-dart from 1.5.1 to 1.6.0 (#80)
  cb6f142  2023-11-01  dependabot[bot]  Bump actions/checkout from 4.1.0 to 4.1.1 (#81)

json_rpc_2 (https://github.com/dart-lang/json_rpc_2/compare/0521afb..460545c):
  460545c  2023-11-01  dependabot[bot]  Bump dart-lang/setup-dart from 1.5.1 to 1.6.0 (#105)
  189b1a8  2023-11-01  dependabot[bot]  Bump actions/checkout from 4.1.0 to 4.1.1 (#106)

mockito (https://github.com/dart-lang/mockito/compare/b7d752e..fcb9779):
  fcb9779  2023-11-01  dependabot[bot]  Bump actions/checkout from 4.1.0 to 4.1.1 (#713)
  1c4a6ff  2023-11-01  dependabot[bot]  Bump dart-lang/setup-dart from 1.5.1 to 1.6.0 (#712)

native (https://github.com/dart-lang/native/compare/de9d59e..c72ed16):
  c72ed16  2023-11-01  Daco Harkes  [native_toolchain_c] Bump version to 0.3.2 (#184)
  4c9a50f  2023-11-01  Daco Harkes  [native_toolchain_c] Add workaround for minSdkVersion 19 and 20 (#181)
  45b5e6c  2023-11-01  Daco Harkes  [infra] Bump NDK version (#183)

package_config (https://github.com/dart-lang/package_config/compare/100533d..33dd246):
  33dd246  2023-11-01  dependabot[bot]  Bump actions/checkout from 4.1.0 to 4.1.1 (#144)
  30c8f25  2023-11-01  dependabot[bot]  Bump dart-lang/setup-dart from 1.5.1 to 1.6.0 (#143)

pool (https://github.com/dart-lang/pool/compare/c78cef4..3c1bd42):
  3c1bd42  2023-11-01  dependabot[bot]  Bump actions/checkout from 4.1.0 to 4.1.1 (#77)

sync_http (https://github.com/dart-lang/sync_http/compare/8233f74..d8e9f3d):
  d8e9f3d  2023-11-01  dependabot[bot]  Bump actions/checkout from 3.6.0 to 4.1.1 (#40)
  c59b6d4  2023-11-01  dependabot[bot]  Bump dart-lang/setup-dart from 1.5.0 to 1.6.0 (#41)

usage (https://github.com/dart-lang/usage/compare/d7d2964..e99690a):
  e99690a  2023-11-02  dependabot[bot]  Bump dart-lang/setup-dart from 1.5.1 to 1.6.0 (#201)
  a540a6d  2023-11-01  dependabot[bot]  Bump actions/checkout from 4.1.0 to 4.1.1 (#200)

webkit_inspection_protocol (https://github.com/google/webkit_inspection_protocol.dart/compare/2c6f8b6..667c55e):
  667c55e  2023-11-01  dependabot[bot]  Bump dart-lang/setup-dart from 1.5.0 to 1.6.0 (#113)

Change-Id: Ie6f2f0df0060cd77b9d56dc40172c134605417e7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/333680
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Auto-Submit: Devon Carew <devoncarew@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
None yet
Projects
None yet
Development

No branches or pull requests

2 participants