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

Imports not working #93

Open
KPS250 opened this issue Oct 25, 2024 · 0 comments
Open

Imports not working #93

KPS250 opened this issue Oct 25, 2024 · 0 comments

Comments

@KPS250
Copy link

KPS250 commented Oct 25, 2024

Facing issues when we try to import custom widgets and library dependency imports.
Importing custom button widget gives error: import 'button.dart';

EvalExample.dart

import 'package:flutter/material.dart';
import 'package:flutter_eval/flutter_eval.dart';

class EvalExample extends StatelessWidget {
  const EvalExample({super.key});

  @override
  Widget build(BuildContext context) {
    return const CompilerWidget(
      packages: {
        'example': {
          'main.dart': '''
           import 'package:flutter/material.dart';
           import 'button.dart';
            
            class MyApp extends StatelessWidget {
            
              @override
              Widget build(BuildContext context) {
                return Scaffold(
                  body: Center(
                    child: Button(
                      label: 'Go Back',
                      onPressed: () {
                        Navigator.pop(context);
                      },
                    ),
                  ),
                );
              }
            }

            '''
        }
      },

      /// Specify which library (i.e. which file) to use as an entrypoint.
      library: 'package:example/main.dart',

      /// Specify which function to call as the entrypoint.
      /// To use a constructor, use "ClassName.constructorName" syntax. In
      /// this case we are calling a default constructor so the constructor
      /// name is blank.
      function: 'MyApp.',

      /// Specify the arguments to pass to the entrypoint. Generally these
      /// should be dart_eval [$Value] objects, but when invoking a static or
      /// top-level function or constructor, [int]s, [double]s, and [bool]s
      /// should be passed directly.
      args: [null],
    );
  }
}

Button.dart

import 'package:flutter/material.dart';

class Button extends StatelessWidget {
  final String label;
  final Color color;
  final double fontSize;
  final TextStyle textStyle;
  final Color textColor;
  final VoidCallback? onPressed;

  const Button({
    super.key,
    required this.label,
    this.textColor = Colors.white,
    this.fontSize = 16,
    this.textStyle = const TextStyle(fontStyle: FontStyle.normal),
    this.color = Colors.blueAccent,
    this.onPressed,
  });

  @override
  Widget build(BuildContext context) {
    return ElevatedButton(
      style: ElevatedButton.styleFrom(
        backgroundColor: color,
      ),
      onPressed: onPressed,
      child: Text(
        label,
        style: textStyle.copyWith(fontSize: fontSize,color: textColor),
      ),
    );
  }
}

Error Log:

======== Exception caught by widgets library =======================================================
The following LateError was thrown building CompilerWidget(dirty, state: _CompilerWidgetState#bb4b4):
LateInitializationError: Field 'codeCache' has not been initialized.

The relevant error-causing widget was: 
  CompilerWidget CompilerWidget:file:///Users/kiranshinde/workspace/mobile/Flutter/my_flutter/apps/example_app/lib/screens/dynamic_poc.dart:10:18
When the exception was thrown, this was the stack: 
#0      _CompilerWidgetState.codeCache (package:flutter_eval/src/flutter_eval.dart)
#1      _CompilerWidgetState.build (package:flutter_eval/src/flutter_eval.dart:166:30)
#2      StatefulElement.build (package:flutter/src/widgets/framework.dart:5599:27)
#3      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5487:15)
#4      StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5650:11)
#5      Element.rebuild (package:flutter/src/widgets/framework.dart:5203:7)
#6      ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5469:5)
#7      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5641:11)
#8      ComponentElement.mount (package:flutter/src/widgets/framework.dart:5463:5)
...     Normal element mounting (234 frames)
#242    Element.inflateWidget (package:flutter/src/widgets/framework.dart:4340:16)
#243    MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6904:36)
#244    Element.updateChild (package:flutter/src/widgets/framework.dart:3849:18)
#245    Element.updateChildren (package:flutter/src/widgets/framework.dart:4036:32)
#246    MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6929:17)
#247    Element.updateChild (package:flutter/src/widgets/framework.dart:3827:15)
#248    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5512:16)
#249    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5650:11)
#250    Element.rebuild (package:flutter/src/widgets/framework.dart:5203:7)
#251    StatefulElement.update (package:flutter/src/widgets/framework.dart:5673:5)
#252    Element.updateChild (package:flutter/src/widgets/framework.dart:3827:15)
#253    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5512:16)
#254    Element.rebuild (package:flutter/src/widgets/framework.dart:5203:7)
#255    ProxyElement.update (package:flutter/src/widgets/framework.dart:5816:5)
#256    Element.updateChild (package:flutter/src/widgets/framework.dart:3827:15)
#257    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5512:16)
#258    Element.rebuild (package:flutter/src/widgets/framework.dart:5203:7)
#259    ProxyElement.update (package:flutter/src/widgets/framework.dart:5816:5)
#260    _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:105:11)
#261    Element.updateChild (package:flutter/src/widgets/framework.dart:3827:15)
#262    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5512:16)
#263    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5650:11)
#264    Element.rebuild (package:flutter/src/widgets/framework.dart:5203:7)
#265    StatefulElement.update (package:flutter/src/widgets/framework.dart:5673:5)
#266    Element.updateChild (package:flutter/src/widgets/framework.dart:3827:15)
#267    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5512:16)
#268    Element.rebuild (package:flutter/src/widgets/framework.dart:5203:7)
#269    ProxyElement.update (package:flutter/src/widgets/framework.dart:5816:5)
#270    _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:105:11)
#271    Element.updateChild (package:flutter/src/widgets/framework.dart:3827:15)
#272    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5512:16)
#273    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5650:11)
#274    Element.rebuild (package:flutter/src/widgets/framework.dart:5203:7)
#275    StatefulElement.update (package:flutter/src/widgets/framework.dart:5673:5)
#276    Element.updateChild (package:flutter/src/widgets/framework.dart:3827:15)
#277    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5512:16)
#278    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5650:11)
#279    Element.rebuild (package:flutter/src/widgets/framework.dart:5203:7)
#280    StatefulElement.update (package:flutter/src/widgets/framework.dart:5673:5)
#281    Element.updateChild (package:flutter/src/widgets/framework.dart:3827:15)
#282    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6776:14)
#283    Element.updateChild (package:flutter/src/widgets/framework.dart:3827:15)
#284    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6776:14)
#285    Element.updateChild (package:flutter/src/widgets/framework.dart:3827:15)
#286    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5512:16)
#287    Element.rebuild (package:flutter/src/widgets/framework.dart:5203:7)
#288    ProxyElement.update (package:flutter/src/widgets/framework.dart:5816:5)
#289    Element.updateChild (package:flutter/src/widgets/framework.dart:3827:15)
#290    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5512:16)
#291    Element.rebuild (package:flutter/src/widgets/framework.dart:5203:7)
#292    ProxyElement.update (package:flutter/src/widgets/framework.dart:5816:5)
#293    Element.updateChild (package:flutter/src/widgets/framework.dart:3827:15)
#294    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5512:16)
#295    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5650:11)
#296    Element.rebuild (package:flutter/src/widgets/framework.dart:5203:7)
#297    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2905:19)
#298    WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1136:21)
#299    RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:443:5)
#300    SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1392:15)
#301    SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1313:9)
#302    SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1171:5)
#303    _invoke (dart:ui/hooks.dart:312:13)
#304    PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:419:5)
#305    _drawFrame (dart:ui/hooks.dart:283:31)
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

1 participant