8000 不支持泛型 · Issue #30 · XianyuTech/aspectd · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

不支持泛型 #30

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

Closed
lizhangqu opened this issue Nov 18, 2019 · 2 comments
Closed

不支持泛型 #30

lizhangqu opened this issue Nov 18, 2019 · 2 comments

Comments

@lizhangqu
Copy link
lizhangqu commented Nov 18, 2019

Flutter version: v1.9.1+hotfix.4

Dependency:

dependencies:
  flutter:
    sdk: flutter
  aspectd:
    git:
      url: git@github.com:alibaba-flutter/aspectd.git
      ref: v1.9.1

Reproduce code

add the code to main.dart

T testGenericType<T>(Map<T, dynamic> param) {
  return null;
}

Exception

Transformer terminated unexpectedly. 
Unhandled exception:
Invalid argument(s): Type parameter T is not indexed
#0      TypeParameterIndexer.[] (package:kernel/binary/ast_to_binary.dart:2487:8)
#1      BinaryPrinter.visitTypeParameterType (package:kernel/binary/ast_to_binary.dart:2076:38)
#2      TypeParameterType.accept (package:kernel/ast.dart:5498:34)
#3      BinaryPrinter.writeNode (package:kernel/binary/ast_to_binary.dart:379:10)
#4      LimitedBinaryPrinter.writeNode (package:kernel/binary/limited_ast_to_binary.dart:59:11)
#5      BinaryPrinter.writeNodeList (package:kernel/binary/ast_to_binary.dart:298:7)
#6      BinaryPrinter.visitInterfaceType (package:kernel/binary/ast_to_binary.dart:2016:7)
#7      InterfaceType.accept (package:kernel/ast.dart:5192:34)
#8      BinaryPrinter.writeNode (package:kernel/binary/ast_to_binary.dart:379:10)
#9      LimitedBinaryPrinter.writeNode (package:kernel/binary/limited_ast_to_binary.dart:59:11)
#10     BinaryPrinter.visitAsExpression (package:kernel/binary/ast_to_binary.dart:1569:5)
#11     AsExpression.accept (package:kernel/ast.dart:3637:36)
#12     BinaryPrinter.writeNode (package:kernel/binary/ast_to_binary.dart:379:10)
#13     LimitedBinaryPrinter.writeNode (package:kernel/binary/limited_ast_to_binary.dart:59:11)
#14     BinaryPrinter.writeNodeList (package:kernel/binary/ast_to_binary.dart:298:7)
#15     BinaryPrinter.visitArguments (package:kernel/binary/ast_to_binary.dart:1465:5)
#16     Arguments.accept (package:kernel/ast.dart:2955:30)
#17     BinaryPrinter.writeArgumentsNode (package:kernel/binary/ast_to_binary.dart:393:10)
#18     BinaryPrinter.visitStaticInvocation (package:kernel/binary/ast_to_binary.dart:1448:5)
#19     StaticInvocation.accept (package:kernel/ast.dart:3177:36)
#20     BinaryPrinter.writeNode (package:kernel/binary/ast_to_binary.dart:379:10)
#21     LimitedBinaryPrinter.writeNode (package:kernel/binary/limited_ast_to_binary.dart:59:11)
#22     BinaryPrinter.writeOptionalNode (package:kernel/binary/ast_to_binary.dart:465:7)
#23     BinaryPrinter.visitReturnStatement (package:kernel/binary/ast_to_binary.dart:1897:5)
#24     ReturnStatement.accept (package:kernel/ast.dart:4577:35)
#25     BinaryPrinter.writeNode (package:kernel/binary/ast_to_binary.dart:379:10)
#26     LimitedBinaryPrinter.writeNode (package:kernel/binary/limited_ast_to_binary.dart:59:11)
#27     BinaryPrinter.writeNodeList (package:kernel/binary/ast_to_binary.dart:298:7)
#28     BinaryPrinter.visitBlock (package:kernel/binary/ast_to_binary.dart:1756:5)
#29     Block.accept (package:kernel/ast.dart:4156:35)
#30     BinaryPrinter.writeNode (package:kernel/binary/ast_to_binary.dart:379:10)
#31     LimitedBinaryPrinter.writeNode (package:kernel/binary/limited_ast_to_binary.dart:59:11)
#32     BinaryPrinter.writeOptionalNode (package:kernel/binary/ast_to_binary.dart:465:7)
#33     BinaryPrinter.visitFunctionNode (package:kernel/binary/ast_to_binary.dart:1296:5)
#34     FunctionNode.accept (package:kernel/ast.dart:2322:30)
#35     BinaryPrinter.writeFunctionNode (package:kernel/binary/ast_to_binary.dart:386:10)
#36     BinaryPrinter.writeOptionalFunctionNode (package:kernel/binary/ast_to_binary.dart:474:7)
#37     BinaryPrinter.visitProcedure (package:kernel/binary/ast_to_binary.dart:1172:5)
#38     Procedure.accept (package:kernel/ast.dart:1984:32)
#39     BinaryPrinter.writeProcedureNode (package:kernel/binary/ast_to_binary.dart:407:10)
#40     BinaryPrinter.writeProcedureNodeList (package:kernel/binary/ast_to_binary.dart:307:7)
#41     BinaryPrinter.visitClass (package:kernel/binary/ast_to_binary.dart:1100:5)
#42     Class.accept (package:kernel/ast.dart:1043:30)
#43     BinaryPrinter.writeClassNode (package:kernel/binary/ast_to_binary.dart:421:10)
#44     BinaryPrinter.writeClassNodeList (package:kernel/binary/ast_to_binary.dart:325:7)
#45     BinaryPrinter.visitLibrary (package:kernel/binary/ast_to_binary.dart:933:5)
#46     Library.accept (package:kernel/ast.dart:468:30)
#47     BinaryPrinter.writeLibraryNode (package:kernel/binary/ast_to_binary.dart:400:10)
#48     LimitedBinaryPrinter.writeLibraries (package:kernel/binary/limited_ast_to_binary.dart:52:31)
#49     BinaryPrinter.writeComponentFile (package:kernel/binary/ast_to_binary.dart:541:5)
#50     DillOps.writeDillFile (/path/to/aspectd/util/dill_ops.dart:51:13)
<asynchronous suspension>
#51     main (/path/to/aspectd/tool/starter.dart:46:11)
#52     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:303:32)
#53     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:12)

用flutter master分支的话出现的异常堆栈有所不同,具体可自测

@kangwang1988
Copy link
Contributor

@lizhangqu
Please provide a demo project which can help me to reproduce this issue.

@lizhangqu
Copy link
Author
lizhangqu commented Nov 19, 2019

@kangwang1988
aspectd用v1.9.1分支,flutter用v1.9.1+hotfix.4的版本,把下面的代码加到demo工程中即可复现

https://github.com/alibaba-flutter/aspectd/blob/master/example/lib/main.dart

T testGenericType<T>(Map<T, dynamic> param) {
  return null;
}

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
0